2011-12-20 64 views
0

我想获得一个预处理函数在我的drupal 7网站上工作,我有一些困难。我被给了这个。单独的js和css文件的页面 - home.tpl.php在drupal

function fource_preprocess_page(&$vars) { 
    if ($vars['is_home']) { 
    $path = drupal_get_path('themes', 'fource'); 
    drupal_add_js($path . 'js/image_scale.js'); 
    $vars['scripts'] = drupal_get_js(); 
    } 
} 

-fource是我的主题 -I现在用的是页面的名称 - home.tpl文件我使用的面板主页 ?不知道路径...('主题','fource') ?还需要添加css文件。

我不知道我在这里做什么,所以最详细的解释将不胜感激。

回答

0

我觉得在Drupal 7中你实际上想在theme_preprocess_html()中这样做。在你的主题template.php文件,你需要这样的事:

function fource_preprocess_html(&$vars) { 
    if($vars['is_front']) { 
    drupal_add_js(drupal_get_path('theme','fource').'/js/image_scale.js'); 
    } 
} 

drupal_get_path('theme','fource')呼叫只是要求的Drupal的完整路径的主题,那么你只是钉在结束你的JS文件名。

说实话,我不确定is_homeis_front,但Google可能知道。

还有一个功能drupal_add_css(记录here)。

+0

thanka that worked! – EZDC 2011-12-20 20:18:49

+0

虽然CSS没有通过? drupal_add_css(drupal_get_path( '主题', 'fource') '/ CSS/index_style.css'); – EZDC 2011-12-20 20:21:46

+0

我会开始调试,通过检查正确的标题被添加到您的HTML(只需在浏览器中查看源代码)。如果是这样,请使用像萤火虫这样的工具来查看请求时发生了什么。 – eaj 2011-12-20 20:48:00