К содержанию

msProducts как выводить товары на других страницах

Интересуют следующие вопросы:

1) Как с помощью msProducts вывести товары из категории на другой странице.
2) Как сделать фильтр хотя бы по одному TV/
3) Как сделать фильтр по параметрам продукта (цвет, размер… и.т.д.)

[[!getPage? &element=`msProducts` &parents=`7`    ]]

    [[!+page.nav]]

Такие опции для getPage не работают…
Fedor
Fedor
20 марта 2013, 15:34
modx.pro
7 766
Реклама

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

Fedor
Fedor Старожил
20 марта 2013, 19:50
4) Сортировка по параметрам и tv
    Василий Наумкин
    Василий Наумкин Администратор
    20 марта 2013, 20:10
    1. Параметр parents
    2. Будет в новой версии
    3. Параметр where
    4. Параметр sortby, сортировка по ТВ будет в новой версии.

    Новая версия выходит завтра.
    Fedor
    Fedor Старожил
    20 марта 2013, 20:40
    Спасибо за ответ.

    Но по традиции у меня не работает — parents :) Указываю id категории, ничего не выводит…

    А про where можно чуть подробнее? пример кода?

    Новая версия это просто отлично! Она обновится или придется ставить заново?
      Fedor
      Fedor Старожил
      20 марта 2013, 22:08
      1) Работает parents, спасибо!
        Василий Наумкин
        Василий Наумкин Администратор
        20 марта 2013, 22:18
        Where, кажется, не будет работать.

        Завтра посмотрю и поправлю.
          Fedor
          Fedor Старожил
          21 марта 2013, 01:47
          спасибо, ждем
            Василий Наумкин
            Василий Наумкин Администратор
            21 марта 2013, 12:34
            Посмотрел, параметр &where=`` должен работать, нужно указывать json как у getResources.
              Fedor
              Fedor Старожил
              21 марта 2013, 13:46
              Ок, буду пробовать! Когда релиз будет?
              Pavel Kravchuk
              Pavel Kravchuk Старожил
              22 марта 2013, 11:40
              подскажите плиз, можно ли как то делать выборку по полям таблицы ms2_products?
              Это условие работает нормально &where=`{«pagetitle:LIKE»:"%black%"}` а вот это нет &where=`{«new:=»:1}`
                Василий Наумкин
                Василий Наумкин Администратор
                22 марта 2013, 12:26
                Таблицы джойнятся под псевдонимами, поэтому указывать нужно так:
                &where=`{"Data.new":1}`
                  Fedor
                  Fedor Старожил
                  22 марта 2013, 15:19
                  Василий, ждем релиза. когда же уже обрадуете :)
                  Богдан
                  Богдан Проверенный
                  22 марта 2013, 20:27
                  После обновления до rc1, выборка через &where, к сожалению, перестала работать… Также почему-то параметр &parents перестал работать после обновления и теперь тянет все все документы из дерева.
                    Василий Наумкин
                    Василий Наумкин Администратор
                    22 марта 2013, 20:47
                    Починил, обновись еще раз.
                      Богдан
                      Богдан Проверенный
                      22 марта 2013, 21:27
                      Работает, спасибо!
        Fedor
        Fedor Старожил
        23 марта 2013, 13:51
        Василий, а как в новой версии работают фильтры по TV?
          Василий Наумкин
          Василий Наумкин Администратор
          23 марта 2013, 14:34
          [[!msProducts?
          	&includeTVs=`mytv`
          	&where=`{"TVmytv.value:LIKE":"%строка%"}`
          ]]
            Fedor
            Fedor Старожил
            24 марта 2013, 01:47
            Это вместо getPage? а будет ли постраничная навигация тогда?
              Fedor
              Fedor Старожил
              24 марта 2013, 02:01
              Все работает и с getPage :) Все очень круто!
          Fedor
          Fedor Старожил
          24 марта 2013, 03:05
          У меня у одного перестал работать parents?
            Богдан
            Богдан Проверенный
            24 марта 2013, 03:47
            Скачай обновленную версию, была такая проблема — Василий вчера исправил, уже работает.
              Fedor
              Fedor Старожил
              24 марта 2013, 12:29
              [[!getPage?  &element=`msProducts`  &parents=`7`   ]]
              
                  [[!+page.nav]]
              не хочет работать, установил rc4…

                Fedor
                Fedor Старожил
                24 марта 2013, 14:05
                У меня у одного так, да? :(
                  Василий Наумкин
                  Василий Наумкин Администратор
                  24 марта 2013, 14:08
                  Да, у тебя у одного.

                  Только что проверил на minishop2.com — нормально работает.
                    Fedor
                    Fedor Старожил
                    24 марта 2013, 14:20
                    Эх… ну чтож у меня на этот раз… :( Может плохо обновилось? Работало же до релиза…
                      Василий Наумкин
                      Василий Наумкин Администратор
                      24 марта 2013, 14:41
                      Включи вывод лога и посмотри какой запрос формируется.
                      [[!getPage?
                      	&element=`msProducts`
                      	&parents=`7`
                      	&showLog=`1`	
                      ]]
                        Fedor
                        Fedor Старожил
                        24 марта 2013, 14:56
                        Магия :) вставил ваш запрос вместо того что привел выше — все работает :)
                        Спасибо!
                          Василий Наумкин
                          Василий Наумкин Администратор
                          24 марта 2013, 15:15
                          Скорее всего, у тебя там где-нить пробел затесался, или русская буква.
            Валерий Савинов
            25 сентября 2014, 22:31
            Доброго времени суток Василий!
            Вопрос по аналогии с автором. Есть необходимость вывести товар на главную страницу целиком, со всеми полями.
            Пробовал с pdoResource, не вышло, пробовал и через msProducts напрямую, в данный момент товар выводится вот так:
            [[!msProducts? &parents=`40` &limit=`1` &tpl=`msGoldProductFirstPage.content` &includeContent=`1`]]
            msGoldProductFirstPage.content — копия стандартного чанка msProduct.content с небольшими изменениями
            В результате выходит ошибка:
            This resource is not instance of msProduct class.

            и не подхватываются значения цвета и размера(вместо них такая же ошибка)
            Как подключить msProduct class к странице?( или есть ли какой другой способ вывести один товар полностью на главную?
              Володя
              Володя Эксперт
              25 сентября 2014, 22:38
              указывайте значение product в сниппете joxi.ru/AWEkVIwyTJBUYmyQVjk
                Валерий Савинов
                25 сентября 2014, 23:27
                Спасибо — помогло, только значение
                ms2_product_price

                из словаря не подхватывается, а выводится как есть «ms2_product_price» но это я и в шаблоне поправлю.
                  Валерий Савинов
                  26 сентября 2014, 10:55
                  Обнаружилась новая проблема:
                  теперь все товары имеют те же размеры и цвета, что и указанный в msOptions — product даже если эти поля не пустые
                    Володя
                    Володя Эксперт
                    26 сентября 2014, 10:57
                    чего?
                      Валерий Савинов
                      26 сентября 2014, 11:01
                      указал id Товара в параметра msOptions.
                      У данного товара поля size и color заполнены, но значения этих полей отображаются и у остальных товаров, в том числе тех, у которых их вообще не должно быть.
                        Володя
                        Володя Эксперт
                        26 сентября 2014, 11:04
                        похоже на кеш, попробуйте вызвать msOptions некешированным…
                          Валерий Савинов
                          27 сентября 2014, 22:32
                          Видимо я вас изначально не правильно понял.
                          Значение в сниппете изменяет значение по умолчанию для всех товаров. Следовательно реакция магазина на смену была правильной.(одинаковые поля у всех товаров как у товара заданного по умолчанию)

                          А помогло собственно следующее:
                          В категории товара(товар у нас там лежит один, так как он особенный, и категория эта указана как главная страница) мы выводим все товары этой категории
                          [[!msProducts? &parents=`40` &limit=`1` &tpl=`шаблон продукта` &includeContent=`1`]]
                          шаблон продукта — не что иное как копия msProduct.content с незначительными изменениями(ну мало ли что понадобится на главной дополнительно вывести или скрыть)
                          А что бы доп поля показывались на главной в опциях цвета и размера добавляем параметр product — id Товара из которого этот параметр выводится.
                          [[!msOptions?name=`color` &product=`18`]]
                          И все начинает работать.
                            Игорь Улькин
                            Игорь Улькин Старожил
                            14 мая 2015, 18:15
                            Спасибо огромное что отписались. Ваш ответ помог в другом проблемке с msOptions
                soch
                soch Старожил
                31 января 2015, 16:52
                Подскажите как сортировать по параметрам товара, например по размеру?
                у товара есть значение: «размер 36, размер 37, размер 38», нужно вывести через pdoPage товары с значением «размер 36»
                &where=`{"size:=":размер 36}` 
                не выводит
                  Максим Кузнецов
                  Максим Кузнецов Проверенный
                  31 января 2015, 17:43
                  Попробуй msProductOption.size.

                  Да и с кавычками в запросе у тебя беда.
                    soch
                    soch Старожил
                    31 января 2015, 18:06
                    вот вызов целиком, с кавычками тоже не выводит
                    [[!pdoPage? 
                    &element=`msProducts`
                    &tpl=`catalog-item`
                    &fastMode=`0`
                    &parents=`34`
                    &includeThumbs=`250х0`
                    &includeContent=`1`
                    &where=`{"msProductOption.size:=":"размер 36"}` ]]
                      soch
                      soch Старожил
                      31 января 2015, 18:32
                      вывел с помощью сниппета выбора товаров по опциям https://bezumkin.ru/modx/minishop2/solutions/1160/
                        Дмитрий Куликов
                        Дмитрий Куликов Проверенный
                        24 марта 2016, 13:47
                        Скажите, а решилось ставить условие where на size через стандартный снипет msProducts?
                  Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                  43