Купчинский Михаил
С нами с 19 января 2013; Место в рейтинге пользователей: #524Мультисайт на REVO на ~ 20 доменов 2 уровня
Мультисайт на MODX REVO для управления несколькими сайтами на разных доменах (домены второго уровня).
Накопилось пара десятков несложных сайтов, с небольшой посещаемостью (от 10 до 500 уников на сайт). Часть сайтов на EVO, часть на REVO.
Сейчас обдумываю идею сделать мультисайт на MODX REVO, чтобы меньше тратить времени на обслуживание этого «зоопарка» сайтов.
Сервер VDS, все сайты находятся на нем, он справляется.
Кто-то наверняка делал что-то подобное.
Глобально вопрос один:
1. Упростит ли это жизнь в плане обслуживания?
Далее частности:
Если «упростит», то что «усложнит», т.е. какие «подводные камни» меня ждут?
Как лучше сделать, чтобы все домены «в одну папку» на сервере или лучше в разные папки?
Какие сложности с SEO?
Есть ли сложности с авторизациями редакторов сайтов на «свои сайты» (юзеры с урезанными правами в админке)?
Может еще какие-нибудь сложности?
Накопилось пара десятков несложных сайтов, с небольшой посещаемостью (от 10 до 500 уников на сайт). Часть сайтов на EVO, часть на REVO.
Сейчас обдумываю идею сделать мультисайт на MODX REVO, чтобы меньше тратить времени на обслуживание этого «зоопарка» сайтов.
Сервер VDS, все сайты находятся на нем, он справляется.
Кто-то наверняка делал что-то подобное.
Глобально вопрос один:
1. Упростит ли это жизнь в плане обслуживания?
Далее частности:
Если «упростит», то что «усложнит», т.е. какие «подводные камни» меня ждут?
Как лучше сделать, чтобы все домены «в одну папку» на сервере или лучше в разные папки?
Какие сложности с SEO?
Есть ли сложности с авторизациями редакторов сайтов на «свои сайты» (юзеры с урезанными правами в админке)?
Может еще какие-нибудь сложности?
Super MODx SEO-strict +ускоряем фронтенд
Михаил задал вопрос про канонизацию урлов в MODx.
Писал ему ответ, но понял, что он слишком большой. Поэтому переписал в статью.
Поехали.
Писал ему ответ, но понял, что он слишком большой. Поэтому переписал в статью.
Поехали.
Изображения miniShop2 через mSearch
Доброго праздничного дня.
Ковыряю mSearch в связке с miniShop2. Поиск обрабатывается, вывел результаты на страницу, однако возникла проблема с выводом изображений из miniShop2. Т.е. thumb на страницу выплюнуть получилось, а вот 400х400, например, ни в какую.
Честно, покурил поиск, но в 4 утра мог и пропустить что-то. Гуглил. Форсировал разные вариации вызовов. Уверен, что все очень просто. Но не выводится произвольное изображение, как ни крути.
Взываю к коллективному разуму и отправляюсь спать. Заранее спасибо за ответы.
Ковыряю mSearch в связке с miniShop2. Поиск обрабатывается, вывел результаты на страницу, однако возникла проблема с выводом изображений из miniShop2. Т.е. thumb на страницу выплюнуть получилось, а вот 400х400, например, ни в какую.
Честно, покурил поиск, но в 4 утра мог и пропустить что-то. Гуглил. Форсировал разные вариации вызовов. Уверен, что все очень просто. Но не выводится произвольное изображение, как ни крути.
Взываю к коллективному разуму и отправляюсь спать. Заранее спасибо за ответы.
TvTable - таблица
Добрый день! Понадобилась мне тут табличка в виде Тв-параметра, в которой можно менять не только кол-во строк, но и столбцов. Поэтому migx не подходит (
В общем, было найдено решение, но как оказалось оно для EVO =(
В итоге взяла его за основу и переписала.
В общем, было найдено решение, но как оказалось оно для EVO =(
В итоге взяла его за основу и переписала.
Новая Google reCAPTCHA(v2) для FormIt
Наткнулся на дополнение ReCaptchaV2, позволяющее добавить новую капчу в FormIt.
Как закрыть модальное окно после отправки AjaxForm
Как закрыть модальное окно после отправки AjaxForm?
Сделал окно poli-dent.net/implantation.html внизу страницы запись на прием.
Письма уходят, но окно висит пока его руками не закроешь. Можно сделать так чтобы оно само закрывалось после удачной отправки письма?
Сделал окно poli-dent.net/implantation.html внизу страницы запись на прием.
Письма уходят, но окно висит пока его руками не закроешь. Можно сделать так чтобы оно само закрывалось после удачной отправки письма?
Вывод значений в tv список (одиночной выборки)
День добрый сообщество, есть вызов сниппета… выводит список Агентов вот наглядный пример… тут!
код вызова все работает ок!
код вызова все работает ок!
[[!getImageList?
&tvname=`agenti`
&tpl=`agentiTpl`
&docid=`[[+id]]`
&limit=`6`
]]
…[mSearch2] Поиск в найденном. Реализация
Поиск в найденном — удобный механизм последовательного органичения поисковой информации. Многие помнят, что до лета 2014 у Яндекса была такая замечательная возможность. И сколько шума на форумах было, когда её убрали.
На mSearch2 можно достаточно легко реализовать такую возможность. Нужны всего лишь сам mSearch2 и бутылочка пива. Открываем и то и другое, и поехали.
1. Первым делом добавляем в форму чанка tpl.mSearch2.form чекбокс.
Вот и все. Отмечаем галочку и ищем. :)
На mSearch2 можно достаточно легко реализовать такую возможность. Нужны всего лишь сам mSearch2 и бутылочка пива. Открываем и то и другое, и поехали.
1. Первым делом добавляем в форму чанка tpl.mSearch2.form чекбокс.
<input type="checkbox" value="1" name="sinf" id="sinf" /> Искать в найденном
Получается, например, вот такВот и все. Отмечаем галочку и ищем. :)
Алфавитный рубрикатор для ресурсов Modx Revo.
Результат работы тут: lab.nikann.ru/catalog#abc
За основу был взят: modx.ws/urok-modx-ajax-zagruzka-resursov
За основу был взят: modx.ws/urok-modx-ajax-zagruzka-resursov
Динамическая кнопка Купить / В корзине
Появилась необходимость реализовать динамическую кнопку Купить / В корзине.
Может кому-то пригодится.
Спасибо Алексею Наумову, Василию Наумкину за помощь в реализации.
Чанк Купить tplOut:
Чанк В корзине tplIn:
Скрипт (требуется подключенный jQuery)
Сниппет myButton:
Кнопка вызывается таким образом:
Может кому-то пригодится.
Спасибо Алексею Наумову, Василию Наумкину за помощь в реализации.
Чанк Купить tplOut:
<button type="submit" class="btn btn-cart btn-primary" name="ms2_action" value="cart/add">
Купить
</button>
<button type="submit" class="btn btn-checkout btn-success hidden" name="ms2_action" value="cart/add">
В корзине
</button>
Чанк В корзине tplIn:
<button type="submit" class="btn btn-checkout btn-success" name="ms2_action" value="cart/add">
В корзине
</button>
Скрипт (требуется подключенный jQuery)
if (typeof(miniShop2) != 'undefined') {
// кнопки В корзину/Оформить
miniShop2.Callbacks.Cart.add.response.success = function(response) {
miniShop2.Order.getcost();
miniShop2.sendData.$form.find('.btn-cart').addClass('hidden');
miniShop2.sendData.$form.find('.btn-checkout').removeClass('hidden');
};
miniShop2.Callbacks.Cart.remove.response.success = function() {
miniShop2.sendData.$form.find('.btn-cart').removeClass('hidden');
miniShop2.sendData.$form.find('.btn-checkout').addClass('hidden');
};
}
Сниппет myButton:
<?php
// Параметры
$idd = $modx->getOption('idd', $scriptProperties, $modx->resource->id);
$tplIn = $modx->getOption('tplIn', $scriptProperties, 'tplIn'); //Можно писать так: ('tplIn', $scriptProperties, '@INLINE Товар в корзине, кол-во – [[+count]], цена = [[+price]].');
$tplOut = $modx->getOption('tplOut', $scriptProperties, 'tplOut'); // '@INLINE Товара нет в корзине.'
// Классы для работы
$pdo = $modx->getService('pdoTools');
$miniShop2 = $modx->getService('minishop2');
$miniShop2->initialize($modx->context->key, $scriptProperties);
$cart = $miniShop2->cart->get();
// Поехали
$found = false;
foreach($cart as $product) {
if ($product['id'] == $idd) {
$found = $product;
break;
}
}
return $found
? $pdo->getChunk($tplIn, $found)
: $pdo->getChunk($tplOut);
Кнопка вызывается таким образом:
[[!myButton? &idd=`[[+id]]`]]