Свойства товара miniShop2 для шаблона

Можно ли привязать определенные свойства товара к определенному шаблону, как TV?
Evgeny Epifanov
04 февраля 2015, 17:52
modx.pro
2
2 492
0

Комментарии: 12

Наумов Алексей
04 февраля 2015, 21:01
+1
Неа.

Когда мне нужно было так сделать я создал ВСЕ нужные свойства, затем такие же TV, которые назначил шаблонам, как мне нужно, и в плагине при сохранении товара копировал значения из TV в свойства. Весь этот трюк для правильной и быстрой сортировки и фильтрации, ибо делать JOIN множества TV — накладно
    Evgeny Epifanov
    04 февраля 2015, 21:12
    0
    Ясно. Спасибо.
      Купчинский Михаил
      05 февраля 2015, 20:07
      0
      Не плохая идея) А поделиться плагином можете?
        Наумов Алексей
        06 февраля 2015, 09:25
        0
        Ну там все просто как бы…

        if ($modx->event->name == 'OnDocFormSave') {
        if($class_key == 'msProduct'){
          if ($resource->get('template') == XXX) {
            $resource->set('tyre_season', $resource->getTVValue('tv_tyre_season'));
            $resource->set('tyre_car', $resource->getTVValue('tv_tyre_car'));
            $resource->set('tyre_width', $resource->getTVValue('tv_tyre_width'));
            $resource->set('tyre_height', $resource->getTVValue('tv_tyre_height'));
            $resource->set('tyre_dia', $resource->getTVValue('tv_tyre_dia'));
            $resource->set('tyre_load', $resource->getTVValue('tv_tyre_load'));
            $resource->set('tyre_speed', $resource->getTVValue('tv_tyre_speed'));
            $resource->set('tyre_strong', $resource->getTVValue('tv_tyre_strong'));
            $resource->set('tyre_studded', $resource->getTVValue('tv_tyre_studded'));
            $resource->set('tyre_runonflat', $resource->getTVValue('tv_tyre_runonflat'));
            $resource->save();
          }
        ... обрабатываем другие шаблоны
        }
        }
          Купчинский Михаил
          06 февраля 2015, 13:19
          0
          Спасибо!
            Максим Кузнецов
            07 февраля 2015, 15:25
            0
            Не знаю почему, но

            if($class_key == 'msProduct'){
            — значение не цепляет.

            Помогло только при:

            if($resource->get('class_key') == 'msProduct'){
              Наумов Алексей
              09 февраля 2015, 08:44
              0
              Ага, все верно, это я не весь код написал, кусочек вырвал от своего
          Купчинский Михаил
          05 февраля 2015, 20:19
          0
          можно и не безвозмездно)
          Володя
          05 февраля 2015, 20:56
          0
          Василий уже давно описал этот прием — bezumkin.ru/sections/tips_and_tricks/657/
            Купчинский Михаил
            06 февраля 2015, 13:38
            0
            Мне, как не программисту сложновато во все это въезжать)
            Evgeny Epifanov
            06 февраля 2015, 18:29
            0
            Еще вопрос назрел. А можно ли создавать такие же свойства для категорий товара и для обычных документов MODx?
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            12