环境:PHP 5.3.5 MySQL Server 5.5.8
现在正在使用TBS 3.7.0使用TBS 3.8.2
在我合并到TBS(TinyButStrong)的sql数据集中,我有一个发件人/收件人信息。我想显示当前不是用户的那个。我无法获得TBS IF THEN语句。
在PHP中
$user_id = getUserId(); // returns user id
...
$TBS->MergeBlock('activity',$sql_data);
在html中,第一个名称没有被填充,而姓氏是因为我只是直接请求该值,即使它可能是不正确的值。
<li>
<div id="name">
<a href="">
[
if [activity.sender_id]!=[var.user_id];
then[activity.sender_firstname];
else[activity.recipient_firstname];
block=li;headergrp=message_id;ope=max:12
]
[activity.sender_lastname;block=li;headergrp=message_id;ope=max:12]
</a>
</div>
</li>
我一直在搜索和阅读TBS手册,但使用if / else with blocks的例子不是这样的。
请有人帮我告诉我这是错误的吗?
目前我的输出如下:
[if1!=2;then Joe;else Jane;block=li;headergrp=message_id;ope=max:12] Doe
当我只想要输出为Jane时。
答案 0 :(得分:0)
您需要一个标记来指示您何时要评估if语句或它永远不会评估,只需填写变量(这就是您获得该输出的原因)。尝试:
[onshow;
if [activity.sender_id]!=[var.user_id];
then[activity.sender_firstname];
else[activity.recipient_firstname];
block=li;headergrp=message_id;ope=max:12
]
答案 1 :(得分:0)
您可以单独使用参数“if”,以便在条件不为真时隐藏值。
<li>
<div id="name">
<a href="">
[activity.sender_firstname;if [var.user_id]!=[activity.sender_id]]
[activity.recipient_firstname;if [var.user_id]==[activity.sender_id]]
[activity.sender_lastname;block=li;headergrp=message_id;ope=max:12]
</a>
</div>
</li>
还有一个条件部分的解决方案,但它们不适用于参数“headergrp”。