【问题标题】:Can I change different logo for different pages in drupal我可以为drupal中的不同页面更改不同的徽标吗
【发布时间】:2016-07-18 04:18:38
【问题描述】:

我想为 drupal 中的每个不同页面更改不同的徽标,我也想隐藏某些页面的徽标。我该怎么做?我已经搜索了可能的答案,但我没有找到任何答案。

【问题讨论】:

    标签: drupal drupal-7 drupal-theming


    【解决方案1】:

    正如 MilanG 所说,使用 $logo 变量在您的页面模板(默认 page.tpl.php 或主题建议)中呈现徽标。这个变量是在template_preprocess_page()中设置的,改变它的最好方法是在你的主题中使用相同的预处理函数:

    function mytheme_preprocess_page(&$variables) {
      $logo_path = '/' . drupal_get_path('theme', 'mytheme') . '/logos/';
      // Alter logo under some conditions
      if ($first_condition) {
        $variables['logo'] = $logo_path . 'logo1.png';
      } elseif ($second_condition) {
        $variables['logo'] = $logo_path . 'logo2.png';
      } elseif ($third_condition) {
        // Hide logo. Your page.tpl.php must contain 
        // something like <?php if ($logo): ?>
        $variables['logo'] = null;
      }
      // etc.
    }
    

    【讨论】:

      【解决方案2】:

      打印徽标的“标准”方式是从page.tpl.php 模板打印$logo 变量。但您根本不必这样做。

      即您可以添加您的 php 代码,该代码将按照您喜欢的方式更改徽标 html 代码。

      或者,您可以将徽标 html 放在静态块中,并为每个块设置它应该出现在哪些页面上(在块设置中)。当然,为您的主题创建“徽标”区域。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-27
        • 1970-01-01
        • 1970-01-01
        • 2022-11-19
        • 1970-01-01
        • 1970-01-01
        • 2013-03-03
        • 2013-02-03
        相关资源
        最近更新 更多