2011-10-27 39 views
1

我在Drupal 7中創建了自己的自定義模板,並且有一些系統錯誤。任何人都可以請向我解釋他們,以及如何解決這些問題或指導我解決這些問題的一些文檔? 下面是錯誤:關於未定義索引/變量的聲明

說明:未定義指數:在導航包括()(/Users/Ken/Sites/drupal_cprna/sites/all/themes/na/templates/page.tpl.php的線82 )。 注意:未定義變量:include()中的secondary_menu_heading(/Users/Ken/Sites/drupal_cprna/sites/all/themes/na/templates/page.tpl.php中的第107行)。 注意:Undefined variable:include()中的標題(/Users/Ken/Sites/drupal_cprna/sites/all/themes/na/templates/block.tpl.php第53行)。 注意:Undefined variable:include()中的標題(/Users/Ken/Sites/drupal_cprna/sites/all/themes/na/templates/block.tpl.php第53行)。 注意:未定義的變量:jump_link_target在include()(/Users/Ken/Sites/drupal_cprna/sites/all/themes/na/templates/html.tpl.php的第74行)。

回答

1

所有這些錯誤都是由各個模板文件中不存在的變量引起的。

在page.tpl.php中默認沒有提供$secondary_menu_heading,在html.tpl.php中默認沒有提供jump_link_target

在猜測我會說你是基於另一個主題提供這些變量的模板文件,你需要做同樣的主題。如果是這種情況,請查看該主題的template.php文件,特別是themename_preprocess_x()函數......這是創建變量並將其提供給模板文件的地方。

有關主題系統如何在this post上工作的很好概述。

1

我得到了同樣的錯誤,在我的D7安裝使用禪子主題:

注意:未定義的變量:標題中包括()(行53 ... /網站/所有/主題/ mysubtheme /templates/block.tpl.php)

如我所料,此錯誤導致我的塊的標題根本沒有在前端渲染。

正如Clive所說,page.tpl.php中存在一個不存在的變量。所以,我複製從禪的template.php文件下面的函數來我的子主題的template.php文件:

function mysubtheme_process_block(&$variables, $hook) { 
    $variables['title'] = isset($variables['block']->subject) ? $variables['block']->subject : ''; 
} 

(但請注意,你必須重新命名爲「yoursubtheme _process_block」功能)

而...voilá,我的區塊的標題再次顯示。 :-)

非常感謝您的評論,克萊夫。這對我幫助很大!

瓊丹