2012-10-17 51 views
0

我有一個symfony項目,我有一個模型,在這個例子中,我將命名爲Boat。從Boat的showSuccess頁面,我想鏈接到另一個模型的表單頁面。對於這個例子,我們將它叫做Ticket。當他們點擊鏈接時,我希望Boat對象被傳遞給Ticket表單,因爲我必須在Ticket表單頁面(newSuccess.php)上顯示一些特定的Boat字段(標題,價格等)。Symfony:從另一個模塊傳遞一個對象到一個表格

我想我的問題是,我如何將一個對象(作爲變量)傳遞給另一個模型的「新」表單頁面。我到處尋找,我似乎無法找到適合我的答案。謝謝!

UPDATE:

下面是一些我已經試過代碼:

的routing.yml租車頁面

<a href="<?php echo url_for('ticket_new_car', $car)?>" > Test </a> 

ticket_new_car: 
    url:  /ticket/:category/:iditem 
    class: sfDoctrineRoute 
    options: { model: car, type: object } 
    param: { module: ticket, action: new } 
    requirements: 
    id: \d+ 
    sf_method: [get] 

鏈接的actions.class.php

public function executeNew(sfWebRequest $request) 
    { 
    $this->item = $this->getRoute()->getObject(); 
    $this->forward404Unless($this->item); 
    $this->form = new TicketForm(); 
    } 

_form.php這個

<?php echo $item->getTitle() ?> 

我得到 「未定義的變量:項目」。除了「slug」部分之外,我在教程中做了所有的事情,因爲我沒有猛擊我的URL。我可能做錯了什麼?

回答

0

看看這個頁面

http://www.symfony-project.org/jobeet/1_4/Doctrine/en/05#chapter_05_object_route_class

,然後向下滾動到對象路由類

+0

謝謝你的鏈接。看到上面更新的問題,看看我試過的代碼,看看我做錯了什麼。 – djcloud23

+0

在routing.yml文件中,嘗試在選項行中寫入「Car」而不是「car」,所以,在選項之前:{model:car,type:object}' - > options之後:{model :汽車,輸入:object}' – ilSavo

+0

我發現我的問題是。我沒有將變量傳遞給'_form.php'部分。當我更新到'newSuccess.php'文件中的<?php include_partial('form',array('form'=> $ form,'item'=> $ item))?>'時,變量,現在我可以顯示該頁面上的字段。現在我遇到的問題是,它似乎沒有將行動中的變量傳遞給行動。我希望它能夠將'$ item-> getCategory'保存到'$ form-> setCategory'中,並且它似乎不會將該變量傳遞給'save'動作。什麼是一個簡單的方法來做到這一點? – djcloud23

相關問題