我正在drupal 7中构建一个站点并遇到了大量问题......这里对drupal来说非常新。 我从page.tpl文件中取出了对logo的php调用,并将其放入标题块以添加到所有页面。我知道我应该把它留在page.tpl文件中,但认为使用标题块是有意义的,但它不再有效。谁能解释为什么这不起作用?
这是代码
<div id="logo"><?php if ($logo): ?>
<a href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>" rel="home" id="logo"><img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" /></a>
<?php endif; ?></div>
答案 0 :(得分:2)
这是因为变量$logo
在block.tpl.php
中不可用,仅提供给page.tpl.php
。
您实际上可以像这样自己获取值:
$theme_name = 'name_of_theme';
$settings = variable_get('theme_' . $theme_name . '_settings', array());
if (isset($settings['logo_path'])) {
$logo = file_create_url($settings['logo_path']);
}
答案 1 :(得分:0)
您需要的所有内容,它在template.php中添加了此代码
function hook_preprocess_region(&$variables) {
$variables['logo'] = theme_get_setting('logo');
$variables['front_page'] = variable_get('site_frontpage', 'node');
}
清除缓存
和$ logo以及$ front_page将很好用。