我可以为 drupal 中的不同页面更改不同的徽标吗

Can I change different logo for different pages in drupal

我想为 drupal 中的每个不同页面更改不同的徽标,我还想隐藏某些页面的徽标 too.How 我可以这样做吗?我已经搜索了可能的答案,但我没有找到任何。

打印徽标的"standard"方式是从page.tpl.php模板打印$logo变量。但你根本不必那样做。

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

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

正如 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.
}