До 7 го еще не дошел. Но по 6 скажу вроде как каменты могут применяться только к нодам. Чтобы сделать возможность комментирования вам необходимо очень много написать кода.
Более простое решение создайте тип материала программно hook_node_info не забудьте про module_form. Вешайте эту ноду на меню и пусть ее комментируют стандартными способами. для программного создания ноды можно использовать drupal_execute, или node_save. Закройте этот тип для создания только админом и все, зачем изобретать велосипед.
"fil.diesel" wrote:
т.е. траницы выгледят new_year?page=1, new_year?page=2, и т.д.
На самом деле это 1 страница и вы ей передаете get параметр page.
более правильно можно сделать вот так :
$items['new_year/%']=array( 'title' =>'С Новым Годом!', 'description' =>'Поздравление к Новому Году!', 'page callback'=>'examplepage_new_year', 'page arguments'=>array(1), 'access callback' =>'user_access', 'access arguments' =>array('access content'), 'type' =>MENU_NORMAL_ITEM ); return$items; function examplepage_new_year($page){ return"Поздравляем Всех с Новым годом! А это кстати страница $page"; }?>
Более простое решение создайте тип материала программно hook_node_info не забудьте про module_form. Вешайте эту ноду на меню и пусть ее комментируют стандартными способами.
Ну раз нет альтернативных решений. Можно по подробней? Возможно из за кривизны рук у меня не получается воплотить идею в реальность..
http://api.drupal.ru/api/file/developer/examples/node_example.module/6
почитайте внимательно все понятно. Обязательно использовать хуки insert, update. Затем drupal_execute формируете $form_state и отправляете создается node в form_state указываете настройки о возможности комментирования и типа комментариев, см. comment_node_type(). Если проще можно сделать drupal_execute() для 6 или drupal_form_submit() для 7 эти функции отправляют форму, как будто вы нажали кнопочку submit, использовать их не для создания материала а для создания типа материала . Как по мне это не очень хороший способ тк. пользователь имеющий права сможет удалить тип материала, те в данном случае тип материала без привязки к модулю, первый способ изящнее так сказать.
Комментарии
Как сделана страница? Она 1-на сделана через hook_menu? Или это тип контента?
Это несколько страниц, выведенных ч/з $_GET['page']...
по принципу модуля
<?phpfunction examplepage_menu(){
$items['new_year']=array(
'title' => 'С Новым Годом!',
'description' => 'Поздравление к Новому Году!',
'page callback'=>'examplepage_new_year',
'access callback' => 'user_access',
'access arguments' => array('access content'),
'type' => MENU_NORMAL_ITEM
);
return $items;
}
function examplepage_new_year(){
return "Поздравляем Всех с Новым годом!";
}?>
т.е. траницы выгледят new_year?page=1, new_year?page=2, и т.д.
До 7 го еще не дошел. Но по 6 скажу вроде как каменты могут применяться только к нодам. Чтобы сделать возможность комментирования вам необходимо очень много написать кода.
Более простое решение создайте тип материала программно hook_node_info не забудьте про module_form. Вешайте эту ноду на меню и пусть ее комментируют стандартными способами. для программного создания ноды можно использовать drupal_execute, или node_save. Закройте этот тип для создания только админом и все, зачем изобретать велосипед.
На самом деле это 1 страница и вы ей передаете get параметр page.
более правильно можно сделать вот так :
'title' => 'С Новым Годом!',
'description' => 'Поздравление к Новому Году!',
'page callback'=>'examplepage_new_year',
'page arguments'=>array(1),
'access callback' => 'user_access',
'access arguments' => array('access content'),
'type' => MENU_NORMAL_ITEM
);
return $items;
function examplepage_new_year($page){
return "Поздравляем Всех с Новым годом! А это кстати страница $page";
}?>
Ну раз нет альтернативных решений. Можно по подробней? Возможно из за кривизны рук у меня не получается воплотить идею в реальность..
Альтернатива может и есть но я не знаю.
http://api.drupal.ru/api/file/developer/examples/node_example.module/6
почитайте внимательно все понятно. Обязательно использовать хуки insert, update. Затем drupal_execute формируете $form_state и отправляете создается node в form_state указываете настройки о возможности комментирования и типа комментариев, см. comment_node_type(). Если проще можно сделать drupal_execute() для 6 или drupal_form_submit() для 7 эти функции отправляют форму, как будто вы нажали кнопочку submit, использовать их не для создания материала а для создания типа материала . Как по мне это не очень хороший способ тк. пользователь имеющий права сможет удалить тип материала, те в данном случае тип материала без привязки к модулю, первый способ изящнее так сказать.