Что то я загорелся сделать сам простенький таймер. Суть проста - на страничке формочка, содержащая только поле обратного отсчета до определенной даты (или отсчет определенного промежутка времени)и кнопочка "сабмит" или точнее ее назвать "резет", при нажатии на которую счетчик начинает считать заново.
Просто сделать на пхп+яваскрипт - элементарно. Но вот надо как то под друпалом это этично сделать. Не хочется создавать отдельную таблицу, в которой буду хранить дату/время, до которого считает счетчик. А в существующую таблицу не хочу писать - неизвестно как друпал отреагирует на такой беспредел.
Кто что посоветует?
Комментарии
http://api.drupal.ru/api/function/variable_get/6
http://api.drupal.ru/api/function/variable_set/6
http://api.drupal.ru/api/function/variable_del/6
о! спасибо большое.
только вот опять вопрос появился при реализации этого простенького модуля.
пока набросал вот что
$items = array();
$items ['countdown'] = array(
'page callback' => 'test_page',
'access arguments' => array('access content'),
'type' => MENU_SUGGESTED_ITEM,
);
return $items;
}
function test_page() {
return drupal_get_form('test_form');
}
function test_form($form_state) {
$form = array();
$form['submit'] = array (
'#type' => 'submit',
'#value' => t('Reset'),
);
return $form;
}
и задумался где мне вставить поле, в котором будет отсчет вестить? Я знаю только как создавать формы, а как добавлять произвольный html-текст еще не знаю.
Подскажите пожалуйста.
все, разобрался:)
рекомендую ознакомиться с книжкой вандюка Pro drupal development (вторая редакция).
Более чем. Я больше скажу - есть такая штука, как hook_schema_alter. Я могу навскидку привести некоторое количество модулей которые, если бы использовали этот хук, в разы меньшё дёргали бы базу и гоняли данных.
а причём тут альтер базы?
Ну вопрос был про работу с базой напрямую
Я просто добавил ещё один вариант.
Жалко нет в апи примеров... Как сим пользоваться?
variable_set($node->field_название_поля[?][?], $значение).
это вопрос для сск.
И еще вопрос: как быть, напимер, с термином таксономии?
И как быть для определенного номера ноды?
для примеров смотрите сами исходники друпала, хотя бы \modules\contact файлы contact.install и contact.module.
Особое внимание на файл contact.admin.inc, функция contact_admin_settings().
Здесь устанавливаются админские установки:
Есть 3 элемента с variable_get, причём название элемента и переменной в variable_get одинаковы.
В конце есть вызов return system_settings_form($form), которая автоматически запишет настройки без всяких дополнительных сабмитов в variables. Красота.
опять вопрос.
можно ли при в файле скрипта, который я потом добавляю на страничку функцией drupal_add_js("path/to/script.js","module","footer") использовать пхп вставки?
это нужно для того, чтоб как то передать в скрипт значения переменных из базы данных (а именно дату/время конца отсчета)
про page.tpl.php что-нибудь слышали? там можно в параметры скрипта поставить с php-вставками. Ну и другой способ ажаксно запросить прямо скрипта.
ну этот скрипт будет же в файле шаблона, а я хочу хранить скрипт в отдельном файле.
а про аякс я забыл, хорошая идея, то что надо
amorphus в общем то неэтично повторно запрашивать параметры, которые статичны.
создайте другой простенький скрипт встроенный в page, там через php запишите параметры, и этот скрипт уже вызывает тот с нужными параметрами.