drupal 7 AT主题/卡罗拉/ Footheme更改徽标链接

时间:2013-08-26 20:38:55

标签: drupal-7 drupal-themes

我正在使用自适应主题和Corolla和Foo子主题。我需要我的徽标链接,通常会转到该网站的主页,完全转到另一个网址。我查看了Corolla和Adaptive主题目录中的模板(template.php和page.tpl.php),我能找到的就是这段代码:

<?php if ($site_logo): ?>
            <div id="logo">
              <?php print $site_logo; ?>
            </div>
          <?php endif; ?>

但我希望在其中找到<front>的内容。我试着包装:

<?php print $site_logo; ?> with a link, but to no avail. 

我也尝试在“打印”一词之后取出$site_logo,但也无济于事。那么我该怎么做呢?

Ĵ

3 个答案:

答案 0 :(得分:1)

您正在寻找的代码位于../ themes / adapthivetheme / at_core / inc / preprocess.inc 文件的function adaptivetheme_preprocess_page(&$vars)第119行。

所以你应该覆盖主题template.php类似函数中的$ site_logo变量。

答案 1 :(得分:0)

根据TheodorosPloumis的回答建立更多细节。我在template.php中得到了这样的函数。请注意,您需要在调用drupal_static以及主函数名称时更改“MYTHEME_”。

<?php
function MYTHEME_preprocess_page(&$vars) {
  // Set up logo element
  if (at_get_setting('toggle_logo', $theme_name) === 1) {
    $vars['site_logo'] = &drupal_static('MYTHEME__preprocess_page_site_logo');
    if (empty($vars['site_logo'])) {
      $logo_image_alt = check_plain(variable_get('site_name', t('Home page')));
      $logo_link = variable_get('logo_link', '<front>');
      if (at_get_setting('logo_title') == 1) {
        $vars['site_logo'] = $vars['logo_img'] ? l($vars['logo_img'], $logo_link, array('attributes' => array('title' => $logo_image_alt), 'html' => TRUE)) : '';
      }
      else {
        $vars['site_logo'] = $vars['logo_img'] ? l($vars['logo_img'], $logo_link, array('html' => TRUE)) : '';
      }
    }
    // Maintain backwards compatibility with 7.x-2.x sub-themes
    $vars['linked_site_logo'] = $vars['site_logo'];
  }
}

答案 2 :(得分:0)

我会试试。很高兴你添加了向后兼容功能。 Ĵ