2014-09-24 46 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中可用