我有一些定義像「action ='[module]/[action]'」&提交的動作。 結果是 '[CURRENTURL]/[模塊]/[動作]' 而不是 '[模塊]/[動作]',我想不通爲什麼,這裏的代碼:Symfony 1.4錯誤的URL路由
在前面:
<a href="<?php echo (isset($disabledMajSuivi) && $disabledMajSuivi ? "#" : "javascript:showYesNoDialog('". addslashes(__('enquete.visu.msg.confirmation.majsuivi')). "', 'majSuivi')"); ?>" >
<?php echo __('enquete.visu.majsuivi');?>
</a>
showYesNoDialog是一個JavaScript函數,其中第一個參數是句子顯示和第二arg是回調函數,所以「majSuivi」叫回來,看起來像這樣:
<script>
function majSuivi(response) {
if(response == 'yes') {
document.forms[0].action = "module_name/majsuivi";
document.forms[0].submit();
}
}
這已進行調試時,條件是true
。
行動「majSuivi」(即大)結束這樣的:
$this->redirect('enquete/visu?enq_id='.$enq_id
. (!is_null($personneMorale) ? '&pm_id='.$personneMorale->getPmId() : ''));
但由於錯誤的URL的執行任何動作(所以actualy這部分代碼是一種無用的)。
所以當URL應該是:http://[baseUrl]/index.php/module_name/majsuivi
相反,它是:http://[baseUrl]/index.php/enquete/visu/enq_id/24/menu_id/module_name/majsuivi
凡/index.php/enquete/visu/enq_id/24/menu_id/
是當前的URL只是打電話「majSuivi行動之前。 每次我點擊 「A HREF」 按鈕,添加 「MODULE_NAME」 的網址類似以下內容:
點擊 - >http://[baseUrl]/index.php/enquete/visu/enq_id/24/menu_id/module_name/majsuivi
CLICK2 - >http://[baseUrl]/index.php/enquete/visu/enq_id/24/menu_id/module_name/module_name/majsuivi
CLICK3 - >http://[baseUrl]/index.php/enquete/visu/enq_id/24/menu_id/module_name/module_name/module_name/majsuivi
etc ...
我不認爲它來自routing.yml配置文件,但如果有人認爲它可以,我會寫它的內容。
感謝您的幫助
非常感謝,這是非常有用的信息,espacially第三個選項,我認爲。 – Robert