ShopModxUnitPay-1.0.0 и ShopModxBox-2.2.3

Сборки и пакеты

Сегодня вышла новая сборка магазина ShopModxBox-2.2.3. Изменений в ней не много, и в основном коснулись процессора basket/processors/web/payments/create, который был почти полностью переработан (тем не менее это не скажется на работе старых магазинов). Переработка этого процессора понадобилась для универсальности, ведь теперь добавился третий модуль оплаты - ShopModxUnitPay - для оплаты через агрегатор unitpay.ru. Кстати, если кто-то сталкивался с этой системой, просьба поведать о своем опыте и о плюсах/минусах данного агрегатора.

Читать дальше...

| 2014-09-30 | 2 |   1

Несколько цен у товара.

Песочница

Всем добрый день!
Подскажите пожалуйста, как реализовать товар с несколькими ценами, которые будут менять в зависимости от свойств товара.
Например есть корм: цена будет менять в зависимость от веса. То есть упаковка 200г и 400г.
Смотрел вебинар, там было сказано про модель товара, но подробно нигде такой вариант не рассматривался, или я это пропустил. Может быть кто-нибудь подтолкнет в нужном направлении?

Читать дальше...

| 2014-09-29 | 6 |   0

Проверка прав на xPDO-объекты для нескольких пользователей

Вопросы специалистов

Материал для экспертов.

В одном из топиков я уже писал довольно подробно про политики безопасности в MODX. Тогда мы разобрались, что основной метод проверки - modAccessibleObject::checkPolicy(). В этот раз мы попробуем более внимательно изучить этот механизм, и рассмотрим очень важную недоработку MODX в этом плане.

Читать дальше...

| 2014-09-28 | 0 |   0

Ссылки для автоматической авторизации в письмах MODX-Клуба

Новости

Довольно часто пользователи забывают свои логины, емейлы и пароли. И даже наличие формы восстановления пароля часто не спасает, ибо лень :)

Я решил для удобства пользователей с этой проблемой побороться, и теперь письма с уведомлениями о новых топиках и комментариях содержат ссылки с параметрами для автоматической авторизации. То есть если перейти по ссылке на комментарий или топик из письма, если пользователь не был авторизован, то будет выполнена проверка параметров, и если все ОК, пользователь сразу будет авторизован системой. Это особенно критично, когда ссылка идет на топик в каком-нибудь закрытом блоге, куда неавторизованный пользователь не имеет доступа. Такому пользователю будет просто выдано сообщение об отсутствии доступа к данной странице. А так пользователь сразу авторизуется и страница нормально откроется.

Это нововведение так же включается в компонент modSociety. Механизм в целом довольно секурный, ибо для проверки используется ID пользователя, его емейл, а так же системный ID сайта (генерируется на каждой новой установке MODX-а и всегда уникальный) и плюс к этому индивидуальная соль для ключа, которую администратор всегда может сменить в системных настройках модуля modSociety. Если у кого-то есть возражения по этому счету, приглашаю к обсуждению.

Читать дальше...

| 2014-09-28 | 4 |   3

Очередь емейл-рассылок в modSociety

Сборки и пакеты

Сегодня я писал про то, что на сайте MODX-Клуба реализованы настройки уведомлений о новых топика и комментариях. И теперь пользователи всегда будут в курсе о том, что что-то новое на сайте появилось. Но тут возникла другая, вполне предполагаемая, проблема - долгое выполнение запроса при создании топика. И ничего удивительного, отправить несколько сотен писем за раз - требует не мало времени. Не круто... По этой причине я и заморочился написать систему отложенных очередей рассылки емейлов. Суть ее в том, что при создании топика (конечно, это может быть использовано не только в этому случае, но все-таки), пользователям не отправляются сразу письма, а складываются они в специальную табличку. Это происходит значительно быстрее, чем если сразу слать письма. А потом по крону каждые 5 минут (кто как настроит) вызывается процессор рассылки, который уже и рассылает эти письма. Данный процесс никак никому не мешает. Таким образом можно запросто обслуживать проект с тысячами активных пользователей :)

Читать дальше...

| 2014-09-27 | 0 |   2

Настройки уведомлений на сайте MODX-Клуба

Новости

Сегодня была очень продуктивная ночь :)

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

