создать ноду программно пример друпал
Primary tabs
в 7-ом друпале вполне себе пашет такая вот функция (просто передайте в неё заголовок длиннее z) из хука _presave_node , при условии, что длинна текста сохраняемого ноды (из которой запустится хук) не будет превышать z (число) символов - а вообще лучше просто создать новую пустую ноду.
Текст функции такой:
function make_node($title)
{
$body_text = 'This is the body text I want entered with the node.';
$node = new stdClass();
$node->type = 'article';
node_object_prepare($node);
$node->title = $title. date('c');
$node->language = LANGUAGE_NONE;
$node->body[$node->language][0]['value'] = $body_text;
$node->body[$node->language][0]['summary'] = text_summary($body_text); // аннотация
$node->body[$node->language][0]['format'] = 'filtered_html'; // формат
$path = 'content/programmatically_created_node_' . date('YmdHis');
$node->path = array('alias' => $path);
$node = node_submit($node);
//print_r($node);
if ($node = node_submit($node)) node_save($node);
return $node;
}наслаждайтесь)
- drupalDrum's blog
- Log in to post comments
- 6772 reads
Comments
drupalDrum
Thu, 06/28/2012 - 21:08
Permalink
ещё есть такой пример -
ещё есть такой пример - кажется с офф сайта - но он не проверен=
function make_node2($qwe) { global $user; $customNode = new stdClass(); $customNode->type = 'page'; node_object_prepare($customNode); $customNode->uid = $user->uid; $customNode->name = $user->name; $customNode->title = 'Your page title'; $customNode->language = 'en'; $customNode->body[$customNode->language][0]['value'] = 'Your value'; $customNode->body[$customNode->language][0]['summary'] = 'Your summary'; $customNode->body[$customNode->language][0]['format'] = 'filtered_html'; $customNode->menu['enabled'] = 1; // 1 to enable providing a link in main menu $customNode->menu['link_title'] = 'Your page link title'; $customNode->menu['description'] = 'Your page description'; $customNode->menu['parent'] = 'main-menu:0'; $customNode->menu['weight'] = 5; $customNode->path['alias'] = 'Your Alias'; $customNode->comment = 1; $customNode->status = 1; // 1 means published $customNode->promote = 0; $customNode->revision = 0; $customNode->changed = $_SERVER['REQUEST_TIME']; $customNode->created = $_SERVER['REQUEST_TIME']; node_submit($customNode); node_save($customNode); }