【发布时间】:2017-02-05 09:41:44
【问题描述】:
我正在尝试编写一些代码来估计 Shopify 中的发货日期。我一直在学习液体,但在用 Ruby 编写一些逻辑时遇到了麻烦。我不确定 Shopify 模板是使用 Ruby 还是 Ruby on Rails。
我想获取今天的日期并根据输入变量添加 3 天或 5 天,周末除外。下面是我在 PHP 中的做法:
$orderDate = date('Y-m-d');
$personalized = true;
$orderDays = ($personalized ? 4 : 2);
(date('H') > 12 ? $orderDays++ : $false);
$d = new DateTime( $orderDate );
$t = $d->getTimestamp();
// loop for X days
for($i=0; $i<$orderDays; $i++){
// add 1 day to timestamp
$addDay = 86400;
// get what day it is next day
$nextDay = date('w', ($t+$addDay));
// if it's Saturday or Sunday get $i-1
if($nextDay == 0 || $nextDay == 6) {
$i--;
}
// modify timestamp, add 1 day
$t = $t+$addDay;
}
$d->setTimestamp($t);
echo $d->format( 'Y-m-d' ). "\n";
为 Shopify Liquid 编写此内容的最佳方式是什么?
【问题讨论】:
-
请注意:Shopify 的 Liquid 模板不允许您执行 Ruby。您需要使用 Liquid 中的内置过滤器或切换到使用 JavaScript 来实现此功能。
-
谢谢。放弃了 Ruby,改用 JS。