如何在 Smarty 中访问带有连字符名称的变量?
我有一个 PHP 页面,它使用 SimpleXml 解析 XML 文件,然后将该对象传递给 Smarty 模板。我的问题是 XML 文件的标签名称中包含连字符,例如 video-player
。在 PHP 中,这没问题,我只使用 $xml->{'video-player'}
,一切都很好。另一方面,当我尝试使用该语法时,Smarty 会很生气。
到目前为止,我想出的唯一解决方案是使用变量来存储名称,例如,
{ assign var=name value="video-player" }
{ $xml->$name }
但这至少可以说不是很优雅。在 Smarty 中是否有另一种更好的方法来引用带连字符的变量名称?
I've got a PHP page that parses an XML file with SimpleXml, then passes that object to a Smarty template. My problem is that the XML file has hyphens in its tag names, e.g. video-player
. In PHP, this is no problem, I just use $xml->{'video-player'}
and everything's fine. Smarty, on the other hand, throws a fit when I try to use that syntax.
The only solution I've come up with so far is to use a variable to store the name, e.g.,
{ assign var=name value="video-player" }
{ $xml->$name }
But this isn't terribly graceful to say the least. Is there another, better, approach to referring to a hyphenated variable name in Smarty?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在
Dwoo
中我会尝试一下,也许在
Smarty
中它也能工作。In
Dwoo
I'll try withmaybe in
Smarty
it will work too.您只需将其放在单引号内即可。
它也适用于比较块,例如:
而不是
You just need to put it inside single quotes.
It also works on comparission blocks like:
instead of