2017-08-22 99 views
0

在我的Symfony控制器我想呈現鬍鬚PHP模板,一個主義實體:渲染主義實體模型小鬍子PHP模板

// The Doctrine entity, a dump($user) shows the correct entity 
$user = $this->get('x_service')->getUserById($id); 

$templateFile = file_get_contents('.../path/to/file'); // tested, it works 
$mustache = new \Mustache_Engine(); 
$renderedTemplate = $mustache->render($templateFile, array('user' => $user)); 

模板文件看起來是這樣的:

<p> 
    User name: {{ user.name }} 
</p> 

但該變量未放入模板中。它只顯示「用戶名:」字符串。我也嘗試沒有關聯數組:

$renderedTemplate = $mustache->render($templateFile, $user); 

// the template file: 

<p> 
    User name: {{ name }} 
</p> 

這也沒有工作。

然而,當我把另一個變量與關聯數組,這並不表明:

$renderedTemplate = $mustache->render($templateFile, array('user' => $user, 'meh' => 'hem')); 

// the template file: 

<p> 
    User name: {{ name }} <- still no output 
    Meh: {{ meh }} <- this does give output 
</p> 

一些詳細信息:我只是想呈現在我的控制器這個小小鬍子模板。對於控制器響應,我使用Twig。這是因爲我只是重複使用前端Mustache.js模板。

編輯

當我讀到the manual,它應該工作給予模型中的一個對象:

enter image description here

+0

小鬍子想要一個數組,給出一個「實體」。建議保溼數組,每個:http://doctrine-orm.readthedocs.io/en/latest/reference/dql-doctrine-query-language.html#array-hydration – bishop

+0

對於你的編輯:它不會工作,如果你的用戶屬性不是「公共」的。 TWIG稱之爲吸氣劑,我不知道小鬍子是否也這樣做。嘗試'{{user.getName}}' – LP154

+0

@ LP154那就做了。我很習慣私人類變量,我沒有注意到。你可以發佈這個答案嗎? – BigJ

回答

1

,如果你的用戶屬性是不公開它不會工作。

嘗試{{ user.getName }}