2008-12-17 51 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文件。

相關問題