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

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

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

easyComm - комментарии, отзывы, вопросы на сайте

Установить easyComm >>

Компонент предназначен для создания на сайтах таких модулей/разделов, как:
  • Отзывы,
  • Комментарии,
  • Вопрос-ответ.
Название easyComm произошло от Easy Communication, или Easy Comments, кому как больше нравится.

Компонент позволяет пользователям сайта через специальную форму оставить свое сообщение/отзыв/вопрос. Администратор получит уведомление на почту, увидит их в панели управления сайтом, сможет опубликовать или удалить сообщение, оставить свой ответ на него.

Компонент предназначен для работы с неавторизованными пользователями и не носит социальной направленности. Т.е. он не проектировался как модуль для добавления комментариев в блогах или каких то соц сетях. Скорее как сервис для связи с пользователями для интернет магазинов или компаний, продающих услуги.
Наумов Алексей
03 апреля 2015, 09:40
modx.pro
13
48 644
+14

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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