2011-05-12 5 views
0

.Quick 질문 - 나는 다음, 작업 구문이 있습니다PHPTAL 구문에 어떤 문제가 있습니까?

<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> 

을하지만 난 사용할 수 있도록 기다리고 있었다 짧은 :

위해 owneruser을 정의하지 않아도 즉
<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: 테스트를 위해 그들에게 연락하십시오.

제 질문은 php: 컨텍스트에서 도트 구문을 잘못 사용하고 있습니다. (템플릿 내부의 PHP를 변경하지 않고 템플릿 내에서 표현하는 더 간단한 방법이 있습니까?

답변

1

recorduser이 객체 (클래스의 인스턴스) 인 한이 구문은 유효합니다. 다음이 필요합니다

tal:define="mode php:(record['owner_id'] eq user['id']) 

당신이 TALES 표현식을 사용, PHPTAL 당신을 위해 객체/배열의 차이를 파악하면 php:를 사용하는 경우, 당신은 객체와 배열 사이의 차이를 조심해야

..
관련 문제