在Drupal7上更改页脚

在Drupal7上更改页脚,drupal,drupal-7,Drupal,Drupal 7,在Drupal6中,我的模块具有下一个函数,该函数将javascript插入页面的页脚,但在Drupal7中,内容发生了变化。如何在Drupal7中编写下一个代码 function myfunc_footer() { if(variable_get('myvar',1) && !drupal_match_path(drupal_get_path_alias($_GET['q']), 'admin/*')) { if ($

在Drupal6中,我的模块具有下一个函数,该函数将javascript插入页面的页脚,但在Drupal7中,内容发生了变化。如何在Drupal7中编写下一个代码

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.'));
         }
    }
}
函数myfunc\u footer()
{
如果(变量_get('myvar',1)&&!drupal _match(drupal)路径(drupal(u get)路径(别名$(u get['q']),
“admin/*”))
{
如果($somevar=variable\u get('somevar','')
{
返回“”;
}
其他的
{
drupal_set_消息(t('something is mist');
}
}
}

提前感谢

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

我真的不明白为什么要对路径别名运行
drupal\u match\u 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
  ); 
} 
函数myfunc\u page\u alter(&$page){
$page['page\u bottom']['my\u extra\u element']=数组(
“#标记”=>“测试输出”,
“#重量”=>25
); 
} 
您不需要指定
”#type'=>“markup”
,因为
markup
是默认值


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

嗨,从drupal6到drupal7发生了变化。hook_footer()被删除了,现在我需要使用hook_page_build,我把它命名为myfunc_page_build()。我尝试了下一个不起作用的代码:函数myfunc_page_build(&$page){$page['page_bottom'][''']=array('.#type'=>'markup','.#markup'=>'testingthisout','.#weight'=>25,)}hook_footer()被删除了,$closure变成了$page_bottom,$page_top added我把它改成了你所说的,但是页脚没有打印任何内容。模块已安装。myfunc页面构建的名称是否正确?名称是否需要匹配?这个函数实际上在哪里被调用?我的错,钩子函数被调用,所以如果你的模块被调用,你的函数应该被调用
myfunc\u page\u alter
。请确保在更改名称后清除缓存,否则Drupal将无法获取它