我正在使用WHMCS 5.3.x
Smarty 2.x
IIRC。
因此,例如{$service.regdate}
呈现:
2015-06-01
我需要做的是在该日期添加一个月:
2015-07-01
...然后我可以格式化:
|date_format:"%m/%d/%Y"
...按照我想要的方式显示它。
我根据Google的搜索结果做了很多尝试:
{"+1 month $service.regdate"|date_format:"%m/%d/%Y"}
{strtotime("+1 month",$service.regdate)|date_format:"%m/%d/%Y"}
...以及其他一些不同的迭代,但输出通常只呈现我的初始日期或根本没有。
我还需要生成从$ smarty.now到$service.regdate + 1 month
的剩余天数,以便向客户展示剩下的天数。
我没有找到差不多的信息。
我知道你可以在PHP中做大部分(如果不是全部),然后将其分配给Smarty变量,但是,我没有找到一个有效的例子,如果你之前曾经使用过WHMCS支持,他们就不会除了"ask the forums"
,"talk to modulesgarden"
或"open a feature request"
谢谢=)
答案 0 :(得分:1)
Sylvain 100%正确,使用MySQL是正确的解决方案:
{php}
$userid = $this->_tpl_vars['clientsdetails']['id'];
$result = mysql_query("
SELECT *,
DATE_ADD(tblhosting.regdate,INTERVAL 1 MONTH) as trialexpires,
DATEDIFF(DATE_ADD(tblhosting.regdate,INTERVAL 1 MONTH),CURDATE()) as trialdaysleft
FROM tblhosting,tblproducts
WHERE userid = $userid
AND tblhosting.packageid= tblproducts.id
AND tblhosting.domainstatus='Active'"
);
$services = array();
while ($data = mysql_fetch_array($result)) {
array_push($services, $data);
}
$this->_tpl_vars['services'] = $services;
{/php}
谢谢=)