Сергей Водолагин
С нами с 22 марта 2014; Место в рейтинге пользователей: #199Сохранение правильного конфига при переносе сайта
Самый простой способ перенести сайт с одного хостинга/аккаунта на другой — скопировать заранее конфиги в новом месте для сайта, чтобы потом руками не менять везде пути и логин/пароль к БД. Можно делать с помощью mc, как описано в разделе помощи Modhost, а можно руками в консоли писать команды. Или даже с помощью файлового менеджера через (S)FTP.
А можно еще проще, если есть доступ к SSH — запустить скрипт и выбрать режим работы:
1) Сохранить конфиги
2) Восстановить конфиги
А можно еще проще, если есть доступ к SSH — запустить скрипт и выбрать режим работы:
1) Сохранить конфиги
2) Восстановить конфиги
Ошибка работы phpThumb в MODX 2.5.1
В MODX 2.5.1 обновили phpThumb, после чего некоторые дополнения стали неверно работать с картинками.
Проблема встречается на серверах с включенным open_basedir (запрет скриптам выходить из директории сайта) из-за того, что авторы MODX не указывают временную директорию при инициализации.
Для исправления нужно добавить
Вторая проблема касается уже непосредственно дополнений, таких как phpthumbon. Конкретно он не вызывает метод initialize() при запуске класса modPhpThumb, в результате чего настройки директорий вообще не выставляются.
Проблема встречается на серверах с включенным open_basedir (запрет скриптам выходить из директории сайта) из-за того, что авторы MODX не указывают временную директорию при инициализации.
Для исправления нужно добавить
$this->setParameter('config_temp_directory',$cachePath);на 34 строке файла core/model/phpthumb/modphpthumb.class.phpВторая проблема касается уже непосредственно дополнений, таких как phpthumbon. Конкретно он не вызывает метод initialize() при запуске класса modPhpThumb, в результате чего настройки директорий вообще не выставляются.
[fullCalendar] Пример системы записей
Работая над обновлением компонента fullCalendar и глубже вникая в api яваскрипт библиотеки fullCalendar, получил очень большое впечатление от её возможностей. А с впечатлением пришло и понимание, что её применение можно расширить. Например, она достаточно легко позволяет реализовать несложную систему записей. Вариаций может быть достаточно много. Я хочу продемострировать один из примеров такой системы в стиле EMIAS (запись к врачу).
Как создать свою сборку для MODX
Как и обещал, выкладываю инструкцию — как на основе сборки siteExtra сделать свою сборку. Скачать исходники можно на гитхабе https://github.com/ilyautkin/siteExtra. Полученный архив загружаем на сайт и распаковываем.
Сохранение корзины для пользователей
На одном из проектов появилась задача сохранять содержимое корзины для зарегистрированных пользователей, чтобы при последующей авторизации с любого компьютера они имели возможность продолжить покупки, а не добавлять все заново.
В качестве решения получился очень простой плагин, который выполняет 2 действия:
1) Сохраняет содержимое корзины в extended поля пользователя после каждого изменения корзины
2) Восстанавливает содержимое корзины перед каждой обработкой запрошенной страницы.
В качестве решения получился очень простой плагин, который выполняет 2 действия:
1) Сохраняет содержимое корзины в extended поля пользователя после каждого изменения корзины
2) Восстанавливает содержимое корзины перед каждой обработкой запрошенной страницы.
[msAddLinked] Опции товара с изменением цены

Описание
Добавление связанных товаров в виде дополнительных опций с увеличением цены добавляемого товара.В любой форме добавления товара в корзину можно выводить дополнительные товары, которые будут добавлены в качестве опций с последующим увеличением цены.
В корзине возле товара выводятся добавленные опции.
ВАЖНО: в списке связанных выводятся только те товары, для которых в связях текущий товар или указанный сниппету msAddLinked.input является главным.
Сниппет msAddLinked.input
Предназначен для вывода списка связанных товаров и полей ввода. По умолчанию выводятся чекбоксы, но, в теории, можно задать любой тип, поддерживаемый атрибутом type тэга input.Проверена корректная работа типов text, number. Если в этих полях ввода указывать число, опции к товару в корзине будут добавлены в соответствующем количестве.
[videoGallery] 1.2.0 Длительность и страница в бекенде

В новой версии пакет может парсить длительность видео у YouTube и Vimeo роликов. Для YouTube, как всегда, нужен API Key (как его получить описано здесь). Длительность сохраняется в формате ISO 8601, приемлемом для микроразметки Schema.org.
[looked] Компонент "Вы смотрели"
Компонент looked для MODX revolution даёт возможность добавить на сайт блок с последними просмотренными страницами (товарами) пользователем.
Страница производителя товара
Как не суперкостыльными методами сделать страницу Производителя где будут доступны все товары из каталога данного производителя. Должна же быть из коробки подобная функция, раз есть в меню минишопа раздел производителей!!! Заранее благодарю!
Помог себе сам — как всегда в принципе, огромное спасибо сообществу.
Вот решение для нубов вроде меня:
Вывод страницы производителя:
Помог себе сам — как всегда в принципе, огромное спасибо сообществу.
Вот решение для нубов вроде меня:
Вывод страницы производителя:
[!mFilter2?
&limit=`10`
&parents=`0`
&element=`msProducts`
&where=`{ "Vendor.resource":[[*id]] }`
&filters=`
ms|price:number
,parent:categories
`
&tpls=`tpl.msProducts.row`
&sort=`ms|price:desc`
&ajaxMode=`button`
&tplFilter.outer.ms|price=`tpl.mFilter2.filter.slider`
&tplFilter.row.ms|price=`tpl.mFilter2.filter.number`
]]Ссылка на страницу производителя из карточки товара:<p>Производитель: <a href="[[~[[+vendor.resource]]]]">[[+vendor.name]]</a></p>Вывод страницы всех производителей:[[!pdoResources?
&class=`msVendor`
&sortby=`name`
&sortdir=`ASC`
&tpl=`vendor`
]] Динамические размеры iFrame
Доброго дня!
Задаюсь вопросом, можно ли сделать вставку видео с ютуба, к примеру, динамической (чтобы под размеры сайта подгонялась)? И как, если это возможно?
Задаюсь вопросом, можно ли сделать вставку видео с ютуба, к примеру, динамической (чтобы под размеры сайта подгонялась)? И как, если это возможно?