2013-05-17 83 views
0

我已經創建nodequeue並設置在默認值部分的「說明/標籤」到「娛樂亮點」,當我點擊觀看主題:信息已模板建議爲Drupal6模板文件無法識別

風格輸出
views-view-list.tpl.php 
views-view-list--nodequeue-91.tpl.php 
views-view-list--entertainment-highlights.tpl.php 
views-view-list--default.tpl.php 
views-view-list--nodequeue-91--default.tpl.php 

這看起來很棒,因爲我希望能做出的觀點 - 視圖 - 列表在我的主題模板 - 娛樂highlights.tpl.php這不會把它綁在特定nodequeue(建築上開發和當我開始實施時,nodequeue ID可能會發生變化),但是當我在文件系統上創建文件並單擊重新掃描時,它不會突出顯示該模板名稱,表明drupal未找到它。

如果我創建了一個名爲views-view-list-nodequeue-91.tpl.php的文件,那麼這個工作正常,如果我將「Description/Tag」改爲「Entertainment」並創建一個views-view- list - entertainment.tpl.php文件,然後這也是由drupal拾取的,所以這個問題看起來像是與「描述/標籤」名稱中的間隔相關聯

有沒有人有任何想法我需要更新以獲取該模板工作。我意識到這很可能是一個核心調整,但如果它能夠處理這樣的情況,這將非常有幫助。

回答

0

我發現這與Drupal6沒有直接關係,而是與我們使用的OpenPublish變體有關。

原來在/sites/modules/views/themes/theme.inc(不與/includes/theme.inc混淆)中有一個叫_views_theme_functions()的函數,它使用以下內容來確定主題模板

$themes[] = $hook . '__' . preg_replace('/[^a-z0-9]/', '-', strtolower($view->tag)); 

但是如果檢查$主題,您可以看到所有的非A-Z0-9字符被替換爲下劃線,而不是破折號所以需要將其修改爲

$themes[] = $hook . '__' . preg_replace('/[^a-z0-9]/', '_', strtolower($view->tag)); 

我意識到這是一個核心修正案,理想情況下我不會讓t他的變化在這裏。