Александр Котлов

Александр Котлов

С нами с 18 января 2013; Место в рейтинге пользователей: #100

[SkypeNotify] - уведомление в скайп для MODX

[SkypeNotify] — собственно уведомление в скайп для MODX.
подключить и инициализировать skypenotify
$skypenotify = $modx->getService('skypenotify')
$skypenotify->initialize();
подключить аккаунт скайп
$skypenotify->connect('login', 'password');
отправить сообщение
$skypenotify->sendMessage('login', 'Привет Боб, как дела?');
Володя
11 декабря 2015, 13:31
modx.pro
17
2 013
+11

Modx REST API

Всем привет.

Подскажите — как правильно организовать REST API на MODX?
Поступила задача — сделать REST API для обмена данными с front-end приложением.

По следующим ссылкам — изучил инфу —
Илья Катасонов
08 декабря 2015, 17:36
modx.pro
6
6 176
0

Проблемы с moddevtools

Здравствуйте. Сайт на MODX Revo 2.3.5, установлен moddevtools. Все бы хорошо, но на фронте сайта, после редактирования и сохранения чанков появляется надпись «moddevtools». Один раз после пересохранения все пропало, сейчас не помогает. Кэш чистил. В чем может быть дело?
Борис И
06 декабря 2015, 18:38
modx.pro
1
1 059
0

АнтиСео в MODX 2.4.0

Доброго времени суток, господа
Думаю не все в курсе (по крайней мере я не был) о том, что последние версии modx не корректно отрабатывают в связке в nginx ЧПУ (верней переадресацию при включении чпу).

В результате чего контент сайта целиком дублируется в глазах поисковика и вы уныло катитесь вниз в выдаче.
Приведу простой пример:
Ваш сайт доступен по ссылке */index.php?id=1 и /, */index.php?id=2 и по чпу документа с id 2 и т.д.

К сожалению на modhost установлен nginx и я совершенно случайно обнаружил этот факт.

Василий предложил использовать плагин

<?php
if ($modx->event->name == 'OnHandleRequest') {
	if (!empty($_GET['id'])) {
		$id = (int)$_GET['id'];
		if (!$modx->getCount('modResource', array('id' => $id, 'published' => 1, 'deleted' => 0))) {
			$id = $modx->getOption('error_page', null, $modx->getOption('site_start'));
		}
		$modx->sendRedirect($modx->makeUrl($id));
	}
}
На первый взгляд он закрывает эту дырку, но на практике получилось, что он ресолвит id и для страниц бэкенда, что убило его функционал.
Так же обратил внимание, что при включении этого плагина слетает выборка последних новостей (последние 3 дочерных документа у родителя по id).

Вот собственно вопрос:
как поставить проверку по содержанию /manager/ в url?
Почему может не работать pdoResources при включении этого плагина?
SaLacoste
03 декабря 2015, 22:39
modx.pro
11
6 899
+1

Генерация изображения с заданным текстом

Готовлю сайт с онлайн тестированием (заказчик называет это громким словом олимпиады).
Стоит задача выдавать каждому участнику сертификат об участии.
Возник вопрос как используя общее для всех фоновое изображение сгенерировать на каждом сертификате Имя и Фамилию участника? Причем это должна быть картинка пригодная для скачивания и печати.
Николай Савин
03 декабря 2015, 07:25
modx.pro
5
2 805
+2

Упрощаем работу с TV

Продолжая тему, начатую Василием, предлагаю решение для упрощения работы с TV. Оно поможет тем, у кого логика сайта завязана на TV — запросы, фильтры и т.п.
Решается эта задача созданием полей в таблице ресурсов и копированием в них значений TV.
Сергей Шлоков
02 декабря 2015, 09:18
modx.pro
49
8 062
+7

Content Editor Tools

Я решил немного облегчить себе жизнь и сделал 2 плагина (на самом деле 3) для работы с контентом из админки. Этот набор плагинов я назвал Content Editor Tools, чтоб не путать их с похожими имеющимися.

Первое, это Rich Text Editor. Тут на выбор: TinyMCE или CKEditor. Второе: AssetsTV — это для работы с файлами. Пока всё в статусе беты.





Денис Дыранов
27 ноября 2015, 15:02
modx.pro
19
6 702
+11

mFilter2 - фильтрация категорий по дочерним товарам

Публикую решение довольно распространённой задачи. Нужно фильтровать товары, но выводить не их, а их категории. Таким образом получается фильтр категорий, но по свойствам их дочерних товаров.

Первым делом нужно разобраться в логике работы mFilter2:
  1. Фильтр использует для поиска и вывода ресурсов один сниппет, указанный в &elements. В случае работы с товарами там обычно указывается msProducts.
  2. К этому сниппету будет 2 обращения: предварительная выборка и возврат подходящих id товаров, а затем их вывод пользователю.
  3. Различить эти два запроса можно по присылаемому параметру returnIds.
В получение id товаров нам вмешиваться не нужно, потому что фильтр должен построить из них фильтры. Нам нужно изменить только вывод этих товаров, заменив их на категории.
Василий Наумкин
11 октября 2015, 07:25
modx.pro
23
4 737
+4

Не работает пересчет цен в корзине

В зависимости от общего количества товара в корзине плагин устанавливает скидку на каждый товар: от 1 до 5 — 0%, от 5 до 10 — 0%, от 10 и выше — 20%.
Код плагина:
switch ($modx->event->name) {
	case 'msOnAddToCart': case 'msOnChangeInCart':
	$tmp = $cart->get();
$price=	$tmp[$key]['price'];
$tmpm = $cart->status();
$total_count = $tmpm['total_count'];
if ($total_count >= 10) {
	$price=$price*0.8;
} elseif ($total_count >= 5) {
	$price=$price*0.9;
} else {
	$price=$price;
}
$tmp[$key]['price']=$price;
	$cart->set($tmp);	
	break;
}
Беда в том, что цена пересчитывается не у всех товаров в корзине, а только у последнего добавленного/измененного, а для того что бы у остальных она поменялась, надо у каждого оставшегося изменить кол-во. Никак не могу понять, как после увеличения/уменьшения total_count, пересчитывать цены у каждого товара в корзине автоматом.
Артем
11 октября 2015, 07:03
modx.pro
5
2 236
+1

ms2gallery Ресайз исходных изображений на сервере

Всем привет. Публикую «велосипед» по ресайзу исходных изображений на сервере в момент загрузки (без участия plupload, который имеет всякие недостатки).
Алексей
10 октября 2015, 14:11
modx.pro
2
2 572
-1