我正在与WHMCS 5.3.x
合作,Smarty 2.x
IIRC。
例如{$service.regdate}
渲染:
2015-06-01
我需要做的是在日期上加一个月:
2015-07-01
…然后我可以用:
|date_format:"%m/%d/%Y"
…以我想要的方式显示它
我已经尝试了很多基于谷歌结果的东西,比如:
{"+1 month $service.regdate"|date_format:"%m/%d/%Y"}
{strtotime("+1 month",$service.regdate)|date_format:"%m/%d/%Y"}
…还有一些其他不同的迭代,但输出通常只显示我的初始日期,或者什么都不显示。
我还需要生成$smarty的剩余天数。现在转到$service.regdate + 1 month
,这样我就可以告诉我的客户还剩多少天了。
这方面的资料我还没有找到。
我知道你可以在PHP中完成大部分(如果不是全部),然后将其分配给Smarty变量,但是,我还没有找到一个有效的例子,如果你以前使用过WHMCS支持,他们并没有真正给你太多的东西,除了"ask the forums"
, "talk to modulesgarden"
或"open a feature request"
Thank you =)
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}
Thank you =)