воскресенье, 28 ноября 2010 г.

Баг корзины

И снова здравствуйте!

В данный момент я разрабатываю платежный модуль для работы с Украинским Процессинговым Центром. Работа модуля предусматривает перенаправление покупателя на страницу процессингового центра, где он вводит информацию о кредитной карте - номер, срок действия и т.д.

Схема работы предусматривает оповещение магазина в случае неудачной
транзакции. При чем кодов ошибок достаточно много. Я не знаю, как вам, но мне эта информация кажется полезной и ее хотелось бы сохранять. Вроде бы все сделал и код ошибки приходи и все хорошо, но... При возврате с ошибкой платежа, магазин по умолчанию очищает корзину. Т.е. покупатель возвращается, а у него заказ имеет статус "Pending" и корзина, естественно пуста. Такой вариант нам не подходит, потому как следующий платеж покупатель может сделать только лишь перезаказав товар.

После перелопачивания форума мадженты я нашел вот это http://www.magentocommerce.com/boards/viewthread/199053/  и соответсвующий багрепорт. Эта проблема не была исправлена ни в 1.4.0.1, ни в 1.4.1.1.

По ссылке даны рекомендации, как можно локально на конкретном магазине проправить Core файлы. Но будьте готовы, что при обновлении это слетит. И дай бог, чтобы в следующем релизе это пофиксили.

Я для себя принял решение все-таки подменить Core файлы (хоть это и некошерно) и помнить об этой особенности.

З.Ы. Модуль почти готов, осталось "причесать" внешний вид. Так что кому интересно - велкам.

вторник, 16 ноября 2010 г.

ту CMS ор нот ту CMS

И снова всем привет!

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

Ну а сегодня о CMS в Magento Community Edition и о том, как размножаются кролики.

Базовый функционал CMS в Magento CE оставляет желать лучшего. Это факт.

Даже за деньги расширенный Content Management System предлагается только в Enterptise Edition... Посмотрим, что же мы получим за много килодолларов в год:

  • Мультисайтовость - возможность задавать отображение для сайта, стора и т.д.
  • Версионирование - сохраняются все версии контента.
  • Сруктура! Структура - это на мой взгляд самая нужная фича.  
Судя по рекламе - это действительно стоящая штука. Но в Энтерпрайзе мы получаем много других вкусностей. Как например расширенные правила для потребителей. Не думаю, что кто-то ради расширенного функционала CMS готов оплачивать 8900 долларов в год.

Что же делать?

Как вариант можно подключить к мадженте другую CMS (Drupal/Joomla)... Но это, скорее всего, будет избыточно. Да и кому нужно на сайте две системы? Ведь даже изображения будут хранится в разных каталогах. А о совместимости JavaScript на страницах я вообще молчу. 

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

Сейчас я веду работу и практически готов к выпуску модуль контента со следующими функциями:
  • Сруктуризация контента по разделам. Пока для первого релиза предполагается использовать только один уровень вложенности.
  • Возможность задавать дизайн и обновления лэйаутов для раздела с наследованием для материалов раздела. Без возможности указания дизайна и лэйаутов для материала. 
  • Ссылки на контент вида http://example.com/[articles]/[section]/[material]
  • Вид модуля отображает перечень раздела с описаниями. Отображение описания задается в параметрах раздела.
  • Вид раздела по-умолчанию отображает заголовок, описание раздела (с возможностью задать отображение для каждого раздела), и перечень материалов с вводным текстом. Можно задать отображение вводного текста как для раздела целиком, так и для каждого материала отдельно, при этом установки раздела наследуются. Т.е. если в разделе указано "не отображать вводный текст материалов", то вводный текст не будет отображен вне зависимости от установок материала.
  • Вид материала отображает вводный текст (отображение тоже задается в параметрах, только материала) и, собственно, сам текст материала.
В данный момент модуль с таким функционалом практически готов. Еще пара-тройка дней и можно будет искать на Magento Connect'е.

Понимаю, что нужно подогреть интерес к модулю в будущем. Потому небольшой TO-DO:
  • Древовидная структура разделов!
  • Права доступа на основе Customer Goups.
  • Права доступа (просмотра), применимые к разделу, с наследованием.
  • Права доступа индивидуально к материалу.
  • Widgets для получения ссылок на раздел/страницу.
  • Pagination для разделов/материалов с возможностью конфигурирования.
Есть еще несколько задумок... Но я пока не определился с соотношением цель/средства. Потому пока не добавляю.

P.S. а ведь правда интересна ссылка типа "Для просмотра полного текста необходимо зарегистрироваться"?

P.P.S. "А где же о том, как размножаются кролики?" - спросите Вы. А я не знаю, как они размножаются. Да мне это и не интересно. Не отвлекайтесь на то, на что Вас отвлекают, и что Вам в принципе не есть необходимым ;)