Как поместить логотип в блок?
Вопрос
Я попытался поместить этот код в пользовательский блок с входом, образованным в 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.
Решение
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.
Звучит как работа для БлокироватьАнкет И если вы не хотите использовать «целый модуль» только для этого, вы можете увидеть, как это сделано, и использовать правильный фрагмент.