En Drupal 6, puede hacer uso de los archivos node-taxonomy.tpl.php
y page-taxonomy-term.tpl.php
en su tema para plantillas de páginas de taxonomía, ya que el segundo es el contenedor de la primera. Compórtese node-taxonomy.tpl.php
como node.tpl.php
y page-taxonomy-term.tpl.php
como page.tpl.php
. por ejemplo:
página-taxonomía-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'; ?>
nodo-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>
Bueno, la parte más importante: por defecto el node-taxonomy.tpl.php
no es conocido por Drupal, por lo que debemos presentarlo como una sugerencia de plantilla en el archivo de nuestro tema template.php
, aquí vamos:
/**
* 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);
}
}
También hay un taxonomy-term.tpl.php
, en relación con Drupal 7.
Es un ejemplo de código, 'No se olvide de utilizar check_plain()
& check_url()
en las impresiones.
Gracias Raamtin! Esto funciona, pero todos mis bloques de vistas en la página obtienen el mismo tratamiento de formateo ... (se muestran como avances de nodos) ¿Hay algún modo de evitar que destruya mis puntos de vista? – askon
Eres increíble. – Steve