首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的PHPTAL语法有什么问题?

我的PHPTAL语法有什么问题?
EN

Stack Overflow用户
提问于 2011-05-12 17:21:19
回答 1查看 273关注 0票数 0

.Quick问题-我有以下工作语法:

代码语言:javascript
复制
<td tal:define="owner record/owner_id; user user/id; mode php:(owner eq user)?'_edit':'_view'; linkname php:(owner eq user)?'Edit':'View';">
  <a href="index.php?-table=${table}&amp;-action=${mode}&amp;id=${record/id}">${linkname}</a>
</td>

但我希望能够使用更短的:

代码语言:javascript
复制
<td tal:define="mode php:(record.owner_id eq user.id)?'_edit':'_view';linkname php:(record.owner_id eq user.id)?'Edit':'View';">
  <a href="index.php?-table=${table}&amp;-action=${mode}&amp;id=${record/id}">${linkname}</a>
</td>

即不必为了php:测试而定义owneruser

所以我的问题是,我如何在php:上下文中使用错误的点语法?(还有,有没有一种更简单的方式在模板中表达这一点,也就是说,不需要更改模板外部的PHP?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-13 04:18:27

只要recorduser是对象(类的实例),这种语法就很好用。如果它们是数组,那么您需要:

代码语言:javascript
复制
 tal:define="mode php:(record['owner_id'] eq user['id'])

当您使用TALES表达式时,PHPTAL会为您找出对象/数组的差异。如果使用php:,则必须注意对象和数组之间的差异。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5975869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档