Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 107 комментариев

Наумов Алексей
Наумов Алексей
Правильный сценарий — это снять с публикации и товары (хотя это бывает часто не удобно для менеджеров и т.п.).
Но в целом компонент типа msPre позволяет сделать это быстро.

Дело в том, что в modx снятие с публикации страницы (любой) верхнего уровня не означает, что весь раздел снять с публикации.

Если же ответить на ваш вопрос — то нужно сделать еще один leftJoin (по аналогии с Remains), куда джойнить категорию товара. И в where добавить условие, что категория опубликована.

И ее забыть, что:
— товар все равно опубликован, он будет доступен по прямой ссылке
— товар опубликован, он попадает в разные выгрузки типа карты сайта, sitemap.xml и т.п., за всем этим нужно следить
Наумов Алексей
Наумов Алексей
А что начинать, вон альфа версия, пожалуйста: github.com/modx-pro/miniShop3/

Альфа — это значит в целом то основное все работает. Собери небольшой магазин (может личный какой или для друзей), потестируй, что можно улучшить — присылай PR. Нюанс в том, что никто не делает этого, все предпочитают на двойке собирать.
Артур Шевченко
Артур Шевченко
Думаю, выхода miniShop 3 можно уже и не ждать
Свято место пусто не бывает, вот
@Aleksandr Huz разрабатывает свою экосистему на базе pageBlocks, тамбудет магазин

Но и miniShop 3 я надеюсь выйдет, надо просто начать, а доработать можно и потом, в конец концов miniShop2 так и существует, в нём многое изменилось с момента первого релиза.
Василий Наумкин
Василий Наумкин
Рад за Николая! Еще один разработчик вышел за пределы MODX и открыл для себя много интересного.

Скопирую сюда его текст для удобства:


Я еще в прошлом году от скуки сделал composer-версию, в которой перелопатил классы и добавил инсталлятор — но интереса никто не проявил.

Думаю, выхода miniShop 3 можно уже и не ждать. Да и просто выйти — это только половина дела, его нужно поддерживать и дорабатывать, а желающих давно нет.
Ivan K.
Ivan K.
Я не в курсе работает ли минишоп в MODX3, но я параллельно работаю еще над pbShop — аналог минишопа, но с зависимостью от PageBlocks, поэтому будет реально. Сроков пока не могу дать.
В том то и дело, что не работает)) я думал написать скрипт импорта и перенести все товары.

я не знаком, с этим компонентом, позже попробую установить и протестировать
Было бы просто замечательно. Этот компонент важен, он помогает реализовывать очередные и нескончаемые выкрутасы сеошников))
Aleksandr Huz
Aleksandr Huz
Хочу перенести с MODX2+MiniShop2 на MODX3+PageBlocks. Это вообще реально?
Я не в курсе работает ли минишоп в MODX3, но я параллельно работаю еще над pbShop — аналог минишопа, но с зависимостью от PageBlocks, поэтому будет реально. Сроков пока не могу дать.

3) Но меня очень волнует момент с SeoFiltr ом, возможно ли повторить его функционал? Хотя бы в минимальном исполнении, и так, чтобы при переносе остались те же url?
я не знаком, с этим компонентом, позже попробую установить и протестировать
Ivan K.
Ivan K.
Компонент впечатляет своими возможностями, хочу перенести на него пару крайне важных для меня интернет-магазинов. Возникли некоторые вопросы.

Хочу перенести с MODX2+MiniShop2 на MODX3+PageBlocks. Это вообще реально?
1) Перенести каталог товаров и его характеристики думаю возможно.
2) Фильтрация вроде есть у вашего компонента.
3) Но меня очень волнует момент с SeoFiltr ом, возможно ли повторить его функционал? Хотя бы в минимальном исполнении, и так, чтобы при переносе остались те же url?
Артур Шевченко
Артур Шевченко
Да я всё понимаю. Моя причина в том, что времени нет, как только станет посвободнее изучу. Я просто описал причины, по которым другим может быть страшно использовать компонент. Плюсом ещё идёт отсутствие инфраструктуры для сегмента электронной коммерции платёжки, доставки, интеграции с CRM. Пойми правильно, это не критика твоей разработки, это просто факт, который, надеюсь, мы со временем исправим, а твой компонент может стать неплохой базой для внедрения современных подходов к разработке в наш любимый Modx.
Aleksandr Huz
Aleksandr Huz
Артур Шевченко
Артур Шевченко
Ты используешь свой компонент, знаешь как он работает, где что подкрутить если вдруг не работает, а когда используешь чужой компонент, на который мало примеров, документация не вся, надо быть готовым изучать исходники и быть уверенным, что автор на связи и сможет оперативно поправить найденные баги.
Aleksandr Huz
Aleksandr Huz
Портал. Если заказчик будет не против, то потом смогу показать репозиторий, ведь вся разработка ведется в файлах. Вместо сниппетов использую модификаторы.

Например, создал модификатор меню
'menu' => function (int $rootId = 0, $level = 3) {
        return query('modResource')
        ->where([
            'published' => 1,
            'hidemenu' => 0,
        ])
        ->select('id,class_key,template,pagetitle,menutitle,introtext,alias,uri,link_attributes,parent')
        // получаем дополнительные поля, если меню нужно построить от родителя с id 12
        ->when($rootId === 12, function ($query) {
            $query->select('cargo_tooltip,transport_tooltip');
        })
        // кешируем результат навечно, пока не сбросим кеш
        ->cache(0)
        ->menu($rootId, $level);
},

и в файловом чанке
{foreach menu() as $item}
    <li class="nav-item{($item.id == $modx->resource->id) ? ' active' : ''}">
        <a class="nav-link" href="{$item.uri}">{$item.menutitle ?: $item.pagetitle}</a>
     </li>
{/foreach}

или вывести меню с другой категории
{foreach menu(12) as $item}
    <li class="nav-item{($item.id == $modx->resource->id) ? ' active' : ''}">
        <a class="nav-link" href="{$item.uri}">{$item.menutitle ?: $item.pagetitle}</a>
     </li>
{/foreach}
Aleksandr Huz
Aleksandr Huz
CMS писать точно не планирую)) Мне нравится админка MODX3, но хочется добавить больше гибкости и удобства, как в ларавел. И еще, чтобы админку можно было легко кастомизировать под проект.
Aleksandr Huz
Aleksandr Huz
Согласен, примеров катастрофически не хватает как и времени для них, но они будут постепенно появляются.
Документация потихоньку заполняется, и на данный момент все классы уже задокументированы.
Aleksandr Huz
Aleksandr Huz
Реально компонент — «космолет», но использовать на боевых сайтах страшно
А почему страшно? я с 2022 года использую его с modx3 и все нормально. Сейчас делаю большой проект полностью без чанков, сниппетов и тивишек и это реально удобно и быстро. Так что страшного здесь ничего нет.
Сергей Сергеевич
Сергей Сергеевич
Горячо плюсую за комментарий Мишы (Živeli brate!)
Реально компонент — «космолет», но использовать на боевых сайтах страшно. Проще использовать компоненты общества, т.к в долгую это надёжнее: найдешь чье либо решение и адаптируешь под себя, и больше круг использования. И переписывать текущие сайты страшно, т.к что-то постоянно идет не так…
Артур Шевченко
Артур Шевченко
Что ж ты творишь-то? Это ж теперь ещё больше хочется попробовать)) Очень здоровское обновление. И планы огонь! Сюдя по всему ты решил написать свою CMS по мотивам Modx, ещё несколько месяцев и будет готово))