Работа msearch2 и как лучше решить задачу?

Здравствуйте.

Можно ли с помощью msearch2 из коробки выводить результаты поиска:
1. В разных чанках в зависимости от используемого шаблона или родительской папки товара?
2. Определять порядок вывода результатов опять же в зависимости от шаблона или категории

Мне нужно искать товар из основной папки исключительно по забитым в его tv артикулАМ (несколько через запятую). Также нужно искать аналоги товара из папки «Аналоги» (те же артикулы в tv). Основной товар первый в одном чанке, аналоги — в других чанках за основным. Достаточно ли для этого msearch2 или нужно ставить minishop? или может ни то ни другого не достаточно для такой задачи?
Andrey
28 февраля 2017, 18:59
modx.pro
1 164
0

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

Konstantin
01 марта 2017, 10:52
0
1. В разных чанках в зависимости от используемого шаблона или родительской папки товара? –
Через феном точно можно
{if ...}
{$tpl = 'название чанка'}
{else}
{$tpl = 'название чанка'}
{/if}
и в сниппете…
'tpl' => $tpl,

    Алексей Ерохин
    01 марта 2017, 12:16
    0
    Я решал похожую задачу следующим образом.

    Создавал свой сниппет поиска, в котором вызывал msearch2 несколько раз для поиска в разных категориях для сегментации. Потом просто конкатенировал результаты.
      Евгений Webinmd
      01 марта 2017, 12:19
      0
      1) Использовать tplCondition

      [[!pdoResources?    
      ....
      &tplCondition=`template`  
      &conditionalTpls=`{"1":"tpl1","2":"tpl2"}`
      ]]
      2) пример:
      &sortby=`{"parent":"ASC","template":"DESC"}`
        Andrey
        01 марта 2017, 13:47
        0
        а можете подробнее расписать эту связку msearch2 + pdoResources + tplCondition? Я что-то не понял, как увязать их вместе…
          Евгений Webinmd
          01 марта 2017, 13:53
          0
          Делаете форму поиска, обработчиком является некая страница, на которой вы выводите результаты поиска.
          На странице результата поиска:
          [[!mSearch2? &returnIds=`1` &limit=`0` &toPlaceholder=`results` ]]


          И чуть ниже, на той же странице уже сами страницы
          [[!pdoResources?
              &parents=`0` 
              &resources=`[[!+results:default=`999999999`]]` 
              &depth=`5`
              &limit=`16`  
              &tpl=`tpl1`
              &limit=`20` 
              &tplCondition=`template`  
              &conditionalTpls=`{"1":"tpl1","2":"tpl2"}`
          ]]
          Там уже при использовании можете переписать под fenom, я показал с старого какого-то проекта кусок кода
            Andrey
            01 марта 2017, 14:16
            0
            спасибо большое, буду пробовать.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        6