2013-03-19 30 views
2

我是新來的dr​​upal,我想弄清楚如何主題視圖。我目前有一個名爲Category的內容類型,其中包含以下字段:Title,Image和Body。我爲上述內容類型創建了一個視圖,以便我列出所有創建的類別的視圖。 要自定義主題視圖我創建了一個叫做意見在我的主題文件夾中的文件夾,並創建了以下視圖文件:如何在Drupal 7中手動主題視圖?

  1. 觀點視場 - 插件,categories.tpl.php
  2. 意見 - 視圖 - 插件,categories.tpl.php
  3. 觀點 - 視圖 - 格式化 - 插件,categories.tpl.php

這是我目前在我的第一個文件:

<div class="<?php print $classes; ?>"> 


    <?php if ($rows): ?> 
    <div class="view-content"> 
     <?php print $rows; ?> 
    </div> 
    <?php elseif ($empty): ?> 
    <div class="view-empty"> 
     <?php print $empty; ?> 
    </div> 
    <?php endif; ?> 


    <?php if ($more): ?> 
    <?php print $more; ?> 
    <?php endif; ?> 


</div><?php /* class view */ ?> 

取而代之的是$ rows,我厭倦了使用print $ field ['image']並打印$ field ['body'],但這種方法確實有效。您能否就我如何能夠在視圖中顯示的類別內的三個字段主題提供建議?

回答

2

您應該爲您的模板這樣

views-view-fields--<machine-name-of-your-view>.tpl.php 

所以我從上面你的觀點被稱爲「插件類別」假設。一種簡單的檢查方法是在編輯頁面上編輯視圖並查看URL。它應該有格式/admin/structure/views/view/YOUR-VIEW'S-MACHINE-NAME /編輯,所以你可以從那裏得到它。

確定它名稱正確後,清除緩存以確保Drupal正在拾取新模板。您只需要上面的一個,而不是全部三個來修改有問題的三個字段的輸出。

一旦你清除緩存,Drupal應該選擇新的模板。你沒有提到什麼是不工作的,只是它沒有工作,所以我想覆蓋命名和緩存,以防萬一。現在,在這個視圖模板輸出特定領域,稱他們是這樣的:

$fields['your-field-machine-name'] 

所以$域[「體」(我想你錯過了一個「s」

在這個模板中你應該沒有關於$行的信息!如果您有任何關於$行的內容,您沒有從正確的視圖模板複製和粘貼。只要你想讓它們出現在你的視圖中,按照你想要的任何順序輸出這些字段,然後輸入你想要的任何CSS類。

讓我們知道,如果這有效!