shogodev / argilla

Argilla is a production CMS based on the Yii Framework. Created by Shogo.RU team.
http://argilla.ru/
29 stars 16 forks source link

Вопрос по модификациям #216

Closed FajeSu closed 8 years ago

FajeSu commented 8 years ago

Как правильно работать с модификациями продукта?

При добавлении новой модификации происходит ошибка отсутствия атрибута default_modification, нужно ли добавить это поле в таблицу {{product}} или это делается через параметры? Ради эксперимента добавил поле...

Метод BModificationBehavior::getParentModel() отдает null, потому что геттер доходит до метода CActiveRecord::getRelated() и в строке 265 отдает null

$relation=$md->relations[$name];
if($this->getIsNewRecord() && !$refresh && ($relation instanceof CHasOneRelation || $relation instanceof CHasManyRelation))
  return $relation instanceof CHasOneRelation ? null : array();
tatarinov commented 8 years ago

Для работы модификации поле default_modification не требуется. Код использующий default_modification попал в аргилу случайно. Он использовался для реализации специфической seo задачи, на одном проекте.

Из BModificationBehavior нужно удалить код:

    //to do: добавить параметр блокирующей отключение одного значения
    $this->owner->attachBehavior('radioToggleBehavior', array(
      'class' => 'RadioToggleBehavior',
      'conditionAttribute' => 'parent',
      'toggleAttribute' => 'default_modification'
    ));

    $this->owner->enableBehavior('radioToggleBehavior');
FajeSu commented 8 years ago

Хорошо, спасибо.

А что со вторым вопросом? Это при создании модификации: img-2016-09-15-12-31-50

tatarinov commented 8 years ago

Обновите BModificationBehavior