Поле опций Silverstripe 4 Silvershop можно настроить с двумя значениями и датой истечения срока, если это возможно. - PullRequest
1 голос
/ 30 марта 2020

Мой клиент хочет указать местоположение и дату для атрибутов SilverShop, что хорошо. Я сделал это, чтобы позволить двум полям работать в конце. Но пытаясь объединить два значения в раскрывающийся список или набор параметров. PHP не моя сильная сторона и, вероятно, очень проста.

, поэтому ниже приведен код, необходимый для изменения. Таким образом, $ location и $ thedate - это значения, которые нужно сложить ie. Лондон - 24/04/2020.

Так что на данный момент он работает только с местоположением, и я не могу понять, как соединить их с дефисом посередине.

   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;
}

Другая функция Я хотел включить, чтобы не показывать значения с прошедшими датами. Так что скрывайте прошлые даты. ie срок действия. Это был старый код сайта, и мне было интересно, могу ли я включить его в этот код случайно.

public function hasExpired() {
return (strtotime($this->TheDate) > time());
}

Спасибо

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...