Здравствуйте, а подскажите пожалуйста, как в Друпале проще всего добавить какую нибудь свою переменную и потом с ней работать - например вывести на экран её значение и так далее.
Например доработать какой то существующий модуль - сделать следующее - при создании ноды добавить радиокнопку на два значения - и потом уже в зависимости от значения например задавать какие либо условия
Комментарии
Я так понял что подобные переменные нужно прописывать обязательно в БД, а как сделать так, чтобы не прописывать???
Если не писать свой модуль, то нужны будут CCK, Views, Workflow_NG (или Rules, от версии зависит). Делаем тип материала, в него добавляем радиокнопку, после чего при сохдании ноды такого типа у нас она появится. Ноды выводим средствами Views, обрабатывая значение радиокнопки как нам надобно. Если средств Views не хватает и требуется усложнение логики, то играемся с модуклями типа Workflow_ng или Rules, задавая соответствующие изменения. Громоздно, но работает.
А если писать модуль то все гораздо проще
<?php
function module_radio(&$form_state){
$form=array();
$form['r']=array(
'#type'=>'radios',
'#title'=>'Радио-кнопки',
'#default_value'=>0,
'#options'=>array('Пункт 1','Пункт 2'),
);
$form['submit']=array(
'#type'=>'submit',
'#value'=>'Отправить',
);
return $form;
}
function module_radio_submit($form,&$form_state){
drupal_set_message('=> '.$form_state['values']['r']);
}
?>
Не хватит тут ни средств Views, ни средств Workflow-NG или Rules - я спрашивал именно о программировании, потому что всё остальное перепробовал - для данной задачи не подходит.
Спасибо конечно за совет, но может ещё кто нибудь подскажет?
Заранее спасибо.
Vikeng - спасибо большое, буду пробовать ))
Но правда мне нужно не писать свой модуль, а доработать существующий - добавить в форму радиокнопку - но счас попробую этот код
Vikeng - можно вопрос?
как мне потом обращаться к данной переменной??
например мне нужно задать некое условие, выполнить то или другое действие в зависимости от того, выбран Пункт 1 или же Пункт 2
Заранее спасибо
И ещё (забыл указать сразу версию Друпала) - ваш код похоже для шестого друпала - а как оно будет для пятого?
Значение из формы будет в этой переменной: $form_state['values']['r'].
Для 5-го Друпала будет примерно также, но деталей не помню: давно в него не лазил.