Ответы
Да, Rules.
Событие - сохранение материала. Реакция - переадресация страницы.
Вот пример как на dru.io работает переадресация на страницу вопроса после добавления ответа (можно импортировать через /admin/config/workflow/rules/reaction/import):
{ "rules_redirect_to_question_after_answer" : {
"LABEL" : "Redirect to question after answer",
"PLUGIN" : "reaction rule",
"OWNER" : "rules",
"REQUIRES" : [ "rules" ],
"ON" : { "node_insert--answer" : { "bundle" : "answer" } },
"IF" : [
{ "entity_has_field" : { "entity" : [ "node" ], "field" : "field_answer_question_reference" } }
],
"DO" : [
{ "redirect" : { "url" : [ "node:field-answer-question-reference:url" ] } }
]
}
}
Попробовал создать правило переадрессации страyнцы на один из views. Написал относительную ссылку. При сохранении статьи вылетает сервер Apache вместо переадрессации.
Как правильно написать относительную ссылку что ли? Или в Apache дело?
не могу сказать, он должен в логах что-то писать, почему вылетел.
А если попробовать через Trigger сделать переадресацию на views (представление)?
У views вообще есть токены или надо адрес страницы прописывать?
Спасибо.
я признаться, не уверен что trigger умеет, давно не смотрел даже.
для вьюса - адрес.
Можно, альтернуть форму создания ноды через hook_form_FORM_ID_alter(), повесить туда дополнительный коллбэк,
$form['#submit'][] = 'MY_MODULE_extra_callback';
в котором сделать
function MY_MODULE_extra_callback($form, &$form_state) {
drupal_goto('<front>');
}
А можно и через rules.
function hook_node_insert($node) {
if ( !in_array('administrator', $GLOBALS['user']->roles) ) {
drupal_goto('front');
}
}
http://xandeadx.ru/blog/drupal/628
function mymodule_form_article_node_form_alter(&$form, &$form_state) {
$form['actions']['submit']['#submit'][] = 'mymodule_article_node_form_submit';
}
function mymodule_article_node_form_submit($form, &$form_state) {
$form_state['redirect'] = 'my/super/page';
}
Rules или custom справятся
rules я не использую по причине "его называют медленным". поэтому я бы делал так:
создать хук node_view() в котором вы сравниваете это новая недавно добавлення нода или нет, например так: является ли нода просмотренной этим пользователем и является ли он автором. если да - то добавить мета-тег refresh или даже сделать пхп-редирект если такое возможно на этом уровне
попробуйте сами разобраться. Возьмите сайт на локалхосте, разберитесь как делается нагрузочное тестирование, посмотрите результаты с рулезом и без, и принимайте решение. Не обязательно верить всему что говорят -- может, говорили в 2006м году, а сейчас это уже не актуально?
Уточните, пожалуйста, что вы подразумеваете под этим ?
Пользователь написал материал, а потом его, после сохранения материала направили на главную страницу.