php logo call в блоке - Drupal 7 - PullRequest
       3

php logo call в блоке - Drupal 7

1 голос
/ 21 декабря 2011

Я создаю сайт в Drupal 7 и сталкиваюсь с кучей проблем ... очень новых для Drupal здесь.Я вытащил вызов php для логотипа из файла page.tpl и поместил его в блок заголовка для добавления на все страницы.Я понимаю, что, вероятно, мне следует просто оставить его в файле 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 ]

2 голосов
/ 21 декабря 2011

Это потому, что переменная $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']);
}
0 голосов
/ 17 ноября 2016

все что вам нужно, это дополнения в template.php этот код

function hook_preprocess_region(&$variables) { 
    $variables['logo'] = theme_get_setting('logo');
    $variables['front_page'] = variable_get('site_frontpage', 'node');
}

очистить кеш

и $ logo и $ front_page будут хорошо работать.

...