Создание собственной переменной для вывода в любом месте сайта.

Главные вкладки

Аватар пользователя Alex_web Alex_web 30 сентября 2013 в 18:38

Добрый день.
Стоит задача создать переменную в theme-settings.php, которую можно будет выводить в любом месте сайта, будь то файл шаблона или текстовый редактор. В переменной будет храниться число (цена).
Дописал код в файле theme-settings.php

<?php
$form
['ИМЯ_ТЕМЫ_course_price'] = array(
    
'#type'  => 'textfield',
    
'#title'  => t('Цена курса'),
    
'#default_value' => theme_get_setting('ИМЯ_ТЕМЫ_course_price'),
    
'#description'   => t('Укажите цену курса'),
  );
?>

чтобы иметь возможность менять цену в админке.

Добавил код в функцию ИМЯ_ТЕМЫ_preprocess_page в template.php

<?php
$vars
['course_price'] = theme_get_setting('ИМЯ_ТЕМЫ_course_price');
?>

Далее попробовал вывести переменную $course_price в page.tpl.php, но ничего не получил.

Подскажите пожалуйста, в чём косяк?

З.Ы. Знаю что нужно учить php, так что просьба отвечать по существу)

Комментарии

Аватар пользователя Alex_web Alex_web 30 сентября 2013 в 19:38

Разобрался в чём косяк. Немного не туда дописал
$vars['course_price'] = theme_get_setting('ИМЯ_ТЕМЫ_course_price');
В page.tpl.php теперь выводится. Попробовал вставить в редакторе <?php echo $course_price; ?>. Но не ничего не вывелось. Обработчик php в формате ввода включил.

Аватар пользователя sergeybelya sergeybelya 30 сентября 2013 в 19:47

x_88_x wrote:
Разобрался в чём косяк. Немного не туда дописал
$vars['course_price'] = theme_get_setting('ИМЯ_ТЕМЫ_course_price');
В page.tpl.php теперь выводится. Попробовал вставить в редакторе <?php echo $course_price; ?>. Но не ничего не вывелось. Обработчик php в формате ввода включил.

Для работы с переменными лучше использовать https://drupal.org/project/variable, тогда они будут доступны через variable_get_value(), на странице модуля рабочий пример, нужно свой небольшой модуль создать и готово.

Аватар пользователя Alex_web Alex_web 30 сентября 2013 в 20:00

"sergeybelya" wrote:
Для работы с переменными лучше использовать https://drupal.org/project/variable, тогда они будут доступны через variable_get_value(), на странице модуля рабочий пример, нужно свой небольшой модуль создать и готово.

Спасибо за совет. Но я вряд ли смогу собрать модуль для drupal, пусть и простой.
Неужели нельзя просто вывести переменную включив обработчик php в формате ввода в редакторе?

Аватар пользователя sergeybelya sergeybelya 30 сентября 2013 в 20:03

x_88_x wrote:
"sergeybelya" wrote:
Для работы с переменными лучше использовать https://drupal.org/project/variable, тогда они будут доступны через variable_get_value(), на странице модуля рабочий пример, нужно свой небольшой модуль создать и готово.

Спасибо за совет. Но я вряд ли смогу собрать модуль для drupal, пусть и простой.
Неужели нельзя просто вывести переменную включив обработчик php в формате ввода в редакторе?

Ну разве что через вызов theme_get_setting('ИМЯ_ТЕМЫ_course_price');