Fi1osof
С нами с 05 мая 2014; Место в рейтинге пользователей: #10Компонент modImporter. Настройка импорта на сайт.
Месяц назад мы обсуждали какие компоненты кому нужны. Тогда самым популярным запросом оказался импорт/экспорт минишоп-эксель. Задача эта конечно же не простая, тем не менее я готов сегодня представить первую версию компонента modImporter.
Компонент еще очень далек от конечной версии (хочется добавить в процессе гораздо больше ридеров (CSX, XLS (XLSX уже есть), просто файлы (для импорта статических сайтов) и прочее)). Но сам по себе общий механизм все-таки уже готов и пара кейсов у меня уже имеется. А всем прикупившим пакет я гарантирую свою личную помощь в первичной настройке.
Компонент еще очень далек от конечной версии (хочется добавить в процессе гораздо больше ридеров (CSX, XLS (XLSX уже есть), просто файлы (для импорта статических сайтов) и прочее)). Но сам по себе общий механизм все-таки уже готов и пара кейсов у меня уже имеется. А всем прикупившим пакет я гарантирую свою личную помощь в первичной настройке.
Нужен ли компонент виджет instagramm?
В первую очередь всех с Новым Годом! Всем всех благ!
Во-вторых, вопрос ко всем: если ли интерес на компонент вот такого виджета?
Или может где-то что-то такое уже имеется?
Оформление виджета кастомизируется. Если интерес есть, то кто за сколько бы брал?
Во-вторых, вопрос ко всем: если ли интерес на компонент вот такого виджета?
Или может где-то что-то такое уже имеется?
Оформление виджета кастомизируется. Если интерес есть, то кто за сколько бы брал?
[UserKarma] Версия 1.0.0
Вчера прозвучало очень интересное предложение по поводу компонента, который позволил бы автоматически перебрасывать пользователей по различным группам в зависимости от различных условий.
Не знаю на сколько я правильно понял человека, но надеюсь это будет близко к тому, что он хотел. Сам же я решил это сделать так: пользователям добавляется новое свойство userkarma (классу modUser), в которое записывается числовое значение. В специальном интерфейсе создаются произвольные правила в каких диапазонах кармы пользователь будет добавляться в какие группы или из каких удаляться.
Далее все очень просто — на обновление пользователя навешен плагин, который в зависимости от кармы пользователя меняет его группы.
Не знаю на сколько я правильно понял человека, но надеюсь это будет близко к тому, что он хотел. Сам же я решил это сделать так: пользователям добавляется новое свойство userkarma (классу modUser), в которое записывается числовое значение. В специальном интерфейсе создаются произвольные правила в каких диапазонах кармы пользователь будет добавляться в какие группы или из каких удаляться.
Далее все очень просто — на обновление пользователя навешен плагин, который в зависимости от кармы пользователя меняет его группы.
[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() просто не видят его в текущем контексте, из-за чего и получается путаница.
В данном случае самая проблема возникла с компонентом Office. Это на самом деле очень ожидалось, как и в случае с Login и т.п. И это не проблема самих компонентов, а историческая неоднозначность самого MODX-а. Дело в том, что в MODX есть два наиболее часто используемых метода по политикам:
1. $modx->hasPermission() (Он же $modx->context->checkPolicy()) — проверка прав на контекст.
2. $modx->user->isAuthenticated() — проверка авторизованности пользователя в контексте (по умолчанию в web).
Прикол в том, что $modx->hasPermission() не проверяем авторизацию пользователя в данном контексте. Этот метод просто проверяет права пользователя, и не только не важно авторизован пользователь в этом контексте или нет, но и не важно авторизован ли пользователь вообще (то есть это может быть даже просто аноним). У пользователя или есть запрошенные права, или нету. И вот получается, что пользователь есть, и у него есть права, но компоненты, проверяющие пользователя методом $modx->user->isAuthenticated() просто не видят его в текущем контексте, из-за чего и получается путаница.
[switchUser] Версия 1.2.0
Совсем недавно вышла версия 1.1.0, и вот уже сегодня пришлось выпустить версию 1.2.0 :) Поступила жалоба, что на сайте с мультиязычностью не корректно работают лексиконы.
Если очень коротко: то модуль был почти полностью переписан. Главные изменения:
1. Основную инициализацию перенесли из OnWebPageInit в OnMODXInit.
2. Отказались от механизма смены контекстов.
Далее будут детали.
Если очень коротко: то модуль был почти полностью переписан. Главные изменения:
1. Основную инициализацию перенесли из OnWebPageInit в OnMODXInit.
2. Отказались от механизма смены контекстов.
Далее будут детали.
modResourceField. Упрощаем работу с TV часть 2.
Не так давно Сергей Шлоков написал статью Упрощаем работу с TV. Видно, что технология эта вызвала интерес у общественности, но данная реализация имеет очень много подводных камней. Сам я это все копаю уже очень давно, не фуллтайм, но сталкивался. В результате на свет появились две довольно объемные заметки (раз и два). Если кто не поленится прочитать, думаю, сможет представить, сколько много тонкостей там имеется. С некоторыми из них Сергей в процессе столкнулся. Но это не все еще имеющиеся проблемы. Попробую перечислить основные.
Необходимость задачать разные имена колонок и ТВшек.
Это Сергей у себя в топике описывал, не буду вдаваться в подробности.
Дублирование значений в виде ненужных запией в таблицу ТВшек.
Гвоздь (сорри, не знаю имени), написал в комментарии про эту проблему и привел плагин, решающий ее, но на это никто не отреагировал (видимо, мало кого заинтересовало решение, в несколько раз превосходящее по объему предложенный продукт).
Необходимость задачать разные имена колонок и ТВшек.
Это Сергей у себя в топике описывал, не буду вдаваться в подробности.
Дублирование значений в виде ненужных запией в таблицу ТВшек.
Гвоздь (сорри, не знаю имени), написал в комментарии про эту проблему и привел плагин, решающий ее, но на это никто не отреагировал (видимо, мало кого заинтересовало решение, в несколько раз превосходящее по объему предложенный продукт).
pdoFetch поиск в TV-полях с разделителем ||
Наверняка много кто использовал в своей практике TV-поля типа «Список» (множественный, одиночный, не важно) или «Тег». Здесь важно именно то, в каком виде в базе данных хранятся данные таких полей, ведь они сохраняют множественные значения. А хранят они их одной общей строкой в той же самой таблице ТВшек (естественно, по одной записи на один документ). К примеру, если мы отметили три значения 100, 1005, 10, в БД это запишется 100||1005||10. И здесь возникает вопрос как потом выполнить поиск по таким полям? Простой LIKE здесь не поможет, так как LIKE %100%, к примеру, найдет и '100||1000' и '1001||1005'. Данного вопроса мы уже касались здесь и подобный вопрос опять возник здесь.
Продаю свои 3 часа времени в день.
В силу того, что время и развитие не стоит на месте (включая появление Фенома), у меня возник дополнительный интерес к минишопу и прочим сопутствующим продуктам. Так как бесплатно их ковырять не интересно, публично сообщаю, что я открыт для предложений по доработке разрабатываемых проектов на минишопе, pdoTools и прочем. В общем, на всем чем угодно, лишь бы MODX Revo. Здесь есть только пара пожеланий:
1. Пока интересуют только локальные не стандартные задачи. То есть кто-то разрабатывает какой-то проект, и с чем-то не может справиться. Уверен, я много в чем могу помочь.
2. Желательно задачи не особо объемные, то есть на пару часиков буквально.
Цена вопроса акционная: 1 час времени 1000 рублей. Каждый 3-ий час в подарок. Скорее всего данное предложение будет действительно в течение недели. На всякий случай уточню, что и сегодня я еще несколько часов буду доступен. Если кому интересно, пишите в личку или на почту n.lanets@modxclub.ru
1. Пока интересуют только локальные не стандартные задачи. То есть кто-то разрабатывает какой-то проект, и с чем-то не может справиться. Уверен, я много в чем могу помочь.
2. Желательно задачи не особо объемные, то есть на пару часиков буквально.
Цена вопроса акционная: 1 час времени 1000 рублей. Каждый 3-ий час в подарок. Скорее всего данное предложение будет действительно в течение недели. На всякий случай уточню, что и сегодня я еще несколько часов буду доступен. Если кому интересно, пишите в личку или на почту n.lanets@modxclub.ru
Fenom VS Smarty
Недавно Михаил попросил меня написать сравнительный обзор Fenom и Smarty. Честно сказать, я феномом не пользовался, и хотя сейчас уделил время на какое-то его изучение, все-таки не смогу выдать какое-то сильно аргументированное заключение, просто потому что много в феном мог и не увидеть (хотя оно там может даже и есть). Тем не менее, я приведу несколько примеров использования Smarty, которые довольно часто используются на практике, но которых я не увидел в Феноме, а те, кто хорошо знает Феном, пусть поправят меня или подтвердят.
Сборка новостного портала NewsModxBox-1.0.0-beta
Меня тут обвиняли в том, что я много публикаций создаю в стиле «нет времени объяснять, вот ссылка с описанием на моем собственном ресурсе (стороннем) по modx'y». Вот думал, публиковать эту новость или нет… С учетом того, что готовых качественных новостных движков не только под MODX, но и вообще очень мало, даже вот не знаю… Но на всякий случай оставлю это здесь. Ну а вы голосами за топик решите, стоит ли такое здесь публиковать, или сами будете в инетах искать. Спасибо за внимание.
UPD: Выложил проект на гитхаб github.com/MODX-Club/NewsModxBox
UPD2: Подробный релиз на хабре: habrahabr.ru/post/267839/
UPD: Выложил проект на гитхаб github.com/MODX-Club/NewsModxBox
UPD2: Подробный релиз на хабре: habrahabr.ru/post/267839/