我想为drupal中的每个不同页面更改不同的徽标,我也想隐藏某些页面的徽标。我怎么能这样做?我已经搜索了可能的答案,但我没有找到任何答案。
答案 0 :(得分:1)
正如MilanG所述,使用page.tpl.php
变量在您的页面模板(默认$logo
或主题建议)中呈现徽标。此变量在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.
}
答案 1 :(得分:0)
打印徽标的“标准”方式是从$logo
模板打印page.tpl.php
变量。但你根本不需要这样做。
即。你可以添加你的PHP代码,它将以你喜欢的方式改变logo html代码。
或者,您可以将logo html放在静态块中,并为每个块设置它应出现的页面(在块设置中)。当然,为您的主题创建“徽标”区域。