Евгений
С нами с 18 апреля 2017; Место в рейтинге пользователей: #1512Создание мультисайта на MODX REVO
Лучше поздно, чем никогда. Как и обещал https://modx.pro/help/5194/ пишу про создание мультисайта на MODX REVO. Выкладываю в блог Готовые решения, т.к. в статье есть чуть-чуть кода.
Смысл всей затеи — упростить поддержку сайтов.
Под поддержкой понимаются любые действия связанные с работой сайта:
— размещение контента
— технические доработки сайта (программирование, верстка)
— консультирование модераторов, сеошников и т.д.
— бэкапы и восстановление информации
Кроме того, для упрощения работы необходимо внедрить стандарты, чтобы упростить рутину. Звучит громко, но на самом деле все просто — по «узким» моментам единожды принимаем какое-то решение и дальше просто поступаем по образцу, чтобы не тратить время на изобретение велосипедов. По принятому решению пишем короткую заметку в Евернот, чтобы потом когда понадобится можно было быстро найти, на чем основывалось решение.
В таких «стандартах» у меня:
— ресайз картинок с примерами кода
— настройки галереи fancybox с примерами кода
— создание файловых архивов
— названия чанков, например почти везде у меня есть чанки HEADER.site1, FOOTER.site1, ASIDE.site1 (в названии используем название контекста).
— и т.д. и т.п.
Т.е. единожды продумываем тонкости и решаем, что будем делать именно так и никак иначе. В дальнейшем это позволит избежать бардака и существенно ускорит процесс переноса существующих сайтов в мультисайт или разработку новых сайтов.
Смысл всей затеи — упростить поддержку сайтов.
Под поддержкой понимаются любые действия связанные с работой сайта:
— размещение контента
— технические доработки сайта (программирование, верстка)
— консультирование модераторов, сеошников и т.д.
— бэкапы и восстановление информации
Кроме того, для упрощения работы необходимо внедрить стандарты, чтобы упростить рутину. Звучит громко, но на самом деле все просто — по «узким» моментам единожды принимаем какое-то решение и дальше просто поступаем по образцу, чтобы не тратить время на изобретение велосипедов. По принятому решению пишем короткую заметку в Евернот, чтобы потом когда понадобится можно было быстро найти, на чем основывалось решение.
В таких «стандартах» у меня:
— ресайз картинок с примерами кода
— настройки галереи fancybox с примерами кода
— создание файловых архивов
— названия чанков, например почти везде у меня есть чанки HEADER.site1, FOOTER.site1, ASIDE.site1 (в названии используем название контекста).
— и т.д. и т.п.
Т.е. единожды продумываем тонкости и решаем, что будем делать именно так и никак иначе. В дальнейшем это позволит избежать бардака и существенно ускорит процесс переноса существующих сайтов в мультисайт или разработку новых сайтов.
easyComm - дополнительное поле Изображение
UPD 22.04.2021. Эта публикация устарела!
С версии 1.11.0-pl компонент сразу поддерживает вложение файлов: modx.pro/components/21775
При использовании компонента easyComm встала задача прикрепления к сообщения файла, а точнее изображения. Да еще и так, что бы им удобно можно было управлять через админку.
По результатам работы — небольшая инструкция, как этого добиться:
С версии 1.11.0-pl компонент сразу поддерживает вложение файлов: modx.pro/components/21775
При использовании компонента easyComm встала задача прикрепления к сообщения файла, а точнее изображения. Да еще и так, что бы им удобно можно было управлять через админку.
По результатам работы — небольшая инструкция, как этого добиться:
Сниппет Declension для склонения слов
Предлагаю вашему вниманию небольшой сниппет для вывода склонения. Работает как фильтр вывода, использовать нужно примерно так:
Как видите, он применяется к любым тегам с числами, а в options нужно указать три формы слова (1 яблоко, 2 яблока и 10 яблок) для русского, или 2 (1 ticket, 2 tickets) для английского.
Для экспериментов можно повызывать сниппет с произвольными числами:
[[+balls]] [[+balls:declension=`балл,балла,баллов`]]
Как видите, он применяется к любым тегам с числами, а в options нужно указать три формы слова (1 яблоко, 2 яблока и 10 яблок) для русского, или 2 (1 ticket, 2 tickets) для английского.
Для экспериментов можно повызывать сниппет с произвольными числами:
15 [[*id:input=`15`:declension=`яблоко,яблока,яблок`]]
Полный код под катом. Отправка формы авторизации Login через ajax
Доброго времени суток!
Помогите пожалуйста разобраться, пытаюсь настроить отправку данных формы авторизации сниппета login с помощью ajax. Хотел сделать такой вариант — если пользователь ввел данные некорректно, сниппет выдавал бы ошибку без перезагрузки страницы.
Нашел вот такой вариант реализации:
Помогите пожалуйста разобраться, пытаюсь настроить отправку данных формы авторизации сниппета login с помощью ajax. Хотел сделать такой вариант — если пользователь ввел данные некорректно, сниппет выдавал бы ошибку без перезагрузки страницы.
Нашел вот такой вариант реализации:
$(document).ready(function(){
//ajax Login
$("#login_form").bind("submit", function() {
//clear
$(".auth_error").text("");
if ($("#login").val().length < 1 || $("#password").val().length < 1) {
$(".auth_error").text("Для авторизации введите логин и пароль");
return false;
}
//show preloader
$.ajax({
type : "POST",
cache : false,
url : "[[~[[*id]]]]",
data : $(this).serializeArray(),
success: function(data) {
var errMessage = $(data).find(".auth_error").text();
if(errMessage == ""){
window.location = "[[~[[*id]]]]";
}else{
$(".auth_error").text(errMessage);
}
}
});
return false;
});
});
MIGX и вывод одной превьюшки из галереи
Здравствуйте. Столкнулся с неопознанным. У меня есть структура вида
В чём проблема: он действительно выводит, но при этом он пишет мне вот такие URL'ы:
Но 22 — это НЕ id дочернего документа, откуда берётся галерея, это id документа из которого вызывается getImageList.
Каталог
-- Товар 1
-- Товар 2
В каждом товаре есть галерея MIGX со всевозможными фотками оного. Я пытаюсь одну из этих фоток вывести на страницу каталога. Делаю это таким запросом:[[!pdoMenu?
&includeTVs=`vendorImage,catImage`
&parents=`[[~id]]`
&sortBy=`pagetitle`
&levelClass=`level`
&tplOuter=`@INLINE [[+wrapper]]`
&tpl=`categoryItem`
&tplCategoryFolder=`categoryItem`
]]
В categoryItem, соответственно, есть вот такой код: [[getImageList? &docid=`[[+id]]` &tvname=`resourcealbum` &tpl=`CategoryItemImage` &limit=`1`]]
И в чанке CategoryItemImage выводится всего лишь одна строчка: [[+image]].В чём проблема: он действительно выводит, но при этом он пишет мне вот такие URL'ы:
/assets/resourceimages/22/lenovo-desktop-thinkcentre-edge-72z-front-view.png
Но 22 — это НЕ id дочернего документа, откуда берётся галерея, это id документа из которого вызывается getImageList.
Сортировка в каталоге minishop2 и вывод товаров.
Добрый день.
Ребята подскажите кто как решал данный вопрос?
Требуется вывести главный каталог всех товаров, подобно их расположению в дереве MODX.
Ребята подскажите кто как решал данный вопрос?
Требуется вывести главный каталог всех товаров, подобно их расположению в дереве MODX.