0

环境:PHP 5.3.5 MySQL 服务器 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

当我只想输出简时。

4

2 回答 2

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
    ]
于 2014-01-10T16:08:28.197 回答
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”。

于 2014-01-10T23:15:46.970 回答