他のもの(検索結果など)にテーマを設定する方法に関する情報をオンラインで見つけるのは簡単でしたが、分類法/用語/ 247ページの出力にテーマを設定する方法についての簡単な記事を見つけることは不可能ですか?
どうすればいいですか?
Drupal 6)では、テーマの_node-taxonomy.tpl.php
_ファイルと_page-taxonomy-term.tpl.php
_ファイルを使用して、2番目のファイルが最初のラッパーであることを考慮して分類ページをテンプレート化できます。 _node-taxonomy.tpl.php
_のように_node.tpl.php
_および_page-taxonomy-term.tpl.php
_のように_page.tpl.php
_。例:
page-taxonomy-term.tpl.php
_<?php require 'header.tpl.php'; ?>
<body class="<?php echo $body_classes; ?>">
<div id="page">
<?php require 'page-navigation.tpl.php'; ?>
<div id="main">
<h2>Taxonomy term page</h2>
<div class="taxonomy-content">
<?php if ($tabs): echo '<div id="tabs-wrapper" class="clear-block">'; endif; ?>
<?php if ($title && !$node): echo '<h2'. ($tabs ? ' class="with-tabs"' : '') .'>'. $title .'</h2>'; endif; ?>
<?php if ($tabs): echo '<ul class="tabs primary">'. $tabs .'</ul></div>'; endif; ?>
<?php if ($tabs2): echo '<ul class="tabs secondary">'. $tabs2 .'</ul>'; endif; ?>
<?php if ($show_messages && $messages){ echo $messages; } ?>
<?php echo $help; ?>
<?php echo $content; // contains the output of node-taxonomy.php, that's why I call this wrapper template file. ?>
</div> <!-- #taxonomy-content -->
</div> <!-- #main -->
</div> <!-- #page -->
<?php echo $closure; ?>
</body>
<?php require 'page-footer.tpl.php'; ?>
_
node-taxonomy.tpl.php
_<div id="node-<?php echo $node->nid; ?>" class="node<?php if($sticky) echo ' sticky'; ?><?php if(!$status) echo ' node-unpublished'; ?>">
<div class="taxonomy-node">
<div class="node-body">
<a class="node-title" href="<?php echo $node_url ?>" title="<?php echo $title ?>">
<?php echo $title ?>
</a>
<span class="node-cck-field">
<?php echo $node->field_cck_blah[0]['view']; ?>
</span>
</div>
</div>
</div>
_
さて、最も重要な部分:デフォルトでは_node-taxonomy.tpl.php
_はDrupalに知られていないので、これをテンプレート提案として導入する必要がありますテーマの_template.php
_ファイル、ここに行きます:
_/**
* Adding custom PHPTemplate suggestions on taxanomy pages.
*
* @param $vars
* A sequential array of variables to pass to theme template.
*/
function phptemplate_preprocess_node(&$vars) {
if(arg(0) == 'taxonomy'){
$suggestions = array('node-taxonomy');
$vars['template_files'] = array_merge($vars['template_files'], $suggestions);
}
}
_
また、Drupal 7に関して、 _taxonomy-term.tpl.php
_ があります。
これはコードサンプルです。プリントアウトでcheck_plain()
&check_url()
を使用することを忘れないでください。
分類法のページは、テーマを設定するために特別な何かを必要とするという点で魔法ではありません。他のページと同じように、テンプレートファイル、前処理関数、およびいくつかのテーマ関数があります。
少し生のデフォルトの分類ページの出力を制御したい場合は、ビューを使用してデフォルトのページを上書きできます。次に、ビューを使用して、ノードティーザーのみを表示したり、カスタムオーダーを実行したり、ポケットベルを使用したりできます。
より具体的なことをしたい場合は、質問を編集して、やりたいことを教えてください。
Template.phpで次のコードを使用することをお勧めします
foreach ($vars['node']->taxonomy as $term) {
$vars['template_files'][] = 'node-term-'. $term->tid;
}
用語ごとにnode-term-YOUR-TERM-ID.tpl.phpなどのファイル名を使用できるためです。
より効率的に使用したい場合:
if ($hook == 'node') {
if (arg(0) == 'taxonomy') {
foreach ($vars['node']->taxonomy as $term) {
$vars['template_files'][] = 'node-term-'. $term->tid;
}
}
} //if bracket close