Готовые решения
Импорт свойств в Minishop2 версий 2.4.* из CSV
Возникла сейчас необходимость импортировать товары для текущей версии MS2.
Попробовал штатный скрипт импорта из CSV, оказалось, что свойства товаров (созданные не плагином) не обрабатываются.
Возможно кому-то пригодиться данное простенькое решение.
Попробовал штатный скрипт импорта из CSV, оказалось, что свойства товаров (созданные не плагином) не обрабатываются.
Возможно кому-то пригодиться данное простенькое решение.
Вставка копирайтов при копировании текста на сайте
Головная боль многих новостных сайтов — копирование оригинального текста и его использование на других сайтах.
В качестве официального решения проблемы — предлагается автоматическое добавление копирайтов при копировании текста в буфер обмена. Копирайт может содержать ссылку на сайт-источник, что дает дополнительное SEO преимущество.
Ниже я предлагаю найденное мною и немного оптимизированное решение этого вопроса.
В качестве официального решения проблемы — предлагается автоматическое добавление копирайтов при копировании текста в буфер обмена. Копирайт может содержать ссылку на сайт-источник, что дает дополнительное SEO преимущество.
Ниже я предлагаю найденное мною и немного оптимизированное решение этого вопроса.
Регистрация пользователя с суммой на счёте
Простенький скрипт, который пробегает по массиву email => name, регистрирует пользователя в системе и кладёт ему определённую сумму на внутренний счёт miniShop2.
Запускать ровно один раз, результатом будет вывод списка имён, ящиков и паролей (если юзер еще не был зарегистрирован). При повторном запуске юзерам зачислится еще раз такая же сумма.
Можно использовать для раздачи рекламных аккаунтов в магазинах.
Запускать ровно один раз, результатом будет вывод списка имён, ящиков и паролей (если юзер еще не был зарегистрирован). При повторном запуске юзерам зачислится еще раз такая же сумма.
Можно использовать для раздачи рекламных аккаунтов в магазинах.
Расширение фильтрации mFilter2 для тегов Tagger
Доступ к core из админки, когда папка вынесена
Для обеспечения безопасности сайта, часто рекомендуют выносить папку core за пределы веб сервера. Но так же часто бывает необходимость получить доступ к этой папке из админки. Для этого в меню — Медиа создаем новый источник файлов. Называем его. В параметрах basePath — указываем абсолютный путь к папке core (слэш на конце обязательно). basePathRelative — ставим НЕТ. После этого папка core доступна из админки
Удаление старых версий пакетов
Многие пользователи знают, что MODX хранит кучу старых версий дополнений, чтобы вы могли откатиться на них в любое время.
Но, это требуется крайне редко, а место пакеты занимают. Их можно удалять вручную, но это довольно утомительно, поэтому я набросал несложный консольный скрипт для автоматического удаления.
Скрипт нужно положить в корневую директорию и запустить. Он выберет все установленные версии, кроме самой последней, и корректно удалит их через родной процессор.
Судя по коду этого процессора, никак повредить системе он не может, потому что деинсталляцию самого пакета не делает, а только удаляет файлы версии. Но, в любом случае, использовать на свой страх и риск!
Но, это требуется крайне редко, а место пакеты занимают. Их можно удалять вручную, но это довольно утомительно, поэтому я набросал несложный консольный скрипт для автоматического удаления.
Скрипт нужно положить в корневую директорию и запустить. Он выберет все установленные версии, кроме самой последней, и корректно удалит их через родной процессор.
Судя по коду этого процессора, никак повредить системе он не может, потому что деинсталляцию самого пакета не делает, а только удаляет файлы версии. Но, в любом случае, использовать на свой страх и риск!
Импорт в MODX Tickets из Wordpress
В очередной раз понадобилось перенести блог из Вордпресса в MODX. Раньше я для этого пользовался хитрым костылём с Articles. Сейчас он не работает, поэтому пришлось чинить. Доделывать мне его лень, так что это опять костыль. Но у меня он сработал.
Скачиваем файл, создаём новый сниппет, например, wpimport, вставляем в него текст из файла, и настраиваем всё параметры прямо в коде (я предупреждал — костыль!)
Скачиваем файл, создаём новый сниппет, например, wpimport, вставляем в него текст из файла, и настраиваем всё параметры прямо в коде (я предупреждал — костыль!)
- На 20-й строке указываем путь к файлу, экспортированному из WP.
- На 100-й строке появляется функция, которая расставляет теги абзаца, которых в файле WP нет.
- 115-я строка — ID родителя (куда будем импортировать?)
- 119-я — ID шаблона для постов.
- На 126 устанавливается class_key Tickets. Если хотите, можете сделать ModResource.
- Со 132-й строки пробуем скопировать все изображения из WP в папку, указанную на 152-й строке. Попутно меняем css классы у картинок на bootstrap.
- На 180-й строке пытаемся поменять href у ссылок, внутри которых были картинки.
- 199 – Сохраняем в интротекст всё, что перед катом.
- 209,210 — вызываем функции, которые сохраняют description и keywords в соответстующие ТВ, если в WP вы использовали All In One SEO Pack. ТВ для сохранения указаны в самом конце.
- ТВ для тегов на 339-й строке.
Применение для Яндекс.Диска
Встала задача где-то хранить кучу фотографий для сайта и других файлов. Покупать выделенный сервер для небольшого сайта, и тратить 5-10 тысяч рублей, совсем не разумно. Тут мне на глаза попался Яндекс.Диск, вместилище на 1тб тут стоит всего лишь 200 рублей. И я подумал, а почему бы и нет? Поковырял API, нашел симпатичную библиотеку yandex-php-library и на её основе сворганил свой набор скриптов для любимой MODX REVO. В итоге все работает в связке с pdoTools. Посмотреть как работает можно тут.
Геозависимые скидки на продукт магазина
Возникла необходимость в скидках на продукт в зависимости от города покупателя.
Ниже краткая инструкция как это реализовать с помощью компонента Discontrol.
Ниже краткая инструкция как это реализовать с помощью компонента Discontrol.
Сборка сайта агентства недвижимости
Приветствую!
Рады анонсировать новую сборку — «RealEst», сборку сайта для агентства недвижимости.