在drupal 7上改变页脚页面

时间:2011-10-10 14:53:12

标签: drupal drupal-7

在Drupal 6中,我的模块有下一个函数,它将javascript插入页面的页脚,但在Drupal 7中,内容已经改变了。我如何在drupal 7中执行下一个代码?

function myfunc_footer()
 {
    if(variable_get('myvar',1) && !drupal_match_path(drupal_get_path_alias($_GET['q']),  
          'admin/*'))
    {
         if ($somevar = variable_get('somevar',''))
             {
        return '<script src="'.$somevar.'" type="text/javascript"></script>';
         }
         else
             {
        drupal_set_message(t('something is wrong.'));
         }
    }
}

提前致谢

1 个答案:

答案 0 :(得分:1)

你的代码中没有任何内容从Drupal 6改为7 ......所有函数都是有效的,如果这对Drupal 6有效,那么它就没有理由不适用于Drupal 7。

我真的不明白为什么你在路径别名上运行drupal_match_path,你应该在路由器路径上运行它,而不是URL路径:

if(variable_get('myvar',1) && !drupal_match_path($_GET['q'], 'admin/*')) {

尝试一下,看看它是否能解决您的问题,如果没有,您能否稍微了解一下您所遇到的错误?

修改

感谢您的更新,您的下面第二条评论几乎是正确的,您只需要为渲染数组提供一个密钥:

function myfunc_page_alter(&$page) { 
  $page['page_bottom']['my_extra_element'] = array(
    '#markup' => '<div><h3> testingthisout</h3> </div>', 
    '#weight' => 25
  ); 
} 

您无需指定'#type' => 'markup',因为markup是默认值。

然后确保您的模块(名为myfunc)已明确安装,并清除缓存。你不应该有任何问题