Виталий Валерьевич

Виталий Валерьевич

С нами с 23 декабря 2012; Место в рейтинге пользователей: #333

Кто пользуется tvSuperSelect

Всем привет. Есть здесь те 37 человек, которые используют tvSuperSelect? Мне нужна помощь по части создания тегов для тикетов. Я уже писал вопрос, но там заглохло. Нужен сниппет, который бы получал тикеты по тегу. Всё что уже сделано есть по той ссылке выше.

Там получается у тегов ссылка вида site.ru/section?tag=Мойтэг
В разделе с тикетами заменяю вызов getTickets на вызов своего сниппета:

<?php
$tag = isset($_GET['tag']) ? $modx->sanitizeString($_GET['tag']) : '';

if ($tag){
 	// здесь происходит колдунство и я получаю id тикетов у которых есть нужный тег
	// и передаю их в getTickets
}

return $modx->runSnippet('getTickets',$scriptProperties);
Я не силен в API и Mysql, поэтому сам не могу.
Ответ на вопрос однозначно даст много лайков), вопрос тегов для блога популярный. И я допишу в том вопросе полное решение.
Виталий Барышников
17 марта 2016, 01:48
modx.pro
6
2 250
+2

Плагин проверки авторства

Здравствуйте. Прошу помочь мне с написанием небольшого плагина. В бэкэнде нужно предотвратить редактирование ресурса (тикета) пользователем, который не является его автором.
Мне подсказали, что плагин нужен на событие OnBeforeDocFormSave, я совсем не дружу с modx, думаю должно быть что-то подобное:
<?php
switch($modx->event->name){    
    case 'OnBeforeDocFormSave':
	{
		if ($user->get('id') != $resource->get('createdby')) { 
			// что же здесь писать
		};
	}
}
Помогите, пожалуйста, допились это до нормального плагина, чтобы выводилась ошибка, что нет прав на редактирование и чтобы ресурс не сохранялся.
Виталий Барышников
28 декабря 2015, 11:19
modx.pro
3
1 843
0

Соединяем EasyComm и mFilter2

Всем привет, и сразу к делу (кстати пишу первый раз тут, если будут ошибки — исправим).

Довольно таки часто требуется в интернет магазинах или каталогах добавить возможность пользователям писать отзывы о товарах, с этим очень хорошо справляется компонент EasyComm. Но очень часто возникает и смежная задача, слепить EasyComm с mFilter2, а именно сделать сортировку по количеству отзывов или по рейтингу товара. Выкладываю готовое решение.

Добавляем в вызов mFilter2 следующий код:

&loadModels=`easycomm`
&where=`{"class_key":"msProduct"}`
&leftJoin=`{
	"ecThread": {
		"class": "ecThread",
		"on": "msProduct.id = ecThread.resource"
	}
}`

&select=`{
	"msProduct": "*",
	"ecThread": "ecThread.rating_simple AS rating, ecThread.count AS reviews"
}`
Павел
25 декабря 2015, 10:34
modx.pro
34
4 832
+14

Генерация PDF на основе данных с формы в MODX Revo

Довольно часто возникает необходимость генерировать pdf на основе данных с формы.
Ниже небольшое решение как это сделать если стоит пакет ExportPage
Володя
24 декабря 2015, 12:12
modx.pro
22
4 908
+13

[customExtra] Создание кастомных объектов

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

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

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

До тех пор, пока мне не понадобилось иметь два таких кастомных объекта…
Илья Уткин
22 декабря 2015, 01:21
modx.pro
19
7 354
+16

[GeoLocation] - геолокации пользователя. (1.0.3)

[GeoLocation] — компонент реализует функционал геолокации. Используется библиотека SxGeo.
Изменения:
— доработан функционал выбора по умолчанию
— добавлены поля «ресурс» и «изображение»
— добавлена возможность форматирования данных
— добавлена работа c INLINE чанками
Володя
12 декабря 2015, 08:23
modx.pro
4
7 978
+3

[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 020
+11

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

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

Пример работы Fenom

Вчера в поддержку магазина обратились с жалобой на медленную работы mSearch2 при небольшом количестве товаров.

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

Изначально debugParser показывал такой результат работы.
Василий Наумкин
28 ноября 2015, 09:35
modx.pro
13
8 293
+9

[Office] Версия 1.3.2 вложенные extended поля

Представляю вам новую версию Office, компонента для работы с пользователями на сайте.

Очень много вопросов возникает с extended полями, которые в этой версии были расширены, так что я решил написать максимально понятные примеры по их использованию.

Итак, все неразрешённые поля в профиле пользователя запрещены для заполнения. Они просто обнуляются при обработке формы, поэтому, первым делом, вам нужно разрешить extended в параметре &profileFields:
[[!OfficeProfile?
	&profileFields=`extended`
]]

Там же вам нужно указывать и все остальные поля, которые вы разрешаете менять своим пользователям:
[[!OfficeProfile?
	&profileFields=`extended,username,fullname,email`
]]
Василий Наумкин
26 ноября 2015, 07:25
modx.pro
7
4 655
+9