Ruslan
понял, будем разбираться, спасибо
Ruslan
попробовал просто вывести слайдер на отдельной странице без modx, все работает... чудеса какие-то
Artem
Может кто подсказать, как сделать сортировку на странице по клику? Один кликаем сортировка по названию ASC, второй раз меняется направление сортировки Нашел такое &sortBy=`{ '[[!#GET.sort:is=`name`:then=`pagetitle ASC`:else=`pagetitle`]]' , 'DESC'}` <a href="[[~[[*id]]]]?sort=name">По названию</a> Но не работает
Artem
через pdoPage вывожу
Artem
Все понял, мне нужно было сортировать по алфавиту В параметрах pdoPage параметр такой &sortdir=`[[!#GET.sort]]` &sortby=`pagetitle` И ссылка такая <a href="[[~[[*id]]]]?sort=ASC">AZ</a> <a href="[[~[[*id]]]]?sort=DESC">ZA</a>
Artem
все работает. Через jquery в зависимости от скрытого поля переключаю кнопку с сортирвокой
Ruslan
а у вас феном может включен на страницах..?
fenom_parser отключен. на всякий случай заключил все в ignore - ничего не поменялось
Алексей
fenom_parser отключен. на всякий случай заключил все в ignore - ничего не поменялось
Ну тогда: Сделайте бекар файлов, базы если его нет. Удалите все и поставьте модикс с нуля чистый - для проверки. Если он не заработает - то хостинг. Если заработает, то что-то с файлами.
Кирилл
Ребят. Привет. Скажите, кто сталкивался и что делать. На сайте 37к товаров, и 700 опций. Т.е опций товара достаточно много из-за этого загрузка страницы при подключениее msproduct невероятно долгая. Я нашел способ использовать обычные pdoresurces и через fastfield вытаскивать цену и картинку. Но это же колхоз) как быть в такой ситуации. И вопрос а modx вообще способен такое переваривать (а точнее minishop2)
Кирилл
Допустим при запуске mfilter2 ограничить выборку только по нужным нам полям, а не вытягивать весь объект с инфой.
Кирилл
Допустим при запуске mfilter2 ограничить выборку только по нужным нам полям, а не вытягивать весь объект с инфой.
Так помогает вызов mfilter2 некэшируемым. Но сами понимаете, что при возврате дефолтнвх значений при фильтрации все равно идет новый запрос в БД. А не поиск по кэшу
Кирилл
40 сек и 0,5 соответственно
Кирилл
Ой
Кирилл
Наоборот)
Кирилл
У меня в 502 ошибку падает сайт после этого
Алексей
40 сек и 0,5 соответственно
Те после очистки Кеша 40 сек открывается страница???????
Кирилл
Ага
Кирилл
Вот пример на одной из страниц каталога с mfilter2 SQL: 17.7387 s (1702), PHP: 2.3028 s, MEM: 24 576 kb, ALL: 20.0416 s (database) SQL: 0.0255 s (99), PHP: 0.2149 s, MEM: 16 384 kb, ALL: 0.2404 s (cache)
Алексей
Может индексы слетели....
Кирилл
Проверьте индексы в бд.... ТК это очень долго.
Я немного туп. Можете подсказать как это сделать?) А точнее как должно быть правильно
Кирилл
Хотя я сейчас сам попробую разобраться)
Кирилл
главное услышать, что это не нормально
Кирилл
Кирилл
Ну я особо отклонений не вижу, в сравнении с другими сайтами
Кирилл
А это нормально, что в таблице содержатся пустые значения в кологке "value"
Кирилл
?
Алексей
Норм. Проверьте таблицы site content
Алексей
Ms product
Кирилл
Кирилл
Кирилл
Что-то я не восем понимаю как уникальных значений в modx_site_content может быть всего 20, когда на сайта 30к товаров, в этом и есть косяк?
Алексей
Надо попробовать проверить таблицы...
Алексей
Во вкладке операции
Кирилл
Для всех 3 стутус OK
Алексей
Так же анализ таблицы ещё выполните
Алексей
И оптимизировать таблицу
Алексей
Можно ещё обновить кеш таблицы сделать.
Кирилл
том тоже норм, сейчас попробую оптмизировать, все 3 таблицы? или конкретную?
Алексей
Да, все.... Хотя бы с этого начать.
Алексей
А у вас выделенный или шаред хостинг?
Кирилл
timeweb обычный хостинг вирутальный. (у меня такая проблема не с одним проектом, я поэтому уже отчаялся и решил разобраться)
Dmytro
оптимизировать нужно не таблицы, а сам код - SQL: 17.7387 s (1702) . 1702 запроса - как то сильно дофига
Кирилл
Алексей
все ок. это innoDB оно не поддерживает.
Кирилл
[[mFilter2? &class=`msProduct` &element=`msProducts` &showHidden=`false` &suggestions=`false` &values_delimeter=`^` &aliases=` ms|price==price, msoption|color==color, msoption|kolichechestvo_skorostey==kolichechestvo_skorostey, msoption|kolischestvo_filtrov==kolischestvo_filtrov, msoption|moshnost==moshnost, msoption|ploshad_poseysheniya==ploshad_poseysheniya, msoption|scorost_ochistki_vozduha==scorost_ochistki_vozduha, msoption|uroven_shuma==uroven_shuma ` &filters=` msoption|ploshad_poseysheniya, ms|price:number ` &limit=`39` &sort=` ms|price:ASC ` &tpl=`catalog_item` &tplFilter.outer.price=`tpl.mFilter2.filter.slider` &tplFilter.row.price=`tpl.mFilter2.filter.number` &tplFilter.row.color=`tpl.mFilter2.filter.color` &tplFilter.row.product_actions=`tpl.mFilter2.filter.action` &tplFilter.row.style=`tpl.mFilter2.filter.style` ]] Да у меня обычный вызов
Кирилл
Я вот фиг знает что мы понаделали, но стало Разработка сайта: REDBE AGENCY SQL: 0.7482 s (1757), PHP: 2.7600 s, MEM: 24 576 kb, ALL: 3.5082 s (database)
Кирилл
Сейчас еще проверю
Dmytro
не вызов оптимизировать, а код))
Кирилл
SQL: 17.7387 s (1702), PHP: 2.3028 s, MEM: 24 576 kb, ALL: 20.0416 s (database) или SQL: 0.7482 s (1757), PHP: 2.7600 s, MEM: 24 576 kb, ALL: 3.5082 s (database) Определенно), проверяю на других категориях
Алексей
для интереса можете посмотреть опять что там с индексами стало и весом Таблиц и индекса (мб).
Кирилл
Ну в принципе по сравнению что было - сайт просто летает) только я дурак и надо было поэтапно смотреть что помогло
Кирилл
Кирилл
Да, стало по-другому
Алексей
да, видимо индексы и в правду слетали...
Кирилл
Блин, спасибо огромное, а то я уже разочаровался в силе MODx
Алексей
как увидили в данном случае модикс не причем особо. :) но для php 2 сек - многовато. ааа у вас MODX парсер только... тогда - есть куда оптимизировать :)
Алексей
оптимизировать нужно не таблицы, а сам код - SQL: 17.7387 s (1702) . 1702 запроса - как то сильно дофига
это нормально для сайта в котором MODX теги везде... там как бы такая картина всегда. :))) это дичь, конечшно же и никто не спорит.
Ruslan
Как в input'e получить сам элемент через this? пробую вывести через консоль, он весь документ в this помезщает...
Ruslan
Нативный javascript
Ruslan
ну вы бы хоть код привели...
const selectElement = document.getElementsByTagName('input'); selectElement[0].addEventListener('keyup', (e) => { console.log(this); });
Алексей
ну все верно вы цепляетесь ко всем INPUT
Evgeniy
да просто у стрелочных функций своего контекста нет) а есть родительский
Кирилл
конечно же это не нормально)) модикс теги или феном / или не важно.
Кстати. А на феноме же дольше обработка идет? Я просто тестировал у меня так показывало.
Кирилл
Там же еще один цикл подключается, если посмотреть по логике
Алексей
да, пару раз там срабатывает. Просто на феноме многие вызовы и манипуляции можно делать менее затратно. пример getImageList для MIGX. для вывода поля. если через СНИППЕТ делать это может быть куча доп запросов. А на феноме - это может быть просто foreach. особенно если картинок в нем нет.