2011-07-12 51 views
0

我想爲管理髮電機創建我自己的模板, ,所以我遵循教程,現在我正在根據「管理員」模板創建自己的模板。 但我定義了一個名爲「rubrique」文件「newAction」在新的變數,當我試圖把它調用模板「newSuccess.php」我得到這個錯誤:未定義的變量與symfony(管理員發電機)

注意:未定義的變量:rubrique用C :\ WAMP \ WWW \ PhpProject2 \ DATA \發電機\ sfDoctrineModule \ IMMO \模板\模板\ newSuccess.php上線

  • newAction:

    公共職能executeNew(sfWebRequest $要求) {this-> rubrique = 12;

    }

  • NewSuccess.php:

    回聲$ rubrique;

PS:我已經簡化代碼

沒有任何人有一個解決方案?對不起,我的英語不好:p

+0

你的模板文件叫做'NewSuccess.php'或'newSuccess.php'。我認爲模板文件名區分大小寫。否則,它看起來應該工作。你如何告訴symfony在'generator.yml'中使用你的自定義管理生成器? –

+0

模板被稱爲 'newSuccess.php' – khelkhel

+0

generator.yml: 「發電機: 類:sfDoctrineGenerator PARAM: model_class:Rubrique 主題:IMMO non_verbose_templates:真 with_show:假 奇:〜 複數:〜 route_prefix:rubrique with_doctrine_route:true actions_base_class:sfActions' – khelkhel

回答

0

很抱歉的延遲。

好吧......我想我可能會知道你的問題。我花了一段時間修改一個項目的管理生成器,但那是在1.5年前,所以我不得不刷新我的記憶。

我說你是呼應你的變量在data\generator\sfDoctrineModule\immo\template\templates\newSuccess.php像這樣採取一個猜測:

<?php echo $rubrique; ?> 

這些文件實際上編譯,然後再執行。在第一次通過時,var $rubrique不可用。試試這個:

[?php echo $rubrique; ?] 

請注意方括號。我認爲這些文件是通過正則表達式或str_replace或其他東西運行的;我無法完全記得。

試試這個,然後清除緩存./symfony cc這很重要。它現在應該工作。

或者,覆蓋該模板,並將其放在您的模塊的目錄中,並將其與普通的php標籤一起使用。

希望這有助於:)

編輯:

你可能已經知道這一點,但如果你想描述它上面將緩存中的可重寫文件:cache\frontend\dev\modules\{$MODULE_NAME}\templates\newAction.php,其中{$MODULE_NAME}將成爲您的模塊的名稱前auto;例如:autoUser

這將覆蓋緩存的版本。將其複製到您模塊的模板目錄中,然後編輯您心中的內容。

+1

謝謝Darragh,你的回答真的很有用:) – khelkhel

0

你在這裏得到的錯誤?

C:\ WAMP \ WWW \ PhpProject2 \ DATA \發電機\ sfDoctrineModule \ IMMO \模板\模板\ newSuccess.php上線

我不熟悉的教義,而是你應該定義你的自定義操作和內模板

應用/後端/模塊/ YOURMODULE /動作(動作

應用程序/後端/模塊/ YOURMODULE /模板(用於模板)

您是否按照here描述的步驟操作? http://www.symfony-project.org/jobeet/1_4/Doctrine/es/12

問候