有没有理由知道你在观看列表页面上?
问题描述:
我不得不将我的页面标题移动到我的节点以适应客户端需求,但是现在我无法获得标题以显示在我的视图列表的页面视图中。我要显示在编辑,管理和跟踪的网页标题的说法是:有没有理由知道你在观看列表页面上?
<?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;
}
干杯
史蒂夫
答
行 - 我发现我自己的解决方案,不需要创建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; ?>
谢谢您听:-)
史蒂夫
答
万一别人正在研究一些类似的问题,另一种方式是提供一种在node.tpl文件的说法,将适用于当节点通过View(模块)显示的是使用:
如果($页== 0)
与其之后的内容将单个节点的“常规”显示被忽略。这不适用于page.tpl,因此如果需要将标题放回到通过Views生成的所有页面中,则可以将其添加到views-view.tpl.php文件中并添加到主题中。或者可以为某些类型的视图添加其他更具体的Views tpl文件。