Posted by s-jack on March 18, 2010 at 6:11am
CCKなどでコンテンツタイプを新たに作りましたが、
コンテンツタイプごとに統一されたレイアウト、たとえばテーブル内にフィールドとそのラベルを配置して整形する、ことをモジュールで作ることはできますでしょうか。
| タイトル | あああああ | ||
| 都道府県 | 東京都 | 市区町村 | 品川区 |
| 本文 | ほげほげほげ ほげほげほげ ほげほげほげ |
||
| 作成日 | 更新日 | ||
CCKなどでコンテンツタイプを新たに作りましたが、
コンテンツタイプごとに統一されたレイアウト、たとえばテーブル内にフィールドとそのラベルを配置して整形する、ことをモジュールで作ることはできますでしょうか。
| タイトル | あああああ | ||
| 都道府県 | 東京都 | 市区町村 | 品川区 |
| 本文 | ほげほげほげ ほげほげほげ ほげほげほげ |
||
| 作成日 | 更新日 | ||
Comments
これまさに
これまさに僕もどうしてもやりたいことなんですよね。
CCKでコンテンツタイプ作るところまでは割とわかりやすくって簡単にできたんですが、Viewsは相変わらずとっつきにくくて。
ぜひぜひどなたかにご教示願いたいです。
答えじゃなくてすみません。> snakeman.jack さん
テンプレート
モジュールじゃなくて,テンプレートで対処する方法を簡単にご説明します。
node-your_content_type_name.tpl.php というファイルを使用中のテンプレートフォルダに作ります。この際,your_content_type_name のところは,レイアウトしたいコンテンツタイプの machine readable name (日本語でなんと呼ぶと適切でしょう? 機械用の呼び名?) と入れ替えてください。その中でいろいろと HTML タグや PHP を駆使して,この特定コンテンツタイプ向け HTML のひな形のようなものを作り込みます。
あとは,CSS でレイアウトを作り込めば,おっしゃっているようなことが実現可能です。
Aki Iwata
FOREST & trees
node-content_typeテンプレートを使用の際、
node-content_typeテンプレートを使用の際、
<?php print $content; ?>の変わりに以下のPHPコードが必要です。<?php print $node->field_name[0]['view']; ?>例えば、CCKコンテンツタイプはCarsであればnode-cars.tpl.phpファイルの中に以下のコードを使用できます:
<table><tr>
<td><?php print $node->field_make[0]['view']; ?></td>
<td><?php print $node->field_model[0]['view']; ?></td>
</tr>
</table>
過去の質問ですみません。 Drupal7の場合、nodeモ
過去の質問ですみません。
Drupal7の場合、nodeモジュールのnode.tpl.phpを、node--hogehoge.tpl.phpにしてオーバーライドするのは理解しているのですが、
<table><tr>
<td><?php print $node->field_make[0]['view']; ?></td>
<td><?php print $node->field_model[0]['view']; ?></td>
</tr>
</table>
の部分は同じでよいのでしょうか。
ノードオブジェクトで、
labelが_makeで、フィールドの中身が_model、配列の添字の意味も教えていただけると助かります。または記載されているdocumentを教えていただけないでしょうか。
テンプレートのオーバーライド
みなさま、ありがとうございました。
sites\all\themesの中のtemplates\overridesにありました!
オーバーライドするようになっているのですね、なるほど。
http://groups.drupal.org/node/56883
にもご教示いただいているように、firefoxのプラグインで、CSSのクラスを調べてみたいと思います。