Илья Уткин
С нами с 15 декабря 2012; Место в рейтинге пользователей: #9Как я расширил стандартную таблицу пользователей
В последнее время довольно часто приходится делать различные стартапы на заказ, суть которых сводится к платному сервису, с регистрацией, личным кабинетом, ну и как следствие каталогом пользователей, представляющих ту или иную услугу.
Обычно использую office, который обеспечивает готовый личный кабинет из коробки с минимальными усилиями, он же позволяет сохранять все в базу, пользователей. Но вот беда, полей катастрофически не хватает. Логичным решением было создавать страницы для каждого пользователя, и добавлять сколько угодно TV. Так я и делал, но решил заморочиться и не дублировать страницы, а расширить таблицу пользователей и работать с ней напрямую, как с ресурсом.
Вот что я сделал:
Обычно использую office, который обеспечивает готовый личный кабинет из коробки с минимальными усилиями, он же позволяет сохранять все в базу, пользователей. Но вот беда, полей катастрофически не хватает. Логичным решением было создавать страницы для каждого пользователя, и добавлять сколько угодно TV. Так я и делал, но решил заморочиться и не дублировать страницы, а расширить таблицу пользователей и работать с ней напрямую, как с ресурсом.
Вот что я сделал:
Sitemap Submitter
Мини плагин для оповещения поисковиков об обновлении карта сайта.
В логах выводит отчет если хотите можете отключит.
В логах выводит отчет если хотите можете отключит.
[modPNotify] - сборщик PNotify для MODX
PNotify — плагин, предназначенный для красивых уведомлений.
В последнее время частенько его использую и для большего удобства собрал установщик в пакет.
Самих исходников в пакете нет, все скачивается и собирается во время установки пакета. Так же при установке доступен выбор необходимых модулей
таким образом всегда можно просто переустановить пакет и получить свежую версию PNotify.
В последнее время частенько его использую и для большего удобства собрал установщик в пакет.
Самих исходников в пакете нет, все скачивается и собирается во время установки пакета. Так же при установке доступен выбор необходимых модулей
таким образом всегда можно просто переустановить пакет и получить свежую версию PNotify.
[ChangePack]-Компонент синхронизации копии сайта
Привет всем, сейчас разрабатываю сайт на MODx. Сайт делаю на локалхост, а затем копирую его в интернет. Сейчас, синхронизацию изменений, можно, делать sql-дампом. Но, скоро, сайт станет работать и, при этом, надо еще будет допиливать его. Стала задача забрасывать на рабочий сайт изменения, при этом не трогая его рабочие данные. Как, истинно, ленивый, решил это дело автоматизировать и написал компонент.
[UserKarma] Версия 1.0.0
Вчера прозвучало очень интересное предложение по поводу компонента, который позволил бы автоматически перебрасывать пользователей по различным группам в зависимости от различных условий.
Не знаю на сколько я правильно понял человека, но надеюсь это будет близко к тому, что он хотел. Сам же я решил это сделать так: пользователям добавляется новое свойство userkarma (классу modUser), в которое записывается числовое значение. В специальном интерфейсе создаются произвольные правила в каких диапазонах кармы пользователь будет добавляться в какие группы или из каких удаляться.
Далее все очень просто — на обновление пользователя навешен плагин, который в зависимости от кармы пользователя меняет его группы.
Не знаю на сколько я правильно понял человека, но надеюсь это будет близко к тому, что он хотел. Сам же я решил это сделать так: пользователям добавляется новое свойство userkarma (классу modUser), в которое записывается числовое значение. В специальном интерфейсе создаются произвольные правила в каких диапазонах кармы пользователь будет добавляться в какие группы или из каких удаляться.
Далее все очень просто — на обновление пользователя навешен плагин, который в зависимости от кармы пользователя меняет его группы.
[SkypeNotify] - уведомление в скайп для MODX
[SkypeNotify] — собственно уведомление в скайп для MODX.
подключить и инициализировать skypenotify
подключить и инициализировать skypenotify
$skypenotify = $modx->getService('skypenotify')
$skypenotify->initialize();
подключить аккаунт скайп$skypenotify->connect('login', 'password');
отправить сообщение$skypenotify->sendMessage('login', 'Привет Боб, как дела?');
pdoFetch поиск в TV-полях с разделителем ||
Наверняка много кто использовал в своей практике TV-поля типа «Список» (множественный, одиночный, не важно) или «Тег». Здесь важно именно то, в каком виде в базе данных хранятся данные таких полей, ведь они сохраняют множественные значения. А хранят они их одной общей строкой в той же самой таблице ТВшек (естественно, по одной записи на один документ). К примеру, если мы отметили три значения 100, 1005, 10, в БД это запишется 100||1005||10. И здесь возникает вопрос как потом выполнить поиск по таким полям? Простой LIKE здесь не поможет, так как LIKE %100%, к примеру, найдет и '100||1000' и '1001||1005'. Данного вопроса мы уже касались здесь и подобный вопрос опять возник здесь.
Упрощаем работу с TV
Продолжая тему, начатую Василием, предлагаю решение для упрощения работы с TV. Оно поможет тем, у кого логика сайта завязана на TV — запросы, фильтры и т.п.
Решается эта задача созданием полей в таблице ресурсов и копированием в них значений TV.
Решается эта задача созданием полей в таблице ресурсов и копированием в них значений TV.
Добавление тегов с фронта через форму Tickets
Здравствуйте. Не судите строго, пишу скорее как памятку для себя, но может быть кому пригодится.
Простое решение для добавления тегов с фронта в форму Tickets.
Простое решение для добавления тегов с фронта в форму Tickets.
произвольный JOIN в обход xpdo
Сегодня делал рандомную выборку данных, т.к. при большом кол-во данных вроде как в старый mysql сортировка по rand() проходила очень долго. В сети существует множество вариантов как сделать так чтобы выборка была еще быстрее, но по большей части в них используются процедуры, вложенные sql и самый простой вариант мудренный JOIN.