爲了改變的CSS類爲.views濾波器 DIV,需要提供備用views-view.tpl.php
(或views-view--VIEWNAME.tpl.php
或views-view--VIEWNAME--DISPLAYID.tpl.php
)。這通常和容易done in the theme。但是,如果需要的話,可以從一個模塊也做:
function YOURMODULE_registry_alter($theme_registry) {
$originalpath = array_shift($theme_registry['TEMPLATE']['theme paths']);
$modulepath = drupal_get_path('module', 'YOURMODULE') .'/themes');
array_unshift($theme_registry['TEMPLATE']['theme paths'], $originalpath, $modulepath);
}
這讓你把一個壓倒一切的views-view.tpl.php
模板文件在你的模塊的主題目錄。爲了達到這個目的,你的特徵的重量應該大於提供覆蓋模板的模塊的重量。因此,在您的模塊安裝文件(YOURMODULE.install)中,您將擁有類似於
function YOURMODULE_install() {
db_query("UPDATE {system} SET weight = 10 WHERE name = 'YOURMODULE'");
}
我同意。請記住,主題(theme_函數和tpl.php模板)與以PHP代碼編寫的模塊行爲之間存在差異。當您需要更改模塊生成的html輸出時,這就是所謂的主題,而最符合邏輯的位置就是您的主題。當您需要更改模塊的工作方式時,請嘗試通過實現掛鉤在自定義模塊中執行此操作(就像您使用hook_form_alter一樣)。 – marcvangend 2010-06-25 10:02:25
好酷!解決方案只是將模板文件粘貼到主題文件夾中。 – aneuryzm 2010-06-25 12:43:48