Создание узла Drupal - назад к источнику после создания - PullRequest
0 голосов
/ 12 ноября 2010

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

В настоящее время по умолчанию используется страница представления узла. Я предполагаю, что должен быть способ добавить некоторый код, чтобы после создания узла он по умолчанию возвращался к своему источнику. И.Е. страница, с которой был создан узел.

спасибо:)
ОБНОВЛЕНИЕ: Получил ниже, но не до конца уверен, как убедиться, что он перенаправляет обратно на узел GROUP, откуда он был создан,

<?php 

/**
* Grabs current node ID
*/

$node_nid = nid; 

/**
* Implements hook_form_alter().
*/
  function mod_form_alter(&$form, $form_state) {
  $form['buttons']['submit']['#submit'][] = 'mod_form_finish_redirect';
  unset($form['buttons']['preview']);
}

/**
 * Custom submit handler. Overwrites the form redirection variable.
 */

function mod_form_finish_redirect($form, &$form_state) {
  $form_state['redirect'] = '/content/<?php print $node_nid; ?>';
}
?>

Ответы [ 3 ]

1 голос
/ 12 ноября 2010

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

0 голосов
/ 08 февраля 2011

У меня было такое же требование.Правила работали для меня.

0 голосов
/ 12 ноября 2010

Правила (как говорит «Мы любим Drupal») - это возможность, но также и довольно большой модуль для такого небольшого изменения в поведении. Другой вариант - написать собственный модуль, реализующий hook_form_alter , устанавливающий # значение перенаправления формы.

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

...