2011-04-04 80 views
0

我目前正在使用Symfony,我想知道如何更改默認的部分。如何更改Symfony中的默認部分?

在我的components.class.php中,我有我的_Whatever.php的executeWhatever()。不過,我想在我的executeWhatever(添加條件),所以我可以做這樣的事情:

public function executeWhatever(sfWebRequest $request) 
{ 
    if (myCondition) 
     usePartial('_firstPartial.php'); 
    else 
     usePartial('_secondPartial.php'); 
} 

我可以很容易includePartial();直接進入我的_Whatever.php,但我有一些我想根據myCondition做出的學說要求。

我發現我可以在我的executeWhatever()中使用includePartial(),除了它仍然包含默認的_Whatever.php。

所以問題很簡單:我怎樣才能改變我的組件方法executeWhatever()使用的默認部分?

+0

爲什麼不能通過$ myCondition到組件部分一則包括部分有呢? – Dziamid 2011-04-05 09:22:52

+0

因爲我說過,根據這種情況,過程是不同的(我的意思是數據庫查詢和其他東西) – MaximeBernard 2011-04-05 23:01:28

回答

1

你不能改變的部分,但嘗試以下解決方案:Symfony: Is it possible to setTemplate for components?

+0

感謝您的鏈接!所以...幾個問題: 1)「return sfView :: NONE;」會刪除默認的部分權利? 2)他用PartialHelper「手動渲染局部」是什麼意思? 3)我也在考慮重寫sfComponnents類 你怎麼看待它? – MaximeBernard 2011-04-05 23:07:32

+0

1)'返回sfView :: NONE'只會渲染任何東西; 2)'手動部分渲染'意味着你可以在組件中加載'PartialHelper'幫助器並在那裏使用'get_partial()'函數。 3)除非你在項目中明智地使用它,否則我認爲這是不必要的 – Darmen 2011-04-06 09:26:40

相關問題