ビュー3とHTML5-マークアップの出力をオーバーライドする方法は?


7

特定の分類用語に基づいてブログ投稿を選択し、サイトのフロントページに埋め込んだ一種の「注目の投稿」ビューを作成するために作成したビューがあります。私が引き続き直面している問題は、ビューを出力して、各投稿が新しいHTMLの一部を使用して意味的にマークアップされるようにすることです。組み込みの「このフィールドの出力を書き換える」を試しましたが、使用するタグ(つまり、記事、ヘッダー、フッター)は無視され、プレースホルダータグの選択を解除しても、すべてがdivにラップされます。

オーバーライドするビューを作成します--view_name.tpl.phpを作成して、ビューに表示される各投稿の出力を書き換えますか、または出力に影響を与えるためにtemplate.phpでプリプロセスフックを使用する必要がありますか?

私は、PHPとプリプロセスフックの記述に関する基本的な経験があることを述べなければなりませんが、正しい方向を指し示していれば、リンクを下に移動するために必要なリソースがあればそれを使用できます。

回答:


10

"Style Settings"ブロックの下のビューに、Theme:Informationへのリンクがあることに気づくでしょう。これは、ビューで呼び出されるすべてのテーマファイルを公開します。ビューの表示にのみ使用される汎用から非常に詳細なテーマファイルを使用できます。

表示出力の最初のファイル名は、views-view.tpl.phpです。それはすべてのビューとディスプレイに適用されます。リストの次は、views-view-[ビュー名] .tpl.phpです。それはあなたの見解にのみ適用されます。できるだけ具体的になるまでドリルダウンを続けます。views-view-[ビュー名]-default.tpl.phpはリストの最後のビューであり、ビューのデフォルトの表示にのみ適用されます。Display output:リンクをクリックすると、ビューが使用するテンプレートコードが表示されます。リストにある推奨の1つを使用して、新しいテンプレートファイルをコピーして作成するだけです。通常は、できるだけ具体的にするのが最善です。テンプレートファイルはテーマのどこにでも移動でき、テーマ情報のテンプレートファイルを再スキャンしてビューを保存する限り、ビューはそれを取得します。ビューテンプレート、行テンプレート、フィールドテンプレート、フィールド固有のテンプレートがあります。

ビューテンプレートファイルの操作方法を習得すると、デザインの可能性が大きく広がります。


素晴らしい!ご指摘いただきありがとうございます。これは間違いなくより多くの設計管理を可能にします。
PendragonDev 2011年

これを少し拡張して、このガイドのDrupal HTML5で言及されているHTML5ツールモジュールを検討してください。ビュー内でより多くのHTML5要素を公開します。
クリストファークーパー、

2

Fencesは、ビューの出力マークアップを制御するための素晴らしいモジュール(Drupal 7用)のように見えます。

プロジェクトページ:

http://drupal.org/project/fences

プロジェクトページから:

「フェンスは、各フィールドのHTML要素を指定するための使いやすいツールです。この要素の選択は、ティーザー、RSSフィード、ビューなど、フィールドが使用されるすべての場所に反映されます。再構成を続ける必要はありません。フィールドを表示するたびに同じHTML要素を何度も繰り返します。」

私は特にこのビットが好きです(出力のデバッグに最適):

「何よりも、FencesはDrupal 7コアよりも無駄のないマークアップを提供します!無関係なクラスも取り除くことができます!」

これもいいです-作業の繰り返しを減らします:

「この種のツールは、DrupalからセマンティックHTML5出力を作成するために必要です。そのようなツールがなければ、すべてのフィールドのテーマにカスタムフィールドテンプレートを作成する必要があります。:( "

彼らは人気のある代替案も検討しました:

同様のプロジェクトには、セマンティックフィールドフィールドラッパーDisplay Suiteエキストラ内のツールが含まれます。しかし、このアプローチはMorefasterbetter™であると考えています。

Drupalのユーザーにクレジットrhache言及用フェンスDrupalのモジュールを自分でコメントこの質問へのセマンティックビュービュー3によって廃止モジュールですか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.