2008-12-17 52 views
1

我不得不将我的页面标题移动到我的节点以适应客户端需求,但是现在我无法获得标题以显示在我的视图列表的页面视图中。我要显示在编辑,管理和跟踪的网页标题的说法是:有没有理由知道你在观看列表页面上?

<?php if ($title && ((arg(2) == 'track') || (arg(2) == 'edit') || 
    (arg(0) == 'admin'))): ?> 
    <h1 class="title"><?php echo $title; ?></h1> 
<?php endif; ?> 

,我想知道如果有一个一般的参数为包括所有视图列表页面,或逆,只是排除了所有节点网页(注:我正在使用CCK,因此有很多内容类型)?


嗅出其他的可能性...

我知道我可以为我的内容类型不同的页面模板,但我可以为所有我的CCK内容类型不同的一个页面模板?

这是我宁愿穿越到template.php文件的代码,以获得能够添加单独的内容类型的模板:

function _phptemplate_variables($hook, $vars) { 
    switch ($hook) { 
    case 'page': 
     if ($vars['node'] && arg(2) != 'edit') { 
     $vars['template_files'][] = 'page-'. $vars['node']->type; 
     } 
     break; 
    } 
    return $vars; 
} 

干杯
史蒂夫

回答

3

行 - 我发现我自己的解决方案,不需要创建20个以上的页面模板。对于上面的示例,我在查询中添加了!node->type的条件,因为视图不提供节点类型,然后通过网站确保在需要的页面视图级别禁用标题。

<?php if ($title && ((arg(2) == 'track') || (arg(2) == 'edit') 
    || (arg(0) == 'admin') || !$node->type)): ?> 
    <h1 class="title"><?php echo $title; ?></h1> 
<?php endif; ?> 

谢谢您听:-)
史蒂夫

0

万一别人正在研究一些类似的问题,另一种方式是提供一种在node.tpl文件的说法,将适用于当节点通过View(模块)显示的是使用:

如果($页== 0)

与其之后的内容将单个节点的“常规”显示被忽略。这不适用于page.tpl,因此如果需要将标题放回到通过Views生成的所有页面中,则可以将其添加到views-view.tpl.php文件中并添加到主题中。或者可以为某些类型的视图添加其他更具体的Views tpl文件。

相关问题