块中的php徽标调用 - Drupal 7

时间:2011-12-21 01:32:06

标签: drupal drupal-7

我正在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>

2 个答案:

答案 0 :(得分:2)

这是因为变量$logoblock.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将很好用。