понедельник, 17 января 2011 г.

Баг is not bug!

Очень давно я ничего не постил. Престранное, однако, слово. Постил. Не нравится оно мне, хотя писал - не намного лучше. ПисАл или ПИсал - непонятно. Ну да ладно.

Не об это я сейчас.

Я писал о баге корзины... Но этоне баг... Точнее, баг! но не корзины. Он где-то в ДНК (может и моем?) тех индивидов, которые постили это как баг.
Все просто - если в процессе родов начать кормить младенца пиццей - вряд ли он этому будет рад... Мамаша тоже.

Так что с точки зрения Мадженты - это действительно не баг. Это просто неправильное применение инструментария.

Не в то время и не в том месте попытка сделать над объектами то, что сейчас делать ненадо. Ну а что из этого получается мы видим в кинопродукции Голливуда... Ну и в баглисте мадженты.

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

вторник, 21 сентября 2010 г.

Изображения товара... Чудо враждебной техники!

А хотите – я его стукну – и он станет фиолетовым в крапинку.
Из мультфильма "Тайна третьей планеты"


В прошлый раз я писал о том, что при ресайзе изображений товара для страницы категории (размер картинки - 135х135 пикселей) появляются белые пятна. Как оказалось впоследствии - это не пятна, точнее пятна, но не белые, а... прозрачные. Фон страницы и изображения у меня белый, потому пятна становятся белыми.

Методом исследования кода было обнаружено, что обработчики изображений (/lib/Varien/...) при апгрейде не изменились... При чем такая беда наблюдается не на всех размерах ресайза (например на странице товара в админке - все Ок). Также определено, что такое наблюдается на разных версиях GD2 и PHP5. Гугление по буржуйскому форуму мадженты тоже ничего толкового не дало - не используйте 24 bit PNG и т.д. что, в общем-то, неконструктивно.

Методом научного тыка было обнаружено, что в обрабатываемых изображениях отсутствовал альфа-канал...

Простыми манипуляциями над изображением в Gimp'е был добавлен альфа-канал и... О, чудо! Как говорил великий знаток бутербродов из Простоквашино - "Урра, заработала!"

Картинки ресайзятся в нужном виде... Скорее всего это просто совпало - обновление движка и появление на сайте PNG'шек. %)

Вроде все и как надо, но какой-то осадок остался - раньше тоже ведь были PNG'шки. И вроде как нормально было. Или я что-то забыл. Пока буду наблюдать - товара еще много надо добавить, потому есть поле для проведения научной эсперименты.

пятница, 10 сентября 2010 г.

Изображения товара... за что их так?

После обновления до версии 1.4.1.1 вылезла проблема с изображениями товаров.

На изображениях в PNG при ресайзе (на страничках категории) появляются белые пятна... вместо плотной черной заливки! %) Пока не разобрался что за беда. GIF'ы кушает нормально. PHP - 5.3.

Ищу проблему...