我創建了一個具有CCK文本字段的內容類型。對主題函數調用感到困惑
當我選擇使用Drupal的部件Themer它告訴我叫的最後一個函數是 theme_text_formatter_default()
,這是我在CCK text.module發現文本字段
還告訴我,它的父母;
content-field.tpl.php < theme_markup < theme_markup < node.tpl.php < page.tpl.php
所以我認爲某處content-field.tpl.php
是函數調用theme('text_formatter_default',$element)
,但它不是在那裏。只需print $item['view']
即可顯示內容。
我搜索了所有的項目文件theme('text_formatter_default',$element)
,它不存在。我知道它被theme
函數調用,因爲我在我的template.php
中覆蓋了它,它使用了我的重寫函數,只有在使用theme_hook $時纔會發生。不是嗎?
那麼它是如何被稱爲?這不是我需要重寫它。我只是在學習drupal是如何工作的,並認爲我直到現在才懷疑它。一定要叫它。
此外,函數theme_text_formatter_default
存在於主題註冊表中,它是可覆蓋的(如果這是一個詞),因爲我在我的template.php中這樣做並顯示它。這一切都很混亂。
任何幫助將不勝感激
嗨Googletorp。我對Drupal的印象很少,你不知道,因爲你已經回答了我幾乎所有的Drupal問題。 我明白你說了什麼,我沒有太多好的文檔,但如果可以的話,我只想再問一個問題(這張貼在下面)。 – screenm0nkey 2010-04-13 09:13:45
我仍然不確定爲什麼找不到調用函數。使用Eclipse我在Drupal項目(包括模塊)中搜索了字符串「text_formatter_default」中的每個文件,但它只返回了text.module中的兩個地方,它們是在theme_hook和實現中註冊的。沒有任何調用函數?那是因爲'text_formatter_default'的函數名是在被調用之前在CCK模塊的某處動態創建的,所以它不會存在嗎? – screenm0nkey 2010-04-13 09:14:05
感謝Googletorp。一如既往,我非常感謝您的幫助。 – screenm0nkey 2010-04-13 10:07:34