0

我正在使用 Adaptive Theme 以及 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,但也无济于事。那么我该怎么做才能做到这一点呢?

Ĵ

4

3 回答 3

1

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

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

于 2013-08-26T20:51:39.817 回答
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'];
  }
}
于 2015-02-11T18:55:03.373 回答
0

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

于 2015-02-11T23:16:36.170 回答