web-dev-qa-db-ja.com

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

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

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

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

7
PendragonDev

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

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

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

10
Jepedo

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

プロジェクトページ:

http://drupal.org/project/fences

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

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

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

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

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

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

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

同様のプロジェクトには、セマンティックフィールドField Wrappers、およびDisplay Suiteextras。しかし、このアプローチはMorefasterbetter™であると考えています。

Drupalユーザー rhache への謝辞 フェンスDrupalモジュール この質問に対する コメント でのコメント ビューによって廃止されたセマンティックビューモジュール3?

2
therobyouknow

semantic views モジュールを試してみてください。

これが言うように issue で、html5出力に役立ちます。

0
john