silverstripe - Silverstripe 4 silvershop optionsetfield 自定义两个值和日期到期(如果有)
问题描述
我的客户希望在 SilverShop 的属性上有一个位置和日期,这很好。我这样做是为了让这两个字段在后端工作。但试图将两个值组合成一个下拉列表或选项集。PHP 不是我的强项,可能非常简单。
所以下面是更改所需的代码。所以 $location 和 $thedate 是需要放在一起的值,即。伦敦 - 2020 年 4 月 24 日。
所以目前它只使用位置,我无法锻炼如何将它们与中间的连字符放在一起。
public function getOptionsetField($emptystring = null, $values = null)
{
$values = ($values) ? $values : $this->Values()->sort(['Sort' => 'ASC', 'Value' => 'ASC']);
$location = 'Location';
$thedate = 'TheDate';
if ($values->exists()) {
$field = OptionsetField::create(
'ProductAttributes[' . $this->ID . ']',
$this->Name,
$values->map('ID', $location )
);
return $field;
}
return null;
}
我想合并的另一个功能是不显示过去日期的值。所以隐藏过去的日期。即到期。这是旧的站点代码,我想知道是否可以将其合并到此代码中。
public function hasExpired() {
return (strtotime($this->TheDate) > time());
}
谢谢
解决方案
推荐阅读
- javascript - datetimepicker - 设置 defaultTime 总是返回 01 小时
- javascript - Echarts - 如何使覆盖层系列精确匹配
- sql - 在 Postgres 中循环遍历列
- python - 如何在 Python 中创建分类气泡图?
- vue.js - Vue - 对象的新实例作为另一个未嵌套的新对象的属性
- dart - 如何从毫秒(从纪元开始)获取日期?
- mirth - 如何使用 Mirth 将映射变量转换为 base64 字符串
- php - 尝试使用 preg_match 检查变量是否具有以下格式 YYYY-MM-DDTHH:MM:SS.MSSZ(ISO8601 timestamp)
- javascript - Javascript/Html .. 按钮进入当前选项卡而不是新选项卡
- outlook - Microsoft Graph 获取所有用户的日历