2013-01-15 23 views
1

我繼承了一個symfony項目,我試圖創建一個新的動作。創建一個新的動作

我已經去了/frontend/modules/theModuleName/actions/actions.class.php文件,並創建了一個新的函數(已經有幾個),並遵循命名爲executeFunctionName的命名指南。

然而,當我嘗試從一個模板,像這樣稱呼它:

<form action="/frontend_dev.php/theModuleName/functionName" method="post">我只是得到錯誤,這是行不通的。

還有什麼需要做的來創建一個新的動作?

+0

與您的其他問題有什麼不同? [如何在symfony中創建一個動作?](http://stackoverflow.com/questions/14328813/how-to-create-an-action-in-symfony) – j0k

+0

無。沒有得到任何答覆,所以我試圖在幾個小時後用不同的措辭。隨時關閉。無論如何,我得到了它的工作。顯然你需要一個相應的模板。 –

+0

好吧,刪除你認爲不那麼有建設性的那個,然後發表一個答案給另一個並接受它。 – j0k

回答

2

我假設你的錯誤是404(找不到)。只有當你仍然有默認的路由規則時纔有效:

default_index: 
    url: /:module 
    param: { action: index } 

default: 
    url: /:module/:action/* 

否則只是制定規則。像這樣:

my_route: 
    url: /my-custom-url.html 
    param: { module: theModuleName, action: functionName } 
+0

對不起,我應該更清楚我得到的錯誤。我得到'500 |內部服務器錯誤| sfRenderException 模板「actionSuccess.php」不存在或在「」中無法讀取 –

+0

由於錯誤消息表明您沒有該操作的模板,因此請創建/ frontend/modules/theModuleName/templates/actionSuccess。 PHP文件。 – erdeszt

+0

erdeszt的含義是什麼,它需要一個帶有方法(函數)名稱和模板模板文件夾中的Success後綴:functionNameSuccess.php的模板。 –

相關問題