Автоматическое создание ноды по клику по ссылке

Главные вкладки

Аватар пользователя iNFerNo iNFerNo 2 июня 2011 в 14:13

Реально ли осуществить???

Задача стоит такая.

Пользователь заходит в профиль кликает на ссылку - подать заявку. После чего заявка подана (т.е. создалась нода, которая вылезает в профиле во вьюшной табе Заявки (список всех поданных заявок), у админа ).

Нода автоматически составляется... по разным полям (заголовок, содержание, тащит заполненные данные из полей профиля (или полей контент_профайлс). Это нужно чтобы вручную не забивать юзерам. И сократить им время.

После чего админ одобряет заявку (ручками меняет статус её) и выполняет действия по заявке. после чего пользователю высылается письмо с каким то текстом... Отработанные заявки архивируются где-то во вьюхе у админа.

как такое осуществить?

пи.эс. заполнение заявки только определенной роли и только 1 раз (1 раз реши вопрос рулесами и модулем ноделимит)для определенного типа материала.

Комментарии

Аватар пользователя iNFerNo iNFerNo 2 июня 2011 в 16:44

ну например тут не понятно КАК

http://xandeadx.ru/blog/drupal/132

и что значит программно... нужно же завести тип материала а потом уже... при клике на ссылку на создание или еще какую... все бы создавалось... + не плохо бы еще подтверждение создания типа вы действительно хотите создать... а то случайный клик по экрану и все...

Аватар пользователя iNFerNo iNFerNo 2 июня 2011 в 16:50

вот например такой код куда вставлять то??? и как его прикрутить к ссылке

<?php
$node = new StdClass();
$node->type = 'official_photo';
$node->title = t('Sample official photo');
$node->taxonomy[4] = 15; // Candid shots gallery
$file_temp = file_get_contents('./profiles/multisite/files/official-photo.png');
$file_temp = file_save_data($file_temp, file_directory_path() .'/official_photos/official-photo.png', FILE_EXISTS_RENAME);
$node->field_photo = array(
array(
'fid' => 'upload',
'title' => basename($file_temp),
'filename' => basename($file_temp),
'filepath' => $file_temp,
'filesize' => filesize($file_temp),
),
);
$node->uid = 1;
$node->status = 1;
$node->active = 1;
$node->promote = 1;
node_save($node);
?>

или такое
<?php
$newnode = new stdClass();
$newnode->title = 'title';
$newnode->body = 'whatever full html you like';
global $user;
$newnode->uid = $user->uid;
$newnode->name = $user->name;
$newnode->type = 'page';
$newNode->format = 2; // 1 - filtered html, 2 - full html, 3 - php
$newnode->status = 1; // 1 - опубликован
$newnode->promote = 0;
$newnode = node_submit($newnode);
node_save($newnode);
?>

Аватар пользователя iNFerNo iNFerNo 2 июня 2011 в 16:48

"Cozmi" wrote:

да нет можно и ссылочки в те места где об этом уже рассказывали...

пи.эс. можно и код если это не трудно (никто не откажется даже я).