Всего 123 792 комментария

wissem
01 марта 2023, 13:38
0
Т.е. вы имеете ввиду вызвать pdoPage на сервере верно? типа получить в ответе кроме результатов еще и блок page.nav, но с сервера? но ведь это не сработает) потому что при переходе по страницам этого page.nav будет обращение к server_page.php?page_1 и тд но без даных ранее веденных в форме, соответственно ответ будет не тот опять таки)
Алексей Смирнов
01 марта 2023, 11:48
0
А что за аякс. вы сами этот аякс писали? он отделен от pdoPage?
Артур Шевченко
01 марта 2023, 11:33
0
мы все так же видим пагинацию первоначальную
Первое, что приходит на ум, это заменить блок, так же как и результаты, т.е. при запросе на сервер вызвать pdoPage.
wissem
01 марта 2023, 00:55
0
Статья действительно толковая, но там ни слова про аякс. В моем случае не особо помогла. Попробую расписать подробнее.
У меня есть страница, на которой есть форма, которая отсылает чререз аякс запрос и блок с результатами запроса, куда они вставляются после успешного его выполнения. Первоначально выглядит к примеру так:
[[$searchForm]]
<div id="search-results" class="col-lg-8">
[[!+page.nav]]
[[!pdoPage? &element=`display_something` &limit=`2` &chunk=`itemRowTpl`]]
</div>
в сниппете «display something», если в $_REQUEST ничего нет, то возвращаются все записи. И все сделано впринципе как в статье, т.е. прописаны $total, $totalVar, $limit и $offset. И пагинация в этом случае выводится (т.е. когда выводятся все данные), типа сниппет отработал, без запроса с формы и все ок. НО после ввода данных с формы, отправки их через аякс и получении ответа с этого сниппета, где был выполнен другой запрос на основании данных из формы, мы все так же видим пагинацию первоначальную, со ссылками вида
<a href="mysite/thispage?page_1">1</a>
<a href="mysite/thispage?page_2">2</a>
и тд. И выходит что результат запроса аяксом вставлен в блок id=«search-results», но пагинация то осталась старая. Как сделать, чтоб пагинация работала именно для текущих результатов полученных с помощью аякса?
Старался понятно расписать) заранее спасибо за ответы!)
wissem
28 февраля 2023, 23:45
0
а как этот блок пагинации [[!+page.nav]] знает что либо об ответе сниппета на аякс запрос? Вы бы могли какой-то простой пример привести?
Артур Шевченко
28 февраля 2023, 20:40
0
Чтобы выводить данные с разбивкой по страницам, нужно в ajax запросе отправлять limit и offset и вставлять эти данные в SQL запрос к БД в которой идёт поиск. Соответственно limit и offset зависят о номера страницы.
Артур Шевченко
28 февраля 2023, 18:20
0
Приветствую, к сожалению пока нет, документация в процессе написания.
Денис Усачев
28 февраля 2023, 15:41
0
Есть пример как должен выглядеть шаблон товара со скидкой для вывода в категориях с mFilter2?
Павел Романов
28 февраля 2023, 14:17
0
Если вкладка есть, но комментарии не выводятся, а в консоли ошибка по поводу отсутствия функции strftime, добавить подключение файла strftime-min-1.3.js:
$templates = array(4, 6, 7);
if (in_array($resource->get('template'), $templates)) {
    if($Tickets = $modx->getService('Tickets')){
        $modx->controller->addLexiconTopic('tickets:default');
        $modx->controller->addLastJavascript(MODX_ASSETS_URL.'components/tickets/js/mgr/misc/strftime-min-1.3.js');
        $Tickets->loadManagerFiles($modx->controller, array(
            'config' => true,
            'utils' => true,
            'css' => true,
            'comments' => true,
        ));
        $insert = '
            tabs.add({
                title: _("comments"),
                items: [{
                    xtype: "tickets-panel-comments",
                    hidden: false,
                    record: ' . $modx->toJSON($resource->toArray()) . ',
                    parents: ' . $resource->id . ',
                }]
            });
        ';
        $modx->controller->addHtml('
            <script>
                Ext.ComponentMgr.onAvailable("modx-resource-tabs", function() {
                    var tabs = this;
                    tabs.on("beforerender", function() {
                        ' . $insert . '
                    });
                });
            </script>', true);
    }
}
wissem
28 февраля 2023, 00:17
0
Друзья, прошу помощи с выводом свего сниппета через pdoPage и пагинации к нему. У меня есть форма поиска в базе (сторонней) которая отправляет запрос через Ajax. Как быть в этом случае? Т.е. запрос с формы идет на страницу со сниппетом, который возвращяет результаты поиска в сторонней БД, после чего эти данные вставляются в div на странице с формой. Как в ткаом случае выводить результаты с пагинацией? Я совершенно запутался
Alexander V
27 февраля 2023, 22:12
+1
Разработчик Modx разве не должен знать ExtJS?
Алексей Смирнов
26 февраля 2023, 22:01
0
Вам нужно делать 2 фильтра по ширине и длине.
Причем в ширине будет 2 инпута (тк у вас number) вы второй скрываете (который ДО). и у вас всегда этот ОТ.
Ну и такую штуку с Длинной, но наоборот. первый инпут (ОТ который) скрываете, второй у вас ДО будет. :)
Роман
26 февраля 2023, 21:54
0
Да, у каждого товара два отдельных поля
— Длина
— Ширина
Алексей Смирнов
26 февраля 2023, 20:26
0
А как у вас товары заполняться будут? у каждого будет ширина и длинна? 2 поля?
Николай Савин
26 февраля 2023, 15:01
0
Использовать привычный и удобный для себя фреймворк — дешевле. Так как можно решить поставленную для админки задачу быстрее
Роман
26 февраля 2023, 13:47
0
Да именно так, идея в том, чтобы обозвать фильтр «Размеры» и в нем будем параметры, условно «Ширина (от)» и «Длина (до)»

В итоге получится, что ты выбираешь «Ширина от 6» и «Длина до 8». Хотелось бы сделать ползунком по типу как фильтруется «Цена», но не знаю как рализовать.

Пока остановился на мысли, сверстать кастомное поле где в выпадающем списке будут два отдельных значения
Артур Шевченко
26 февраля 2023, 13:30
0
По типу поля «цена» это типа «от» «до»? А как может быть в «от» — ширина, а в «до» — длина? Или о каких ячейках речь?
Pakos Fakos
26 февраля 2023, 12:45
0
извините, игнорируйте мой 1-й вопрос, я нашел ответ у Сергея (Sentinel)
20 апреля 2022, 13:15 комментарий.
остается второй вопрос
Максим
26 февраля 2023, 12:41
+1
А почему нужно избавляться от ExtJS? Потому, что устаревшая версия? Или документация плохая (мало используется в разработке?)