Александр Наумов
С нами с 15 декабря 2012; Место в рейтинге пользователей: #105- Заметки 158
- Комментарии 34
Сегодня в 08:41
Ну вот и правильная мысль, я же правильно понимаю, что все дополнения, что написаны на ms2 надо переписывать на ms3 многие авторы это не будут делать,...
MiniShop3 - 1.0.0-alpha 15
Вчера в 10:16
Посмотрел докумендацию Sendit.
и нашел то что искал, конечно надо будет писать побольше кода, но это то что надо, и очень гибко оказывается.
Спасибо...
Как кастомизировать сообщения после Регистрации на сайте? 3
28 ноября 2024, 18:01
Так делал на одном проекте, нужно было добавить поиск по полю pagetitle. Думаю, что можно и на TV переделать.
<?php
class myCustomFilter extends...
mFilter2 фильтрация tv 3
28 ноября 2024, 17:35
На ноде при запуске сервера можно большую часть проинициализировать. Например, прогрузить настройки, чанки и сниппеты в память и не лазить за ними в б...
Плюсы и минусы Vue и gtsAPI 18
27 ноября 2024, 19:13
Вообще можно завести допполе и при сохранении ресурса плагином писать в допполе разбирая pagetitle.
Модификатор сортировки pdoResources по pagetitle 7
27 ноября 2024, 12:36
Добрый день. Появилась новая ошибка: 27.11.2024 12:30:20 ERROR /www/site.ru/core/components/yasmartcaptcha/model/yasmartcaptcha.class.php 60
Reco...
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс 6
github.com/bezumkin/AjaxForm/blob/master/assets/components/ajaxform/js/default.js
Здесь все необходимое для запуска MODX-3 (ну, просто он там в зависимостях, но можно и другие добавить в app/www).
Сам по себе докер (именно как один отдельно взятый контейнер) не очень интересно. Интересна возможность именно создания нескольких контейнеров, и чтобы они между собой взаимодействовали. Здесь у нас php-fpm, nginx, mysql, PhpMyAdmin и сам MODX. Но MODX пока не удалось запустить на полном автомате (мне лень было это копать без особой мотивации). Тем не менее, контейнер под него подготовлен, в том числе и устанавливается composer github.com/MODX-Club/docker-lnmp/blob/master/php-fpm/Dockerfile#L36
Только клонировать проект надо с субмодулями
git clone --recursive github.com/MODX-Club/docker-lnmp docker-modx
cd docker-modx
После этого проверяем, директория должна быть не пустой app/www/modx3
И вот чего не автоматизировал — это создание modx3/core/packages/core.transport.zip
По идее его должна быть возможность как-то билдить через CLI, но я с наскока не нашел. Если найдете, то в связке с общей установкой MODX через CLI можно полностью автоматизировать установку и запуск.
docs.modx.com/3.x/en/getting-started/installation/cli
Пока же приходится качать этот пакет с оффсайта и закидывать туда, иначе установка не может быть завершена.
Запуск
Копируем .env
copy .sample.env .env
Может затем отредактировать его и установить рет-пароль для мускула.
Для надежности сначала запускаем mysql и pma
docker-compose up -d --build mysql pma
Затем php-fpm
docker-compose up -d --build php-fpm
После запуска надо собрать MODX (я забыл это прописать в Dockerfile).
Заходим в контейнер php-fpm
docker exec -it modx-docker_php-fpm_1 bash (имя контейнера может отличаться, ищем актуальное docker ps или docker-compose ps).
Заходим в папку modx3 и выполняем
composer install
Ну и в конце nginx
Только хост подправить при необходимости: github.com/MODX-Club/docker-lnmp/blob/master/nginx/conf.d/modx3.local.conf
docker-compose up -d --build nginx
После запуска идет modx3.local/setup и устанавливаем.
Я им не пользуюсь, но морок все равно не много. Я захожу на digitalocean и создаю сервер из готового образа с докером: marketplace.digitalocean.com/apps/docker
Далее просто затягиваю гит-проект, подправляю .env (если надо) и все, запускаю проект. При чем использую caddy-server, который даже ssl сертификаты в Let's Encript заказывает, даже крон-службы никакие не надо настраивать. Так что все далеко не так плохи и сложно как кажется.
Вот если говорить просто как про замену MODX в классическом виде, то есть про готовую CMS, которая и сервер и фронт, все в одном, под сайты-визитки и небольшие магазины, то скорее всего нечем (во всяком случае на JS/TS). Нюанс только заключается в том, что сейчас спроса на простые и маленькие практически нет. Точнее сейчас практически не остается того маленького в том виде, как это было раньше. Даже маленькое сейчас стараются делать по современным методикам. Аналогию можно наверно такую провести: это как писали раньше на чистом JS и мучились с поддержкой разных браузеров, а потом появился jQuery и практически все стали писать на нем (хотя справедливости ради стоит отметить, что сначала появились prototype и mootools, но все же именно jQuery стал первой столь массовой библиотекой). Или как писали чистый CSS, а потом появились Less, Sass и т.п. и говорили «На чистом CSS писать легко. Но большие проекты на чистом CSS писать сложно». Так же и здесь. Появляется множество инструментов, используемых еще на этапе разработки и конечный продукт без использования оных всерьез не воспринимается.
Сейчас же пишут в основном API-first CMS и Headless CMS. И хотя не все могут сразу перейти полностью на новые технологии, очень часто делают так: бэк старый оставляют и прикручивают новый на новых технологиях. Посмотрите список поддерживаемых CMS у того же gatsby или next-js. Я же пишу свой велосипед, который прям все в одном в плане и бэк и фронт. github.com/prisma-cms/nextjs
Сделал на нем уже несколько сайтов. Докручиваю только более удобную админку ему. Уверен, появятся и другие сторонние решения «под ключ» и более удобные, чем у меня. Это всего лишь вопрос времени.
Как получить родителя по id?
Для корректности, вашем случае нужно поступить вот так:
UPD
Забыл совсем про uri
Если, что в поле uri хранится ссылка на страницу, но никак не в alias
core/components/minishop2/processors/mgr/gallery/upload.class.php
после строки 64
Ну и в разрешениях файлового источника надо прописать svg
Работает это с версии минишоп 2.4 как я понимаю.
1. В папке /core/components/minishop2/custom/cart/ создаете файл mascarthandlerstatus.class.php который будет расширять класс корзины
2. В этом файле пишете
3. В плагине Console (если его нет, то надо поставить) выполняем следующий код
Таким образом мы добавляем новый обработчик корзины
4. Далее идем в Системные настройки -> mimishop2 -> Класс обработчик корзины и указываем там msCartHandlerStatus
5. Теперь в плейсхолдере total_count_position будет отображаться количество позиций в корзине
6. Что бы все это и по аяксу обновлялось, в js в ваших скриптах или просто в конце страницы (главное что бы он был после подключения скрипта от минишопа) добавляем такой код
7. Теперь в миникорзине или корзине можно писать так
2. чекбоксы «я согласен на обработку моих персональных данных/подтверждая форму, я соглашаюсь с правилами сайта» на объемных формах — регистрация/оформления заказа
3. страница с политикой конфиденциальности + ссылка в подвале
4. modhost.pro