Андрей Шевяков

Андрей Шевяков

С нами с 28 сентября 2016; Место в рейтинге пользователей: #64

Мультисайт на REVO на ~ 20 доменов 2 уровня

Мультисайт на MODX REVO для управления несколькими сайтами на разных доменах (домены второго уровня).

Накопилось пара десятков несложных сайтов, с небольшой посещаемостью (от 10 до 500 уников на сайт). Часть сайтов на EVO, часть на REVO.
Сейчас обдумываю идею сделать мультисайт на MODX REVO, чтобы меньше тратить времени на обслуживание этого «зоопарка» сайтов.
Сервер VDS, все сайты находятся на нем, он справляется.

Кто-то наверняка делал что-то подобное.

Глобально вопрос один:

1. Упростит ли это жизнь в плане обслуживания?

Далее частности:
Если «упростит», то что «усложнит», т.е. какие «подводные камни» меня ждут?
Как лучше сделать, чтобы все домены «в одну папку» на сервере или лучше в разные папки?
Какие сложности с SEO?
Есть ли сложности с авторизациями редакторов сайтов на «свои сайты» (юзеры с урезанными правами в админке)?
Может еще какие-нибудь сложности?
Иван Чуваев
31 марта 2015, 06:38
modx.pro
5
6 364
+2

Super MODx SEO-strict +ускоряем фронтенд

Михаил задал вопрос про канонизацию урлов в MODx.
Писал ему ответ, но понял, что он слишком большой. Поэтому переписал в статью.

Поехали.
Алексей Карташов
25 марта 2015, 14:29
modx.pro
69
17 694
+11

Организация рутины при свежей установке modx.

Хочу поделиться скриптами для организации рутины при свежей установке и настройке сайта на modx, как раз проскочил вопрос в сообществе.

Скрипты можно запустить на свежей установке через консоль сервера, ну или вызывать в браузере страницу, предварительно отредактировав список опций.
По умолчанию все настройки рассчитаны на корень сайта example.com/packages.php
На локальном сервере php5-fpm nginx настроенном по инструкции Bezumkin все работает отлично.
Abu
Abu
23 марта 2015, 23:29
modx.pro
42
6 214
+11

Дубли страниц в MODX

Столкнулся с проблемой, которую вижу на сайтах MODX — дубли страниц со "/" в конце и без него. Сайты на Nginx и Apache. На modx.pro/ тоже. Пример:
Существует страница modx.pro/components/5081-mobiledetect-mobile-version-for-your-website и modx.pro/components/5081-mobiledetect-mobile-version-for-your-website/
Михаил
22 марта 2015, 18:55
modx.pro
4
8 514
0

Убрать часть Url

Приветствую! На сайте использую minishop2. Чтобы не засорять дерево ресурсов, создал категорию товаров Shop, в ней подкатегории товаров. Страница Shop не нужна, и не нужно, чтобы она была в url. Как от нее избавиться? Юзал компонент CustomUrls, работает, но при выводе, к примеру, меню, в url соответственно shop присутствует.
Спасибо
Андрей
20 марта 2015, 17:13
modx.pro
7
10 069
+1

Как закрыть модальное окно после отправки AjaxForm

Как закрыть модальное окно после отправки AjaxForm?
Сделал окно poli-dent.net/implantation.html внизу страницы запись на прием.
Письма уходят, но окно висит пока его руками не закроешь. Можно сделать так чтобы оно само закрывалось после удачной отправки письма?
Семен Морозов
24 февраля 2015, 12:59
modx.pro
4
18 416
0

Чистим сайт от старых пакетов

При обновлении какого-нибудь компонента, MODX загружает новый пакет в папку /core/packages и добавляет запись в таблицу modx_transport_packages. Со временем в папке /core/packages накапливается приличное количество пакетов компонентов разных версий. И глядя на это разнообразие хочется избавиться от старых версий. И самое просто решение — удалить из папки не нужное. Решение простое, но неправильное. Так как в таблице остаются ссылки на эти пакеты и MODX их помнит. И иногда может и поругаться, что не нашел какой-то пакет. Чтобы не нарушать гармонии, лучше удалять их через специальный интерфейс.
Сергей Шлоков
24 февраля 2015, 12:13
modx.pro
13
3 675
+8

Динамическая кнопка Купить / В корзине

Появилась необходимость реализовать динамическую кнопку Купить / В корзине.

Может кому-то пригодится.

Спасибо Алексею Наумову, Василию Наумкину за помощь в реализации.

Чанк Купить 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]]`]]
Klike
17 февраля 2015, 13:36
modx.pro
43
6 298
+2

Разделение полей

Добрый день, коллеги.
У заказчика возникло требование — поля в категориях товара, для каждой категории должны быть свои.
Я так понимаю, что данная штука будет реализована только в miniShop2 New?
Не было ни у кого пободной задачи? Может как-то просто через CSS по ID поля скрывать? :)
Romancho
13 февраля 2015, 12:52
modx.pro
1
1 210
0

Контексты для разделения страниц

Здравствуйте.

Возникла следующая проблема — при создании разных контектов для визуального и правового разделения ресурсов, имеющих один корень (для примера: основной контекст «web» и дополнительный «cars», все документы которых доступны по адресу site.ru/название_страницы).
Реализация путем контекстов выбрана для того, чтобы в одном табе не были в перемешку системные страницы и 100-150 марок автомобилей.

Все страницы не основного контекста определяются как «несуществующие» и перебрасывают на ошибку 404.

Подскажите, пожалуйста, как можно реализовать контексты для подобной задачи или задачи для контекстов, находящихся в рамках одного домена, но отличающихся родительским «контейнером» (пример: site.ru/название_страницы и site.ru/folder/название_страницы).

Заранее спасибо.

P.s. да, я знаю, что контексты — это гемморой и далеко не всегда оправданное решение.
Максим Кузнецов
27 января 2015, 17:32
modx.pro
5
5 565
0