Aborrol

Aborrol

С нами с 16 декабря 2018; Место в рейтинге пользователей: #364
Aborrol
03 июля 2020, 16:09
0
Можно написать modx плагин на onhandlerwebrequest, где проверять что это аяксзапрос с ключом, и отдавать только контент и нужные твполя по полученному id, форматируя через чанк.
При клике на ссылку открытия модального окна, получаем параметр id, отправляем через аякс пост запрос, подставить полученные данные в модалку и отобразить её. Но вариант выше с селектором гораздо проще
Aborrol
19 июня 2020, 02:12
0
Ему можно не трогать свои шаблоны, ему в них нужно прописать расширение шаблона. А может удалить и перенасназначить батчером, как ему удобнее.

Для меня ситуация с сотнями тв гораздо более частая чем с сотней шаблонов. Если сотня шаблонов, значит что-то организовано неправильно.
Aborrol
18 июня 2020, 22:30
0
Ну вот и получается, что пользователю надо проставить галочки, понимая где какое тв надо использовать, не запутаться в фильтрации при установке шаблона через батчер, но запутается с выбором нужных ему страниц по типу сайта.

А так пользователь может менять темы в один клик, не перенастраивая тв, и не трогая ресурсы вообще
Aborrol
18 июня 2020, 22:21
0
Ладно, ты вообще не понял что я имею ввиду.
1-2 Как отделять шаблоны? По категории.
по остальному, оно вообще по другому
Условно говоря. например отдельно пакет, отдельно темы. Тема это папка с tpl-ками,
Пакет включает настройку темы.
шаблоны модекса расширяются этими tpl
пользователь может сам назначить в шаблонах вывод или установить стандартные при установке пакета, если например это чистая установка.
Темы опять же это файлы, они никак не трогают пользовательские шаблоны, хочет подключает в свои, просто прописав в них строку, хочет использует стандартные.
Гибкость!

И ещё ведь если ты устанавливаешь шаблоны модекса, получается проблема с тв которые привязываются к шаблону. А так, подобной проблемы нет.
Ещё это дает легкую кастомизируемость тем через {block}

Но видимо то как я представляю себе будет удобно, абсолютно не стыкуется с твоим представлением, проехали
Aborrol
18 июня 2020, 20:11
0
Ну в таком же случае полюбому приходим к тому что нужно добавлять в новую тему шаблоны, и установка их для ресурсов через батчер ничего не дает. Все тоже самое.
У тебя в любом случае будут заведены все нужные шаблоны уже в бд.
Да и через плагин можно выставлять шаблон по умолчанию если не найден.
Я же подразумеваю что шаблоны заведены в админке, которые расширяются файловыми шаблонами темы.
Ну и как это сделано в том же wp для тем, там же в темах есть все основные страницы, и если нужна другая то уже допиливаешь, тут так же
Aborrol
18 июня 2020, 16:19
0
Но так я и имею в виду, что шаблоны файловые и рулятся через точку входа из шаблона из бд
А вообще, темы в идеале нужно унифицировать, ты же сам про это пишешь, и при наличии особых случаев, добавить шаблон в админке с одной строчкой кода. Или плагин на динамическую подмену шаблона по определенной логике.
И переключать да, имелось ввиду, одной настройкой, которая получает на вход например список папок с темами.
Aborrol
18 июня 2020, 10:54
0
Сделай снипет
<?php
$miniShop2 = $modx->getService('miniShop2');
$miniShop2->initialize($modx->context->key);
$tpl = $modx->getOption('tpl', $scriptProperties, 'tpl.msMiniCart');
$products =  $miniShop2->cart->get();
$cart = $miniShop2->cart->status();
$cart['total_products'] = count($products);
$cart['total_cost'] = $miniShop2->formatPrice($cart['total_cost']);
$cart['total_weight'] = $miniShop2->formatWeight($cart['total_weight']);
return $miniShop2->pdoTools->getChunk($tpl, $cart);
и в шаблоне для этого сниппета выводи количество уникальных позиций через [[+total_products]]

Но что бы корзина обновлялась без перезагрузки, нужно повесить обновление значения на каллбек добавления в корзину
Aborrol
18 июня 2020, 09:16
+1
А зачем вообще смена шаблонов у ресурсов? Может расширять лучше базовые шаблоны и подставлять в {extends}значение системной настройки в которой сделать выбор шаблона?
Aborrol
14 июня 2020, 23:54
0
\assets\components\minishop2\js\mgr\product\links.grid.js тут формируется таблица связей в админке
Aborrol
14 июня 2020, 04:58
0
можно же просто на феноме, результат pdoresoгrce с параметром returnIds сохраняешь в переменную, потом делаешь пагинацию через pdopage просто передавая переменную в параметр resources
Aborrol
29 мая 2020, 00:34
0
modx.pro/howto/16490 — migx
habr.com/ru/post/325760/ — grid
Для вывода нужных ресурсов, как написано в соседней ветке комментариев, используй pdotools.
Хотя если не использовал migx, может быть сложно реализовать, и если лень заморачиваться, тогда делай 4 тв-поля, с чанками с вызовами того же pdotools в них
Aborrol
28 мая 2020, 22:47
0
Как вариант сделать поле migx с выбором блоков, где указывать чанк и позицию для каждого блока, и выводить это с помощью display: grid на сайте
Aborrol
24 апреля 2020, 02:22
0
Что выводится в showlog? Ошибки в логе есть?
Aborrol
02 апреля 2020, 22:56
0
Возвращай результат pdomenu как json и через выводи через fenom, инкрементируя счетчик.
Aborrol
01 апреля 2020, 00:27
0
Да проблема в неверно настроенном mamp, тогда бы по любой из этих инструкций все бы получилось.
Если совсем все плохо, подними голый modx, и посмотри получившийся конфиг
Aborrol
21 марта 2020, 16:31
0
у тв не забыл указать источник медиресурса?
Aborrol
13 марта 2020, 21:22
0
Попробуй
Сделать 301 редирект с https на http
Проверить настройки хостинга, нет ли у него принудительного редиректа, так же посмотреть, нигде ли сайт не прописан с https, внутренние и внешние ссылки, встречал ситуацию где была подобная проблема, в меню были ссылки с https прописанные вручную
сделать сниппет с $_SERVER['HTTP_HOST'] и вызывать его некэшируемым
Aborrol
14 октября 2019, 21:17
+1
Но это же совершенно другой функционал, ведь у ТС помимо содержимого ресурса, плагин действует ещё и на все остальное.
Aborrol
13 октября 2019, 21:05
+1
Да выборка гораздо проще, чем через xpath, вообщем достаточно интересно.
Спасибо за статью
Aborrol
13 октября 2019, 20:49
+1
Насколько этот вариант быстрее чем DOMDocument
case 'OnWebPagePrerender':
    $content = &$modx->resource->_output;
    $html = $modx->resource->_output;
    $dom = new DOMDocument();
    $dom->encoding = "utf-8";
    @$dom->loadHTML($content);
А то я делал подобное через него, но мне не понравилась производительность