Алексей Карташов

Алексей Карташов

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

Видео докладов с прошедшего MODX Meetup Minsk 2015

Ура! Свершилось!



Все видео обработаны, выложены на youtube HD качестве, звук хороший, картинка не вау, так как в помещении света было мало, но смотреть можно.

Сразу даю ссылку на playlist, ниже в заметке все видео.

Ссылка на слайды есть в описании к каждому видео на Youtube.

Комментарии, замечания приветствуются.

Іван Клімчук
19 января 2016, 13:37
modx.pro
9
4 422
+30

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

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

[switchUser] Версия 1.3.2

И вот вышла очередная версия switchUser, на этот раз, думаю, она уже стабильная, ибо пофиксил практически все, что можно. По традиции, опишу основные проблемные моменты и как с ними боролся.

В данном случае самая проблема возникла с компонентом Office. Это на самом деле очень ожидалось, как и в случае с Login и т.п. И это не проблема самих компонентов, а историческая неоднозначность самого MODX-а. Дело в том, что в MODX есть два наиболее часто используемых метода по политикам:
1. $modx->hasPermission() (Он же $modx->context->checkPolicy()) — проверка прав на контекст.
2. $modx->user->isAuthenticated() — проверка авторизованности пользователя в контексте (по умолчанию в web).

Прикол в том, что $modx->hasPermission() не проверяем авторизацию пользователя в данном контексте. Этот метод просто проверяет права пользователя, и не только не важно авторизован пользователь в этом контексте или нет, но и не важно авторизован ли пользователь вообще (то есть это может быть даже просто аноним). У пользователя или есть запрошенные права, или нету. И вот получается, что пользователь есть, и у него есть права, но компоненты, проверяющие пользователя методом $modx->user->isAuthenticated() просто не видят его в текущем контексте, из-за чего и получается путаница.
Fi1osof
12 декабря 2015, 16:04
modx.pro
1
1 322
+7

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

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

[GeoLocation] — компонент реализует функционал геолокации. Используется библиотека SxGeo.

Определение страны, региона, города.
пример можно посмотреть тут — location.vgrish.ru/index.php?id=7
Володя
10 декабря 2015, 10:36
modx.pro
8
30 229
+12

modResourceField. Упрощаем работу с TV часть 2.

Не так давно Сергей Шлоков написал статью Упрощаем работу с TV. Видно, что технология эта вызвала интерес у общественности, но данная реализация имеет очень много подводных камней. Сам я это все копаю уже очень давно, не фуллтайм, но сталкивался. В результате на свет появились две довольно объемные заметки (раз и два). Если кто не поленится прочитать, думаю, сможет представить, сколько много тонкостей там имеется. С некоторыми из них Сергей в процессе столкнулся. Но это не все еще имеющиеся проблемы. Попробую перечислить основные.

Необходимость задачать разные имена колонок и ТВшек.
Это Сергей у себя в топике описывал, не буду вдаваться в подробности.

Дублирование значений в виде ненужных запией в таблицу ТВшек.
Гвоздь (сорри, не знаю имени), написал в комментарии про эту проблему и привел плагин, решающий ее, но на это никто не отреагировал (видимо, мало кого заинтересовало решение, в несколько раз превосходящее по объему предложенный продукт).
Fi1osof
08 декабря 2015, 15:28
modx.pro
12
3 725
+13

pdoFetch поиск в TV-полях с разделителем ||

Наверняка много кто использовал в своей практике TV-поля типа «Список» (множественный, одиночный, не важно) или «Тег». Здесь важно именно то, в каком виде в базе данных хранятся данные таких полей, ведь они сохраняют множественные значения. А хранят они их одной общей строкой в той же самой таблице ТВшек (естественно, по одной записи на один документ). К примеру, если мы отметили три значения 100, 1005, 10, в БД это запишется 100||1005||10. И здесь возникает вопрос как потом выполнить поиск по таким полям? Простой LIKE здесь не поможет, так как LIKE %100%, к примеру, найдет и '100||1000' и '1001||1005'. Данного вопроса мы уже касались здесь и подобный вопрос опять возник здесь.
Fi1osof
06 декабря 2015, 10:14
modx.pro
37
6 164
+16

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

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

msFieldsManager свои свойства в товаре miniShop2

Компонент msFieldsManager позволяет расширять свойства товара в miniShop2 путем добавления своих полей. В зависимости он выбранного типа данных для поля, будет создан соответствующий веб компонент для работы с ним.
Подробности в видео-обзоре
Prihod
27 ноября 2015, 13:26
modx.pro
6
15 625
+7

Расширение любых таблиц MODX

В очередной раз понадобилось изменить таблицу сайта, менять которую не предусмотрено.

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

Пишем обычный плагин, выставляем для него событие OnMODXInit и меняем модель для нужных классов системы или дополнений. Например, я добавил id менеджера в заказ miniShop2:
Василий Наумкин
16 ноября 2015, 07:07
modx.pro
116
10 228
+11