Добрый день!
Подскажите, как реализовать в Drupal 6 свою переменную, которую можно было бы редактировать через админку.
Смысл заключается в том, что есть каталог товаров. У каждого продукта есть цена в $.
Товары выводятся естественно через views (список товаров) и с полным описанием через node.tpl.
В этих файлах я сделал, что поле Цена * Курс доллара = Цена в рублях. Причина такой функции, что цена товара меняется чаще только за счет изменения курса доллара.
Курс доллара должен редактироваться менеджером сайта, поэтому сейчас получается неудобство, что нужно редактировать курс в этих двух файлах темизации. Хотелось бы, сделать раздел в админке, где можно вводить Курс доллара и сохранять его в таблицу БД, а в файлах темизации уже подставить переменную, значение которого считывается из нужной таблицы.
В каком направление рыть???
Комментарии
Сделай форму с 1 полем ввода.
В обработчике формы используй variable_set. И в дальнейшем межешь обращаться к ней по variable_get
Можно ещё в preprocess_node добавить к объекту ноды этот курс.
variable_set\variable_get для работы с этой переменной
Forms API для админки
hook_menu для неё же
Views API для создания хендлера вьювс(я так понимаю, вам это поле еще и выводить нужно) либо, PHP Field или как его там для того же но прямо в админке(в вашем случае 1й вариант лучше)
Ну и любая статья по написанию модулей
Я ковырял этот вопрос больше 2 лет назад. Так же насчет курса.
Итак. Создаешь новый тип ноды. Добавляешь поля для ввода курса, и всего что нужно. У меня 24 поля. Дальше в шаблоне
пишешь <?php $nid = (НОМЕР НОДЫ СО СВОИМИ ПОЛЯМИ) ; $node = node_load($nid);?>
теперь переменные доступны по <?php print $node->ИМЯ ПОЛЯ[0]['value']?>
Мусье, какой variable_set(), вы о чём?
hook_settings() же, и всё будет афтаматическе
Курс доллара должен редактироваться менеджером сайта, - а как с этим быть?
А пермишены отменили в шестом друпале?
Chesla, Спасибо! Воспользовался Вашим способом
Я не спорю. Мне интересен Ваш способ, так как возможно более технологичен. Можете поподробнее объяснить как модератору редактировать эти переменные из админки?
1. Включить компьютер
...
...
...
n. Залогиниться на сайт
n+1. Перейти на страницу с настройками
n+2. Отредактировать настройки
n+3. Нажать сохранить
В модуле examples примера нет, вроде, смотреть тут или в любом другом месте в гугле http://kristiannissen.wordpress.com/2009/05/21/drupal-6-and-admin-settings/
ВАШ САРКАЗМ НЕ УМЕСТЕН.
ЧТО НУЖНО СДЕЛАТЬ ДЛЯ ТОГО ЧТО БЫ НАСТРОЙКИ ПЕРЕМЕННЫХ ОКАЗАЛИСЬ НА СТРАНИЦЕ С НАСТРОЙКАМИ? и ЧТО ЭТО КСТАТИ ЗА СТРАНИЦА?
Chesla, я уж не знаю как ответить. Толи троллишь ты меня, толи тормозишь как первый пень. Я вроде не работаю пересказчиком документации.
1. Написать модуль somemodule.
2. Реализовать там hook_menu()
3. Сунуть туда такое:
'page arguments' => array('somemodule_configure'),
Потом сделать функцию:
$form['somemodule_somesettings'] = array(
'#type' => 'radios',
'#title' => t('somesettings'),
'#default_value' => variable_get('somemodule_somesettings', 0),
'#options' => array(t('somesettings1'), t('somesettings2')),
);
return system_settings_form($form);
}
Появится страница в админке, на которую может зайти менеджер и сделать настройки.
Или не тупим или показываем справку, пример с кодом был в прошлом комментарии.
Никто не тупит. Не всем подсилу/нужно писать модули, а Вы пропустили вот это
1. Написать модуль somemodule.
2. Реализовать там hook_menu()
3. Сунуть туда такое:
Теперь ответ полный. А ссылка не рабочая.
Ага, и ссылка нерабочая, и гугл продали хохлам
Что сложного в написании модулей? CTRL + C and CTRL + V не работает?
Конечно лучше быдлокодить и делать лишний node_load(), чем расти, развиваться и делать нормальные во всех отношениях сайты
Вот за этим и задан был мой вопрос:
Мне интересен Ваш способ, так как возможно более технологичен. Можете поподробнее объяснить как модератору редактировать эти переменные из админки?
На что было полученно от вас милейший:
Толи троллишь ты меня, толи тормозишь как первый пень. Я вроде не работаю пересказчиком документации.
Не хочешь делится своими сакральными знаниями не делись. Нехер пнями остальных называть. Не думал что на этом сайте такое быдло водится.
Суперпупернебыдлокодер
Напоминает обиду мужика-импотента, когда его баба обвинила в половом бессилии.
Повторю:
была ссылка на заметку в блоге
Не открывается ссылка? Кеш гугла придуман для лохов, понятно.
есть сайт drupal.org
первый же результат по запросу Form Settings http://drupal.org/node/222158
есть модули ядра, которые крайне рекомендуются для изучения.
Я очень извиняюсь, что не написал для Вашего высочества модуль реализующий сию приблуду.
Ладно, не оправдывайся. Я тебя уже простил. Работай спокойно. )))