- Заметки 106
- Комментарии 17
7 минут назад
у вас в примере Data это к примеру article, а Size это название опции. правильно? Но как перечислить все опции? Просто их около 20, а отмечены у каждо...
Как вывести похожие товары по списку опций? 2
13 минут назад
Всем привет! Подскажите пожалуйста а можно ли сделать фильтр в 2 уровня и как это сделать? Т.е. например мне нужно сделать: домен/бренд-из-сео-фильтра...
Анонс SeoFilter - ЧПУ+SEO для mFilter2 и не только 120
Вчера в 15:27
Есть у кого-то идеи? или в данном случае через плагин и событие пробовать, или мсинк тупо всё обрезает?
Msync как записать html контент, а не обработанный без тегов? 1
Вчера в 12:15
воротите, что хотите. Вплоть до удаления исходников сайта, это уже на ваше усмотрение.
Это определённо очень важная возможность 😊
mmxFenom - нативная интеграция шаблонизатора 3
Вчера в 11:30
Управляя настройками mysql, можно задать параметр sql_mode пустым значением (после чего все заработает), но хостер такую возможность не дает… Есть ли ...
pdoTools и sql_mode=only_full_group_by - ошибки при работе PdoPage 1
Вчера в 10:27
<?php
$id = $modx->getOption('id', $scriptProperties, $modx->resource->id);
$field = $modx->getOption('field', $scriptProperties);
$tpl...
Вывод даты msTimeStamp полей MiniShop2: new, favorite, popular... 3
01 мая 2024, 21:40
$pdoTools = $modx->getParser()->pdoTools;
$data['count_products'] = count($data['products']);
$renderedHtml = $pdoTools->get...
Как передать переменные внутрь чанка из сниппета и заполнить с помощью fenom? 2
30 апреля 2024, 11:46
— эта заготовка для создания ОДНОГО дополнения? Да
Или можно в рамках одного сайта разработать сразу 5 несвязанных друг с другом дополнений?Наверно...
mmxApp - разработка новых composer дополнений 6
Я выхожу из этой ситуации таким образом. В значениях доп. поля ставим не числа, а слова — завтрак==breakfast||обед==lunch||ужин==dinner||. В этом случае условие с LIKE нормально отработает и для случаев с одним значением, и для нескольких:
github.com/webnitros/siteDev/tree/master/core/components/sitedev/Extras/modExtra
Еще считаю полезно прицепить вот такие кнопки
А то вспоминать откуда у тебя компонента скачивается, постоянное мучение.
Ссылка на то как кнопки добавить:
https://github.com/webnitros/siteDev/blob/103270a49c69539d934bafc4ff9f9891dde7a684/core/components/sitedev/Extras/modExtra/core/components/modextra/controllers/home.class.php#L91
Можно конечно в какой нибудь плагин завернуть, но я не стал заморачиваться, добавил их в контроллер с проверкой на существования папки Extras/myComponent, в случае если папка существует то кнопки показываются
Для таких запросов проще временную таблицу сделать куда будут данные сливаться на бэкенде, и потом уже готовые данные забирать на фронте.
Такими запросами, только фронт напрягать.
Почему то всегда охота все в один запрос запихать, но по опыту еще больше времени тратишь на всякие такие выборки.
Еще как вариант делать несколько запросов и получать id которые уже потом идут where в виде product_id IN (тут список id из какой то таблицы)
На примере получения товаров:
Этот код будет делать выборку в десятки раз быстрее:
Чем
join — зло еще то))
Соответственно, в папку elements добавляется новый файлик — remove.php, где указываются класс сущности в качестве ключа и условия в качестве значения.
Естественно, с этим файликом нужно быть аккуратным и понимать, что указывать, а также не забывать его очищать для новых проектов.
Для удаления файлов обычно хватает синхронизации в IDE, которая показывает расхождения между удаленным и локальным серверами.
Но надо еще понимать, что в этом случае мы не получаем управление записями в табличке внутри админки, только через API.
Или MIGX и здесь может помочь?
Пару ссылок
https://metanit.com/web/extjs/12.3.php
https://ilyaut.ru/extjs/
https://modx.ws/extjs-urok-ext-js-script-modx-revolution
http://bustep.ru/modx/extjs/
Вообще есть типо официальная документация, но как всегда мне лень её читать, по этому ищу по случаю, когда что то надо.
Так как всяческих приемов очень много как можно сделать, все пишут как хотят. На то он и JS там сложно чтото стандартизировать.
Но можно выделить такие направления для изучения в js как: события, переопределения любых функций, классов, методов в общем того что в php работает иначе. Когда понимаешь как они устроены то намного легче работать с ExtJs. Ну а за все это отвечает javascript, так что надо в первую очередь его изучать.
Как бы я уже прекрасно понимаю как работает даже тот же VueJs (так как реализовал на нем интернет-магазин в связке с minishop2 через RESTfull), да простые приложения легко пишутся, но капни в насправлении Хранилища, и тут засада начинается не меньше чем с ExtJs. И кстати по документации тоже не очень просто найти что то сложное. VueJs хорош но я наверное не стал бы его использовать для той же админки modx.
Все равно придется менять в настройках каждый раз, а это не удобно.
2 вариант. Сделать политику на основе AdministratorTemplate, включить нужные разрешения — для создания документа new_document, дать доступ анонимам к контексту web c этой политикой, и еще могут понадобиться add_children, new_document_in_root, publish_document