Drupal → Как программно вывести форму создания ноды
Код, который возвращает в переменную $output
форму создания материала типа article
:
Drupal 7:
module_load_include('inc', 'node', 'node.pages'); $type = 'article'; $node = (object)array( 'uid' => $GLOBALS['user']->uid, 'name' => isset($GLOBALS['user']->name) ? $GLOBALS['user']->name : '', 'type' => $type, 'language' => LANGUAGE_NONE ); $form = drupal_get_form($type . '_node_form', $node); $output = render($form);
или:
module_load_include('inc', 'node', 'node.pages'); $form = node_add('article'); $output = render($form);
Drupal 6:
module_load_include('inc', 'node', 'node.pages'); $type = 'article'; $node = array( 'uid' => $GLOBALS['user']->uid, 'name' => isset($GLOBALS['user']->name) ? $GLOBALS['user']->name : '', 'type' => $type, 'language' => '' ); $output = drupal_get_form($type . '_node_form', $node);
Комментарии
А почему не
global $user;
вместо $GLOBALS['user'] ?без разницы
а возможно как-то создать объект $form, а не уже готовую к показу html-форму?
node_form()
А можно как-то вывести в эту форму в поле Body дефолтный предустановленный текст, если стоит TinyMCE?
Добавляю в массив $node строчку
Возможно, это тема для отдельной статьи, но очень интересует вопрос:
Как программно вывести форму создания entiy_type entity_bungle
то есть для типа сущности созданного с помощью модуля Entity API?
Здесь: Работа с сущностями с помощью Entity metadata wrappers почитал, но ответа не нашел.
пытался так:
но не работает, то ли надо какой-то файлик подключить, то ли другой id формы, то ли надо ещё какую-то сущность типа $node получить...
Решил:
Хочу сказать, что в этом способе не будут работать дефолтные ajax виджеты, типа аплоада файлов и т.д..
о спасибо!!! не понимал почему у меня форма не отображалось, оказываться надо было include делать эххх
Добрый день
Пытаюсь использовать тип материала в качестве "отзыва".
Видел в некоторых проектах возможность оставлять отзыв, только один раз в каждой ноде.
Отзывы можно комментировать без ограничений.
Как пример можно взять тостер.
Попробовал вывести как вы предложили, но вероятно нужно еще связать ноды.
Не могли бы вы подсказать, как это сделать ?
Спасибо
с чем связать? какие ноды?
Не ноды, а типы материала.
Основные и те которые в качестве отзыва.
как сделать чтобы работали дефолтные ajax виджеты, типа аплоада файлов и т.д.. ?
А как это сделать в 8 друпале?
Оставить комментарий