А во-вторых, я таки напрограммировал систему уведомлений на сайте MODX-Клуба :) Как раз для этого и выполнял описанные выше исследования. Ведь чтобы отправить письма тем, кто желает знать о новых топиках, надо убедиться, что эти пользователи имеют доступ к данным топикам. Да-да, ведь на сайте есть и закрытые разделы, доступные только определенным группам пользователей. В общем, теперь каждый может зайти в настройки своего профиля (вверху пункт Профиль), и там указать те типы уведомлений, которые интересуют.

Читать дальше...

| 2014-09-27 | 0 |   4

Теги на сайте MODX-Клуба и в modSociety

Новости

Сегодня ночью я писал про теги для топиков, и вот теперь на сайте Клуба у топиков появились теги :) На самом деле это отличный инструмент для SEO, так как для одного тематического документа можно задать сразу несколько ключевиков, каждый из которых будет иметь свою собственную страницу с ЧПУ и т.п. Поисковики такое очень любят, не раз проверенно статистикой. В дальнейшем теги будут добавлены и в сам modSociety. Как скоро? Зависит от количества поступаемых донейтов :) Как я и писал уже, донейты поступают оочень тяжко. Вообще, я даже уже сборку блога сделал (копию MODX-Клуба), но поддержка финансовая сейчас такая слабая, что пакет никак не попадает в паблик (надо выделить не мало часов, чтобы еще еще причесать).


Читать дальше...

| 2014-09-26 | 3 |   2

Запрет на сохранение xPDO-объекта, если не заполнены необходимые данные

Документация для специалистов

Материал для экспертов. Многие сложные моменты не будут подробно объясняться, требуется хорошее знание xPDO.

Небольшое вступление. Заморочился я тут на сайте реализовать теги для топиков (для SEO отличная штука). Создал новый класс SocietyTopicTag со следующими колонками: id, topic_id, tag, active. Какие тут главные моменты, побудившие написать топик?

  1. Поле tag не может быть пустым.

  2. Поле topic_id так же не может быть пустым.


И вот далее мы разберемся с тем, как это предусмотреть, и какие тут есть подводные камни...

Читать дальше...

| 2014-09-26 | 0 |   0

Этот потрясающий метод xPDO::setPackageMeta()

Эксперименты и исследования

Вот здесь Илья Уткин уже писал про связи aggregates и composites. aggregates — не жесткие связи, а composites — жесткие. Что это значит? Это значит, что если есть два xPDO-класса, между которыми описаны жесткие composites-связи, то при удалении главного объекта будет удален и дочерний объект.

Давайте рассмотрим простой и понятный пример. Вот есть у нас класс modUser (пользователь), и есть modUserProfile (профиль пользователя). Ведь абсолютно логично, что профиль пользователя не может существовать без самого пользователя. Потому логично, что если мы удаляем пользователя, то и профиль его должен тоже удаляться. При этом если вы выполните $modx->getObject('modUser', $id)->remove(), то удалится не только пользователь (modUser), но и его профиль (modUserProfile) (а так же настройки пользователя (UserSettings), и записи членства в группах (UserGroupMembers)). То есть, когда у нас правильно настроены все связи, то нам не приходится каждый раз писать лишний код, плюс исключается человеческий фактор.

Читать дальше...

| 2014-09-26 | 0 |   0

Реально ли реализовать такую структуру на ShopModx?

Песочница

Здравствуйте!
Можно ли создать проект с такой структурой грамотно, бьюсь несколько дней, но ничего толком не выходит.

Есть категории и в некоторых категориях могут быть еще подкатегории:
Категория 1
Подкатегория 1.1
Подкатегория 1.2
Категория 2
Подкатегория 2.1
Подкатегория 2.2
Категория 3

Читать дальше...

| 2014-09-25 | 9 |   0

Комментарии
Да, работают. Правда подключение магазина в течение 24 часов, но в целом проблем вообще никаких, и требований вообще...
| 2 дня назад | #
:) Впереди еще много новых фишек будет.
| 3 дня назад | #
Так включайте логи, смотрите что и как там. Войдите в config.inc.php и пропишите ini_set('display_errors', 1);...
| 3 дня назад | #
Вот это гораздо сильнее, чем теги:
| Неделю назад | #
Пожалуйста
| Неделю назад | #
Сначала надо разобраться есть ли там массив вообще, обрабатываются ли загруженные файлы и т.д. и т.п., а только потом...

Все комментарии