18 апреля 2020, 12:21 И кстати templates отсутствует в документации как в pdoResources так и в pdoPage и в msproducts. Спасибо, буду знатью Вопросы / Не получается отфильтровать с через pdoResources 7 0
18 апреля 2020, 12:20 Я на самом деле теряюсь в этой документации. Я, работающий с MODX с 2013 года помню всякие разные тонкости, а вот новеньким в этой теме очень сложно. Банально, docs.modx.pro/komponentyi/minishop2/snippetyi/msproducts Тут ни слова не сказано про tvFilters. А он есть в pdoResources. А в pdoPage его нет. А оказывается, можно вызвать через pdoPage элемент msproducts и в нем будет работать tvFilters который указан в pdoResources :) Вопросы / Не получается отфильтровать с через pdoResources 7 0
17 апреля 2020, 14:17 Очень просто: require_once '/var/www/site.ru/config.core.php'; require_once MODX_CORE_PATH.'model/modx/modx.class.php'; $modx = new modX(); $modx->initialize('web'); $modx->getService('error','error.modError', '', ''); echo $modx->runSnippet('outputInstagram');crontab -e */15 * * * * /usr/bin/php -q /var/www/site.ru/core/zones.php Мой каждые 15 минут выполняется. Вопросы / Как запустить сниппет по cron? РЕШЕНО 5 0
17 апреля 2020, 13:44 Спасибо! Заработало. Я бы и не догадался. Вопросы / Не получается отфильтровать с через pdoResources 7 0
15 апреля 2020, 16:14 в классе корзины: /core/components/minishop2/model/minishop2/mscarthandler.class.php Сниппет ничего не формирует. Он только выводит. Вопросы / Удалить товар из корзины по id ? 7 +1
15 апреля 2020, 14:30 Ну тут возникает вопрос, что именно ты хочешь сделать. Если цели отслеживать нахождение товара в корзине нет (добавили товар, кнопка добавления поменялась на «удалить») то тебе хватит какого то файла\ресурса на который ты будешь стучаться ajax. Передавать туда ид товара, а в этом файле \ сниппете что вызывается на ресурсе ты можешь либо пройтись по массиву $_SESSION['minishop2']['cart'] и сделать unset подходящего товара, либо по шаблону выше сгенерировать id товара, и так же сделать его unset(); Если нужно отслеживание есть ли товар в корзине то чуточку больше логики добавится. Нужно создать сниппет которым проверять товар в корзине. Вопросы / Удалить товар из корзины по id ? 7 0
15 апреля 2020, 14:27 Ключ формируется так: $key = md5($id . $price . $weight . (json_encode($options))); Вопросы / Удалить товар из корзины по id ? 7 0
17 марта 2020, 12:17 Вот буквально ничего. В контейнере с результатами пустота. Что еще интересно, 'showlog' => 1 ничего не дал. Может все потому-что сниппет стоит запускать сниппетом, а не через fenom… Вопросы / Как отображать товары в порядке отображения в админке? 6 0
17 марта 2020, 11:08 Пробовал и так. В результате ничего не выводится. В вызове сниппета вроде не ошибся… Без шаблона вывожу, idx там отсутствует. {'!mFilter2' | snippet : [ 'paginator' => 'pdoPage@filters' 'element' => 'msProducts' 'sort' => 'ms|idx:asc' 'parents' => $_modx->resource.id 'limit' => 12 'tpl' => 'item' 'class' => 'msProduct' 'tplOuter'=> 'filters' 'filters' => 'ms|price:number, msoption|strana, ms|vendor:vendors, msoption|iznos, msoption|depth, msoption|fasks, msoption|vid, msoption|gamma, msoption|shir, msoption|obrabotka, msoption|derevo, msoption|vors, msoption|safe_layer_depth, msoption|tip_r, msoption|klass_pb, msfiles|name ' 'aliases' => 'ms|price==price,msfiles|name==colors' 'tplFilter.outer.default' => 'filter-wrapper' 'tplFilter.row.default' => 'filter' 'tplFilter.outer.price' => 'filter-price' 'tplFilter.row.price' =>'filter-price-row' 'tplFilter.outer.colors' => 'filter-colors' 'tplFilter.row.colors' => 'filter-colors.row' ]} Вопросы / Как отображать товары в порядке отображения в админке? 6 0
26 июня 2019, 11:20 Пошел дальше, пошел смотреть логи. Насмотрел что print_r($socket->request->headers); содержит куку. Array ( [connection] => upgrade [host] => site.com [x-real-ip] => 5.189.120.126 [x-forwarded-for] => 5.189.120.126 [accept] => */* [user-agent] => Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36 [referer] => site.com/page.html [accept-encoding] => gzip, deflate [accept-language] => ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7 [cookie] => _ga=GA1.2.63840410.1551895697; _ym_uid=1551895697718358359; _ym_d=1551895697; PHPSESSID=h6k94gg7gbu1b7317maq4loon7 ) Вопросы / modx socket.io? 32 0
26 июня 2019, 10:11 Теряется кукауже на сокет сервере. Т.е, рендерится страница MODX, где я залогинен. С этой страницы я подключаюсь к /api/, При всех XHR запросах (всех четырех) Cookie: PHPSESSID=7iur19vftnprl05jt4m97kvs13 передается. А до сервера не доходит. Создается WS соединение, на сервере в консоле куки пустые… Вопросы / modx socket.io? 32 0
25 июня 2019, 20:15 У меня сокет сервер крутится на 4000 порту: pastebin.com/pJW87fkd На JS части я подключаюсь к /api/ const socket = io('http://site.ru/ws/', { path: '/api' }); А конфиг nginx с проксей на этот сокет сервер: pastebin.com/rQi0drjw Вроде бы все должно работать, но что-то не то… Вопросы / modx socket.io? 32 0
25 июня 2019, 20:11 Там реальный домен. Просто стараюсь не светить лишний раз домены. Вопросы / modx socket.io? 32 0
25 июня 2019, 16:14 Я домен туда вписал от безысходности, т.к. не работало.Вернул proxy_pass localhost:4000, все то же самое Вопросы / modx socket.io? 32 0
25 июня 2019, 16:12 Вот, у меня почему-то нет многих директив… Конфиг nginx простейший: pastebin.com/rQi0drjw Вопросы / modx socket.io? 32 0
25 июня 2019, 16:09 «FILE» — это путь до файла? Если флаг, то вот что в логах для: $modx->log(1, print_r($_SERVER, 1), «FILE»); $modx->log(1, print_r($_COOKIE, 1), «FILE»); [2019-06-25 13:07:54] (ERROR @ /var/www/site.com/core/socket/server.php: 27) Array ( [TERM] => xterm [LS_COLORS] => rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36: [PATH] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin [LANG] => en_US.UTF-8 [HOME] => /root [LANGUAGE] => en_US:en [SHELL] => /bin/bash [MAIL] => /var/mail/www-data [LOGNAME] => www-data [USER] => www-data [USERNAME] => www-data [SUDO_COMMAND] => /usr/bin/php server.php start [SUDO_USER] => root [SUDO_UID] => 0 [SUDO_GID] => 0 [PHP_SELF] => server.php [SCRIPT_NAME] => server.php [SCRIPT_FILENAME] => server.php [PATH_TRANSLATED] => server.php [DOCUMENT_ROOT] => [REQUEST_TIME_FLOAT] => 1561468072.7351 [REQUEST_TIME] => 1561468072 [argv] => Array ( [0] => server.php [1] => start ) [argc] => 2 [HTTP_USER_AGENT] => [HTTP_REFERER] => [QUERY_STRING] => ) [2019-06-25 13:07:54] (ERROR @ /var/www/site.com/core/socket/server.php: 28) Array ( ) Вопросы / modx socket.io? 32 0
25 июня 2019, 15:53 Все что в $_SERVER: Array ( [TERM] => xterm [LS_COLORS] => rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36: [PATH] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin [LANG] => en_US.UTF-8 [HOME] => /root [LANGUAGE] => en_US:en [SHELL] => /bin/bash [MAIL] => /var/mail/www-data [LOGNAME] => www-data [USER] => www-data [USERNAME] => www-data [SUDO_COMMAND] => /usr/bin/php server.php start [SUDO_USER] => root [SUDO_UID] => 0 [SUDO_GID] => 0 [PHP_SELF] => server.php [SCRIPT_NAME] => server.php [SCRIPT_FILENAME] => server.php [PATH_TRANSLATED] => server.php [DOCUMENT_ROOT] => [REQUEST_TIME_FLOAT] => 1561467048.3697 [REQUEST_TIME] => 1561467048 [argv] => Array ( [0] => server.php [1] => start ) [argc] => 2 [HTTP_USER_AGENT] => [HTTP_REFERER] => [QUERY_STRING] => ) Вопросы / modx socket.io? 32 0
25 июня 2019, 15:52 Да, nginx: location /api/ { proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 36000; rewrite ^/api/(.*) /$1 break; proxy_pass http://site.com:4000; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr ; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }Ваш пример взял. Вопросы / modx socket.io? 32 0
25 июня 2019, 15:21 Может я куда-то не туда смотрю… На первый запрос куки уходят точно: А вот на сокет сервере $_SESSION $_COOKIE пустые… Вопросы / modx socket.io? 32 0
[videoGallery] Видео галерея YouTube, Vimeo Невозможно установить пакет с подписью: videogallery-1.4.0-beta Ошибка установки Error в /core/packages/videogallery-1.4.0-beta/modCategory/7fc931a7772edc9752c16e9c41eb5e52.reso...
mxBoard: канбан-доска для команд, людей и ИИ-агентов в MODX 3 Привет, добавил пользователя в группу mxBoard(4), создал токен. Добавляю все в postman пишет: rest: { «success»: false, «message»: «Недействительный токен.», «data...
Релиз miniShop2 ver. 4.4.1 & 4.4.2 Подскажите пожалуйста, может я что-то не знаю или упустил. Но есть ли решение по глюку с radio? Указываешь свое radio c одинаковым name и в результате при переключении получаешь вс...
Плагин EnvBadge: визуальный индикатор окружения в админке MODX3 Расскажите пожалуйста как вы настраиваете сайт на MODX 3 чтобы был dev, prod, stage. Можете описать workflow? Допустим у меня 80% — это магазины, там клиенты, продажи, все онлай...
MaxNotify Обновление компонента 1.3.0-pl (22.07.2026) — добавлено автоматическое получение полей через msOrder->toArray(); — массивы и объекты безопасно пропускаются; — стандартные...
MyFavorites MyFavorites — 3.0.0-beta Первая версия для MODX Revolution 3.x — компонент полностью переписан с нуля (PHP >= 8.4, namespaced-ядро MODX 3, PSR-4, сервис-ориентированная архит...
Банально, docs.modx.pro/komponentyi/minishop2/snippetyi/msproducts
Тут ни слова не сказано про tvFilters. А он есть в pdoResources. А в pdoPage его нет.
А оказывается, можно вызвать через pdoPage элемент msproducts и в нем будет работать tvFilters который указан в pdoResources :)
crontab -e
*/15 * * * * /usr/bin/php -q /var/www/site.ru/core/zones.php
Мой каждые 15 минут выполняется.
/core/components/minishop2/model/minishop2/mscarthandler.class.php
Сниппет ничего не формирует. Он только выводит.
Если нужно отслеживание есть ли товар в корзине то чуточку больше логики добавится. Нужно создать сниппет которым проверять товар в корзине.
Что еще интересно, 'showlog' => 1 ничего не дал. Может все потому-что сниппет стоит запускать сниппетом, а не через fenom…
Без шаблона вывожу, idx там отсутствует.
print_r($socket->request->headers);
содержит куку.
Array
(
[connection] => upgrade
[host] => site.com
[x-real-ip] => 5.189.120.126
[x-forwarded-for] => 5.189.120.126
[accept] => */*
[user-agent] => Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36
[referer] => site.com/page.html
[accept-encoding] => gzip, deflate
[accept-language] => ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
[cookie] => _ga=GA1.2.63840410.1551895697; _ym_uid=1551895697718358359; _ym_d=1551895697; PHPSESSID=h6k94gg7gbu1b7317maq4loon7
)
Т.е, рендерится страница MODX, где я залогинен. С этой страницы я подключаюсь к /api/, При всех XHR запросах (всех четырех) Cookie: PHPSESSID=7iur19vftnprl05jt4m97kvs13 передается. А до сервера не доходит. Создается WS соединение, на сервере в консоле куки пустые…
pastebin.com/pJW87fkd
На JS части я подключаюсь к /api/
const socket = io('http://site.ru/ws/', {
path: '/api'
});
А конфиг nginx с проксей на этот сокет сервер: pastebin.com/rQi0drjw
Вроде бы все должно работать, но что-то не то…
pastebin.com/rQi0drjw
$modx->log(1, print_r($_SERVER, 1), «FILE»);
$modx->log(1, print_r($_COOKIE, 1), «FILE»);
Ваш пример взял.
А вот на сокет сервере $_SESSION $_COOKIE пустые…