Павел Гвоздь
С нами с 31 мая 2015; Место в рейтинге пользователей: #2[ExtJS] Расширяем нативную гриду юзеров
После статьи о расширении профиля юзера правильными дополнительными полями мне посыпались вопросы о расширении нативной таблицы со списком юзеров. Мы знаем, что практически любой стандартный компонент системы, работающий на ExtJS, можно расширить не затрагивая исходника. Главное
Сразу опишем задачу, которую реализуем в рамках статьи:
- Убрать слева каждой записи ненужный чекбокс,
- Добавить столбцы: Фото, Дата рождения, Страна, Город,
- Добавить возможность отфильтровать пользователей по стране,
- Заменить некрасивое поле поиска на симпатичное и компактное,
- Подсветить заблокированных красным цветом.
[localizator] Мультиязычность, СЕО, автоперевод...
Семантически правильныe Breadcrumbs на pdoCrumbs
Верстая очередной проект для замороченных на SEO клиентов, столкнулся с тем, что pdoCrumbs конечно хорош в своей программной логике, но приведенные в документации примеры не совсем верно построены с точки зрения SEO и архитектуры HTML.
Под катом сам код, мои заметки и несколько полезных комментариев.
Под катом сам код, мои заметки и несколько полезных комментариев.
Собственные модификаторы Fenom
Продолжаю разработку новой версии modstore.pro и хочу поделиться простым способом подключения своих модификаторов.
Обычный способ все знают: нужно создать сниппет, который будет принимать переменные $input и $options и вызвать его в чанке вот так:
Обычный способ все знают: нужно создать сниппет, который будет принимать переменные $input и $options и вызвать его в чанке вот так:
{$variable | snippet}
Но- Сниппеты бывают совсем небольшие и создавать их на каждый чих не хочется
- Вызов сниппета, это всё-таки дополнительная нагрузка
- Лично я уже полностью перешел на файлы, и создавать запись в БД для сниппета, только ради его связи с файлом мне совсем не хочется
Создаём ZIP архив средствами MODX
Случается так, что на сайте надо запаковать какую-то папку, а по некоторым причинам сделать это невозможно затруднительно. Предлагаю вариант, который практически не требует ничего, кроме MODX и доступа в бек-энд.
В xPDO есть класс xPDOZip, который умеет запаковывать/распаковывать архивы. К сожалению, в самом MODX его функциональность задействована ровно наполовину — распаковать ZIP архив мы можем, а вот запаковать папку в архив не имеем возможности. Предлагаю решение!
В xPDO есть класс xPDOZip, который умеет запаковывать/распаковывать архивы. К сожалению, в самом MODX его функциональность задействована ровно наполовину — распаковать ZIP архив мы можем, а вот запаковать папку в архив не имеем возможности. Предлагаю решение!
Дополнительные поля профиля юзера (не extended)
Разрабатываю проект, в котором необходимо было реализовать более простое редактирование дополнительных полей профиля, чем есть из коробки. К слову, неудобное редактирование — это не единственный минус нативного способа расширения профиля полями. Ни для кого не секрет, что фильтрацию по JSON полям нормально не осуществить, только костылями. Фактически, мне надо было получить решение, которое бы расширяло стандартный код MODX, не трогая исходники, дабы сохранить
Пришёл к выводу, что буду расширять стандартную вкладку профиля «Общая информация». При желании можно чуть переписать код в событии OnUserFormPrerender и создать свою вкладку со своими полями.
TinyMCE + Tickets + выбор главной картинки в TV
Добрый день. Понадобился функционал удобного редактора textarea во фронтенде Tickets, а также сделать возможность пользователю выбрать главную картинку для тикета.
Вот что получилось:
Инструкция под катом
Вот что получилось:
Инструкция под катом
Скрипт создающий sudo юзера
Бывают ситуации, что пароль от админа теряется, а к почте, на которую зареган админ, доступа нет. Данный скрипт создаёт sudo юзера при запуске с рандомным логином и паролем. Дальше уже можно через этого юзера поменять пароль от админа, а залогинившись под админом — удалить только что созданного sudo. Скрипт просто надо закачать в папку с MODX и запустить.
modResourceField. Упрощаем работу с TV часть 2.
Не так давно Сергей Шлоков написал статью Упрощаем работу с TV. Видно, что технология эта вызвала интерес у общественности, но данная реализация имеет очень много подводных камней. Сам я это все копаю уже очень давно, не фуллтайм, но сталкивался. В результате на свет появились две довольно объемные заметки (раз и два). Если кто не поленится прочитать, думаю, сможет представить, сколько много тонкостей там имеется. С некоторыми из них Сергей в процессе столкнулся. Но это не все еще имеющиеся проблемы. Попробую перечислить основные.
Необходимость задачать разные имена колонок и ТВшек.
Это Сергей у себя в топике описывал, не буду вдаваться в подробности.
Дублирование значений в виде ненужных запией в таблицу ТВшек.
Гвоздь (сорри, не знаю имени), написал в комментарии про эту проблему и привел плагин, решающий ее, но на это никто не отреагировал (видимо, мало кого заинтересовало решение, в несколько раз превосходящее по объему предложенный продукт).
Необходимость задачать разные имена колонок и ТВшек.
Это Сергей у себя в топике описывал, не буду вдаваться в подробности.
Дублирование значений в виде ненужных запией в таблицу ТВшек.
Гвоздь (сорри, не знаю имени), написал в комментарии про эту проблему и привел плагин, решающий ее, но на это никто не отреагировал (видимо, мало кого заинтересовало решение, в несколько раз превосходящее по объему предложенный продукт).