AjaxSnippet не принимает Fenom и INLINE

  1. Пробовал параметр wrapper для AjaxSnippet использовать как @INLINE, но он его даже не видел и подхватывал оформление по-умолчанию
  2. Пробовал переписать чанк на Fenom, но сниппет упорно не видел параметр {$key}, только как [[+key]]
  3. Никак не получается подгружать сниппет по клику:
    // вызов сниппета
     {'AjaxSnippet'|snippet:[
        'snippet' => 'getTickets',
        'as_mode' => 'onclick',
        'as_trigger' => 'Нажми',
        'as_target' => '#items-recent',
        'parents' => 9,
        'wrapper' => 'tpl.ajaxsnippet.wrapper.main.week',
        'tpl' => 'tpl.ads.1',
        'limit' => 12,	
    ]}
    // tpl.ajaxsnippet.wrapper.main.week
    <span class="uk-text-warning uk-h3 uk-link" id="[[+key]]">за неделю</span>
    // блок для загрузки результатов
    <div id="items-recent"></div>
    1. Не могу понять для чего и куда вставляется текст из параметра as_trigger
    2. Скиньте пожалуйста работающий пример AjaxSnippet с подгружением по клику!
Кто-нибудь сталкивался с такими проблемами у AjaxSnippet? Как их решить?
Василий Столейков
01 ноября 2016, 11:00
modx.pro
1
2 205
0

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

Василий Столейков
01 ноября 2016, 14:24
1
0
1. Как я понял, ссылку для клика нужно подставлять как-раз в параметр wrapper. И если у нас по сайту разбросаны десятки разных таких ссылок, то значит прийдётся создавать под каждую из них отдельные чанки???
    Василий Столейков
    01 ноября 2016, 14:35
    1
    0
    Но даже с чанком, не могу заставить ссылку загружать данные… Обновил топик с очередным вопросом.
    Скиньте пожалуйста примеры вызовов с кликом по ссылке — у меня никак не запускается...
      Владимир
      01 ноября 2016, 15:00
      0
      а если некешированым
      {$_modx->runSnippet('!AjaxSnippet', [
      ?
        Василий Столейков
        01 ноября 2016, 15:03
        1
        0
        То же самое. То есть ссылка из wrapper выводится
        <span class="uk-text-warning uk-h3 uk-link" id="[[+key]]">за неделю</span>
        Но при нажатии на неё ничего не происходит. И дело не в спане, с тегом a тоже не работает…

        Обычный вызов onload подгружает, а вот при клике никак…
      Василий Столейков
      02 ноября 2016, 09:29
      1
      0
      1. Заметил, что параметры wrapper и as_trigger взаимоисключают друг друга.
        В моём представлении было, что wrapper — это чанк-обёртка результата вывода, то есть цели, которая прописана в параметре as_target. Но похоже это обёртка только того места, где вызван сам AjaxSnippet, а целевой элемент, куда нужно вставлять результаты нельзя обернуть, что ломает всю вёрстку…

      2. Также заметил, что если использовать wrapper для клика, то смысла в параметре as_trigger нету, но зато там обязательно должен присутствовать класс as_trigger, иначе ссылка не сработает

      3. Ещё не могу понять, ЗАЧЕМ при клике на эту ссылку она прямо стирается из кода????? А если она должна стоять на своём месте если необходимо повторно нажать на неё? Ведь присутствует же параметр as_target, значит результат загружается не в обёртку с ссылкой а в совсем другое место сайта!!!

      Что посоветуете с этим делать?
        Василий Наумкин
        02 ноября 2016, 09:57
        0
        Что посоветуете с этим делать?
        Прочитать теорию и написать себе свой сниппет, раз мой не подходит.
          Василий Столейков
          02 ноября 2016, 11:56
          1
          0
          Ок, спасибо…
            Константин Ильин
            20 апреля 2018, 12:32
            2
            +1
            Васлий, сниппет устраивает и много раз выручал, но wrapper не поддерживает @INLINE
            {$_modx->runSnippet("AjaxSnippet",[
                            'snippet' => 'pdoResources',
            		'parents' => 47,
                            'level' => 1,
                            'limit' => 15,
                            'includeTVs' => 'preview_img',
                            'tpl' => 'tag_doors',
                            'prepareSnippet' => 'pdoShopFront',
                            'wrapper' => '@INLINE <div id="[[+key]] "class="owlCarousel ajax-snippet"></div>'
                        ])}
            joxi.ru/ZrJO5LJI9X0K7m

            14, 15 строки, подключил парсер pdoTools
            $pdo = $modx->getService('pdoTools');
            if (!empty($wrapper)) {$wrapper = $pdo->parseChunk($wrapper);}
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          8