2014-09-24 63 views
0

我试图编辑模板文件夹中的page.tlp.php,根据用户是否登录来修改网站的页眉url链接。如何在Drupal中使用is_user_logged_in()?

例如,如果未登录,显示页面1 ,否则显示第2页。 代码保持简单以测试该功能。

 <div id="site-name"<?php if ($hide_site_name) { print ' class="element-invisible"'; } ?>> 
      <strong> 
      <a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home"><span><?php print $site_name; ?></span></a> 
    <?php if (is_user_logged_in()) {echo "hi";} ?> 
      </strong> 

     </div> 

此时,error.log指示调用未定义的函数。

我的意思是把它写成模块,还是只能在模板文件中使用php,但是我需要声明一些东西,或者我完全没有跟踪到这里?

回答

0

使用变量$ LOGGED_IN,它是默认添加在Drupal

你不应该调用tpl文件中的函数,而是使用preproccess_page钩子来添加所需的所有变量。

function mytheme_preprocess_page(&$variables) { 
    $variables['is_awesome'] = ($GLOBALS['user']->name == 'MyName'); 
} 

之后变量$​​ is_awesome会在你的page.tpl.php中可用