Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; GeSHi has a deprecated constructor in /var/www/u2955091/data/www/drupalfly.ru/libraries/geshi/geshi.php on line 259

Вывод формы создания материала

02.04.2015

Здравствуйте, помогите пожалуйста. Нужно вывести на страницу регистрации\авторизации форму создания материала. Нашёл для этой задачи модуль "Form block", но он выводит полное создание ноды, в том числе и настройки для публикации (создание ссылки в меню, настройка комментариев, параметры публикации, информация о редакции - все вкладки, которые доступны администратору), да и ещё не показывается авторизованным пользователям, только администратору, хотя в ролях настройки блока указал "авторизованные, администратор". Подскажите как вывести и темизировать форму создания материала?
P.S. Нашёл, что с этим можно справиться при помощи функции drupal_get_form. Если можно при помощи этого разобраться с моей проблемой, то где использовать эту функцию? PHP code в самом блоке?

-->
Узнавай о новых статьях сайта - первым. Просто подпишись на рассылку.

Комментарии (2)

Profile picture for user pantey
pantey
02.04.2015

открываете template.php вашей темы и пишите, либо дописываете следующее:

<?php
/**
 * Implements hook_form_alter
 */
function THEME_form_alter(&$form, &$form_state){
  $type_form = array('user-register-form', 'user-login');   // массив с ID форм, где необходимо выводить форму добавления контента
  if(in_array($form['#id'], $type_form)){
    $content_type = 'article';                              // машинное имя типа материала, форму которого необходимо вывести
    module_load_include('inc', 'node', 'node.pages');
    $addform = node_add($content_type);                     // получили массив формы типа материала
    $form['#suffix'] = render($addform);                    // вывели отрендеренную форму добавления контента после формы регистрация/авторизация
  }
}

THEME - меняете на название своей темы.

Profile picture for user 1541
Алексей
03.04.2015

Спасибо за ответ! Обошёлся без редактирования template.php, но остался последний вопрос: как темизировать форму ввода материала, нашёл похожую статью у вас на сайте, но там написано про webform, а я не использовал этот модуль, но использовал field collection. Подскажите через какой файл и функцию редактируется форма ввода содержимого. Заранее спасибо.