0

Цель:Друпал 7: перенаправлять комментарии в представлении

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

В то же время, если пользователь комментирует узел и НЕ использует МОЙ ПРОСМОТР, они не должны перенаправляться. Другими словами, перенаправление будет использоваться только на моем представлении.

Мой код ниже работает хорошо, но, к сожалению, все формы комментариев сайтов начинают перенаправляться. Я просто хочу перенаправить пользователей, которые используют мой просмотр панели на пути/newvc, чтобы перенаправить.

Мой код:

function customchatter_form_comment_form_alter(&$form, &$form_state, $form_id){ 

$form['#submit'][] = 'submitForm'; 
} 

function submitForm($form, &$form_state) { 
$form_state['redirect'] = 'newvc'; // need to redirect 
} 

Моя логическая проблема:

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

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

$url_components = explode('/', request_uri()); 


if ($url_components[1]=='comment' && $url_components[2]=='reply') { 
// no use as this still targets all the comments. 
} 
+0

Vishal, $ _POST не рекомендуется Drupal по соображениям безопасности, пожалуйста, проверьте form_state, и вы получите все данные $ _POST. Это может быть $ form_State ['values'] ['submissionpath']. Пожалуйста, перекрестите проверку. Это может помочь кому-то. Благодарю. – LazyD

ответ

0

Я решил использовать этот код. $ _POST ['путь передачи'] содержит путь к исходной странице.

function submitForm($form, &$form_state) { 

print $form; 
$form_state['redirect'] =$_POST['submissionpath']; 
} 
0

REQUEST_URI(), конечно, не имеет никакого смысла здесь, потому что она возвращает URI, который был дан для того, чтобы получить доступ к этой странице, и это было бы то же самое, независимо от того, с какой страницы вы пришли.

Вам нужно либо проанализировать HTTP_REFERER, либо добавить? Destination = path_to_the_view к вашей ссылке из представления - после отправки формы она будет перенаправлена ​​на заданный путь.

+0

Я запустил отладку и обнаружил, что $ _POST ['submissionpath'] хранит информацию о странице, которую пользователь подал ей. Поэтому я использовал это. спасибо –

 Смежные вопросы

  • Нет связанных вопросов^_^