我如何主题分类/ term/x页面?

Dan*_*bey 20 themes drupal taxonomy drupal-taxonomy

虽然很容易在网上找到关于如何主题其他内容(例如搜索结果)的一些信息,但是找不到关于如何主题分类/术语/ 247页的输出的简单文章是不可能的?

我该怎么做?

sep*_*ehr 12

在Drupal 6中,您可以在主题中使用node-taxonomy.tpl.phppage-taxonomy-term.tpl.php文件来模板分类页面,考虑到第二个是第一个的包装器.表现node-taxonomy.tpl.php得像node.tpl.php,page-taxonomy-term.tpl.php喜欢page.tpl.php.例如:

页面分类法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'; ?>
Run Code Online (Sandbox Code Playgroud)

节点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>
Run Code Online (Sandbox Code Playgroud)

好吧,最重要的部分:默认情况下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);
  }
}
Run Code Online (Sandbox Code Playgroud)

还有一个taxonomy-term.tpl.php关于Drupal 7.
这是一个代码示例,不要忘记在打印输出上使用check_plain()&check_url().


goo*_*orp 1

分类页面并不神奇,它需要一些特殊的东西来主题化。有一个模板文件、一个预处理函数和一些主题函数,就像任何页面一样。

如果您想控制有点原始的默认分类页面的输出,您可以使用视图覆盖默认页面。然后,您可以使用视图仅显示节点预告片、执行一些自定义排序、使用寻呼机等。

如果您想做更具体的事情,您应该编辑您的问题以告诉我们您想做什么。