2

Drupal は初めてです。

いくつかのコンテンツ タイプがあり、そのうちのいくつかには Foo という特別なフィールドがあります。このフィールドの値は、コンテンツによっては 1 であり、他のコンテンツでは 2 です。

Foo が 2 に等しいコンテンツを持つすべてのコンテンツ タイプをリストするページを作成する必要があります。このリストでは、各アイテムを「some-page/$s」にリンクする必要があります。ここで、$s はコンテンツ タイプです。

最初はモジュールを作ってそのまま SQL を書こうと思ったのですが、Drupal のデータベースの構造がまだよくわからないので、Views で解決してみることにしました。必要なものはほぼ正確に完成しましたが、コンテンツタイプがハイフンの代わりにアンダースコアで印刷されているため、リンクを正しく作成できません。

何か助けはありますか?別の解決策 (ビューなし) を知っている場合は、投稿してください。

ありがとう。

4

3 に答える 3

4

ビューは間違いなく正しい道です。おそらく、露出したフィルターを使用したほうがよいでしょう。引数で要約オプションを試すこともできます。そうすれば、彼らが期待している引数を確認できます(somepage/blog-postなど)。somepage/blog_post が必要であるが、somepage/blog-post が機能する必要がある場合は、コアの 'path' モジュールでエイリアスを作成してみてください。

于 2009-11-19T13:54:44.813 に答える
2

somepage/content_typeurl を作成しますが、代わりにurlが必要somepage/content-typeです。

この問題の解決策は、何をしたいのか、なぜ-. Drupal にはパス モジュール (drupal コアの一部) があり、URL の外観を変更できます。したがって、drupal は最初の URL を最後の URL のように見せることができます。既にこの URL を作成していて、それにマップしたい場合、パス エイリアスを使用するとどうなるか正確にはわかりません。これで問題が解決するかもしれませんが、Drupal は内部的に違いを認識しているため、目的のページにアクセスできない可能性があります。

于 2009-11-19T09:10:18.077 に答える
1

アンダースコアの使用に制限されているという事実は、コンテンツ タイプの命名に関する制限によるものです。

あなたが持っている解決策はあなたの問題を解決するのに大いに役立つので、 pathautoモジュールsomepage/content_typesomepage/content-type使用することを指すパスエイリアスを作成することを試みる価値があるかもしれません.

于 2009-11-19T14:08:58.733 に答える