2012-01-30 69 views
0

目標:drupal的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

爲了安全起見,Drupal不建議使用Vishal,$ _POST,請檢查form_state,您將獲得$ _POST的所有數據。它可能是$ form_State ['values'] ['submissionpath']。請覈對一下。它可能有助於某人。謝謝。 – LazyD 2016-12-15 10:13:20

回答

0

我使用下面的代碼解決了這個問題。 $ _POST ['submissionpath']保存原始頁面的路徑。

function submitForm($form, &$form_state) { 

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

REQUEST_URI()肯定沒有任何意義在這裏,因爲它返回的URI這是爲了訪問該頁面給出的,這將是相同的,無論從哪個頁面上您已經來了。

你要麼需要分析HTTP_REFERER或添加目的地=從視圖中path_to_the_view到你的鏈接 - 提交它會被重定向到指定路徑表單後?

+0

我跑了調試,發現$ _POST ['submissionpath']持有用戶已經提交表單的頁面信息。所以我用了。謝謝 – 2012-02-06 14:26:30