如何在drupal中覆盖$ block->内容?

时间:2011-03-16 01:39:20

标签: drupal drupal-6

现在,如果我想覆盖由Book模块生成的$ block->内容...如何覆盖它并自定义标题列表?谢谢。

3 个答案:

答案 0 :(得分:5)

您可以使用preprocess_block函数

function phptemplate_preprocess_block(&$vars) {
  if (isset($vars['block'])) {
      print_r($vars);
    }
  }

深入研究这些结果。

关于内容,这是一个模块生成的块,我希望$content是使用theme()函数的渲染器,所以你只需要改变它。

答案 1 :(得分:2)

$ vars参数将包含有关块主题的所有信息。在您的情况下,您希望模块是“预订”。

function phptemplate_preprocess_block(&$vars) {    
    if (isset($vars['block'])) {
      if($vars['block']->module == 'book') {
        $vars['block']->content = "My new content";
      }
    }
  }

答案 2 :(得分:2)

你可以使用preprocess_block函数

function yourthemename_preprocess_block(&$vars)
{
     if(isset($vars['block']))
     {
          //i have override a footer_block 
          if($vars['block']->region == 'footer_block')
          {
              $vars['content] = "Please Enter Some data";
          }
     }
}