我有以下代码:
<% control StaffMembers %>
<li>
Name: <h2>$Name</h2>
</li>
<% end_control %>
我想问一下,如果Name文本字段不为null或为空,我将如何显示它。 控件中的if语句不起作用:
<% control StaffMembers %>
<% if $Name %>
<li>
Name: <h2>$Name</h2>
</li>
<% end_if %>
<% end_control %>
谢谢
答案 0 :(得分:2)
您的代码看起来是正确的。在控件中调用if语句应该有效。
我还建议在你的控件周围添加一个if语句,以便在循环之前检查是否有StaffMembers
:
<% if $StaffMembers %>
<ul>
<% control $StaffMembers %>
<% if $Name %>
<li>
Name: <h2>$Name</h2>
</li>
<% end_if %>
<% end_control %>
</ul>
<% end_if %>
或者在Silverstripe 3中使用loop
代替control
:
<% if $StaffMembers %>
<ul>
<% loop $StaffMembers %>
<% if $Name %>
<li>
Name: <h2>$Name</h2>
</li>
<% end_if %>
<% end_loop %>
</ul>
<% end_if %>