برای ساخت یک node می بایست ابتدا یک کلاس ایجاد کنید و پس از پر کردن property های آن که برخی از آنها همانند تیتر و زبان و ...، جزو مشخصات پایه پیش فرض هر node ای است و برخی دیگر که همان اسم فیلدهای ساخته شده توسط شماست؛ آن را ذخیره کنید:
$body_text = 'This is the body text I want entered with the node. www.asrepayesh.com'; $node = new stdClass(); $node->type = 'article'; node_object_prepare($node); $node->title = 'Node Created Programmatically on ' . 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_save($node);
stdClass Object ( [type] => article [status] => 1 [promote] => 1 [sticky] => 0 [uid] => 0 [created] => 1283285249 [revision] => [comment] => 2 [menu] => Array ( [link_title] => [mlid] => 0 [plid] => 0 [menu_name] => main-menu:0 [weight] => 0 [options] => Array ( ) [module] => menu [expanded] => 0 [hidden] => 0 [has_children] => 0 [customized] => 0 [parent_depth_limit] => 8 ) )
برای این کار همان روش بالا را پی می گیریم ولی این بار کلاس node را از خود دروپال میخواهیم. برای این کار از node_load استفاده می کنیم:
$nid = 1; $node = node_load($nid); $node->title = 'Updated Title Text'; node_save($node);
به همین راحتی! اگر سوال و یا مشکلی در اجرای این کد ها داشتید از بخش دیدگاه ها ما را مطلع کنید.
پیوندها
[1] https://www.asrepayesh.com/category/28/%D8%AF%D8%A7%D9%86%D8%B4%D9%86%D8%A7%D9%85%D9%87
[2] https://www.asrepayesh.com/category/232/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C
[3] https://www.asrepayesh.com/category/236/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%AA%D8%AD%D8%AA-%D9%88%D8%A8
[4] https://www.asrepayesh.com/category/235/%D8%B2%D8%A8%D8%A7%D9%86-%D9%87%D8%A7
[5] https://www.asrepayesh.com/category/233/%D8%B2%D8%A8%D8%A7%D9%86-php