Как мне поместить логотип в блок?
Я попытался поместить этот код в пользовательский блок с вводом, сформированным в PHP-код:
$settings = theme_get_settings('my theme');
if (!$settings[toogle_logo] = 0) {
print '<img src="' . base_path() . $settings['logo_path'] . '" alt="my logo" />';
}
Это не работает в Drupal 7.
2 answers
theme_get_settings()
был удален в Drupal 7. Вместо этого используйте theme_get_setting()
. Это работает:
<?php
if (theme_get_setting('toggle_logo')) {
$image = array(
'path' => theme_get_setting('logo'),
'alt' => 'my logo',
);
print theme('image', $image);
}
?>
theme_get_setting()
вы получите настройку текущей темы, но если вам нужна настройка произвольной темы, вы можете использовать необязательный второй параметр, как описано в документах API. Я использовал theme_image()
чтобы сделать его менее хрупким.
Но если вы можете избежать использования фильтра PHP, вам действительно следует: рассмотреть возможность создания небольшого пользовательского модуля, который вместо этого создает блок с кодом.
Одна из проблем с вашим кодом заключается в том, что вы используете =, а не == в своем операторе if.
Звучит как задание для Блокировать. И если вы не хотите использовать "целый модуль" только для этого, вы можете посмотреть, как это делается, и использовать правильный фрагмент.