Зміна кількості результатів видачі pdoPage

Завдання полягає в зміні кількості результатів на сторінці на базі pdoPage.

Поточний вивід:
[[!pdoPage@new_list_out?
                &parents=`[[*id]]`
                &element=`pdoResources`
                &ajaxMode=`default`
                &depth=`0`
                &limit=`2`
                &pageLimit=`5`
                &includeTVs=`pagetitle,price,introtext,img_good_list`
                &tpl=`section_template_good_list`
                &sortby=`price`
                &sortdir=`ASC`
]]
вивір кількості реалізований, так:
<div class="select_goodlist_count">
    <p>Товаров на странице:</p>
    <select name="count_pages">
        <option>5</option>
        <option>20</option>
        <option>50</option>
    </select>
    <div class="clear"></div>
</div>
Якщо хтось має іде, або реалізовував подібне завдання — не соромтесь, діліться досвідом :)
Volodymyr
26 февраля 2016, 16:25
modx.pro
1 823
+1

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

Василий Наумкин
26 февраля 2016, 20:18
+2
По моему, это какая-то провокация.

Какой смысл писать не на русском, если ты его не только знаешь, но еще и используешь в своём же примере в коде?


За попытку разжигания межнациональной розни — мгновенный бан, предупреждаю сразу.
    Роман Садоян
    26 февраля 2016, 20:58
    0
    Человек просто захотел привлечь к себе внимания таким постом)
    Есть судя по всему точно такой же вопрос от ТС, только на русском.

    P.S.: там много удаленных комментариев, возможно он просто тестирует форум и проверяет кодировку, может тестирует инъекции какие-нибудь.

      Василий Наумкин
      26 февраля 2016, 21:00
      0
      Там было моё замечание на корявый заголовок, вернул обратно.

      Вообще, автор крут — с первых же двух постов привлёк внимание администратора сайта. Далеко пойдёт.
    Volodymyr
    26 февраля 2016, 21:34
    0
    При всем уважении — русский знаю плохо и пишу сейчас из гугл переводчик.
    Если русский язык обязательна в форуме — я перепишу звое вопросы.
    Мне бы только разобраться, как выполнить задание, которые передо мной руководитель поставил.

    Никаких притензий и провокаций :)
      Василий Наумкин
      26 февраля 2016, 21:58
      +2
      За всё время работы сайта — это первый вопрос на украинском. Хотя у нас тут и украинцы, и беларусы, и казахи, и кого только нет.

      Вот еще твоя учётная запись — всё на русском. Странно как-то, столько времени мучался с переводчиком и вот сегодня не выдержал.

      Может, стоит тогда поискать ответы на украинских ресурсах? Ну или пиши уже тогда сразу на английском, на общем основании с иностранными гражданами, не знающими русского языка.
        Volodymyr
        26 февраля 2016, 22:31
        +1
        Я понял. Учту все замечания!
      @ndrew
      26 февраля 2016, 21:52
      +1
      Установить пакет — fastField

      [[!pdoPage@new_list_out?
                      &parents=`[[*id]]`
                      &element=`pdoResources`
                      &ajaxMode=`default`
                      &depth=`0`
                      &limit=`[[!#get.count_pages]]`
                      &pageLimit=`5`
                      &includeTVs=`pagetitle,price,introtext,img_good_list`
                      &tpl=`section_template_good_list`
                      &sortby=`price`
                      &sortdir=`ASC`
      ]]
          @ndrew
          26 февраля 2016, 22:13
          0
          Упс плохо документацию смотрел.
          Volodymyr
          26 февраля 2016, 22:40
          0
          Спасибо. Тем не менее. Вы можете более подробно описать процесс?
            Алексей Федоров
            26 февраля 2016, 22:58
            +1
            А что там расписывать-то? Бери код выше, вставляй на страницу, пользуйся. Если не знаешь, что за fastField, Василий ссылку привел. Заходи, читай. Если этого не хватит, то есть документация на английском.
          Василий Наумкин
          26 февраля 2016, 23:16
          1
          +4
          Чтобы работало как надо, через ajax:

          1. Обновляем pdoTools до версии 2.2.7-pl, в которой добавлена возможность получать доступ к конфигурации объекта pdoPage.

          2. На странице примерно такая разметка, &pageVarKey по умолчанию — page.
          <div class="select_goodlist_count">
              <p>Товаров на странице:</p>
              <select name="count_pages">
                  <option>5</option>
                  <option>20</option>
                  <option>50</option>
              </select>
              <div class="clear"></div>
          </div>
          
          <div id="pdopage">
          	<div class="rows">
          	[[!pdoPage?
          		&parents=`0`
          		&ajaxMode=`default`
          		&limit=`5`
          	]]
          	</div>
          	[[!+page.nav]]
          </div>

          3. И такой скрипт:
          <script>
          $(document).on('change', 'select[name="count_pages"]', function() {
          	var params = pdoPage.Hash.get();
          	params['page'] = 1;
          	params['limit'] = $(this).val();
          	pdoPage.Hash.set(params);
          	pdoPage.keys['page'] = 0;
          	pdoPage.loadPage(document.location.href, pdoPage.configs['page']);
          });
          </script>
            Volodymyr
            27 февраля 2016, 04:04
            +2
            Работает, как часы!
            Спасибо администратору и всем участникам :)
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            13