И снова здравствуйте!
В данный момент я разрабатываю платежный модуль для работы с Украинским Процессинговым Центром. Работа модуля предусматривает перенаправление покупателя на страницу процессингового центра, где он вводит информацию о кредитной карте - номер, срок действия и т.д.
Схема работы предусматривает оповещение магазина в случае неудачной
транзакции. При чем кодов ошибок достаточно много. Я не знаю, как вам, но мне эта информация кажется полезной и ее хотелось бы сохранять. Вроде бы все сделал и код ошибки приходи и все хорошо, но... При возврате с ошибкой платежа, магазин по умолчанию очищает корзину. Т.е. покупатель возвращается, а у него заказ имеет статус "Pending" и корзина, естественно пуста. Такой вариант нам не подходит, потому как следующий платеж покупатель может сделать только лишь перезаказав товар.
После перелопачивания форума мадженты я нашел вот это http://www.magentocommerce.com/boards/viewthread/199053/ и соответсвующий багрепорт. Эта проблема не была исправлена ни в 1.4.0.1, ни в 1.4.1.1.
По ссылке даны рекомендации, как можно локально на конкретном магазине проправить Core файлы. Но будьте готовы, что при обновлении это слетит. И дай бог, чтобы в следующем релизе это пофиксили.
Я для себя принял решение все-таки подменить Core файлы (хоть это и некошерно) и помнить об этой особенности.
З.Ы. Модуль почти готов, осталось "причесать" внешний вид. Так что кому интересно - велкам.
воскресенье, 28 ноября 2010 г.
вторник, 16 ноября 2010 г.
ту CMS ор нот ту CMS
И снова всем привет!
Я рад, что Вы читаете мой блог и говорю честное спасибо Вам за время, которое Вы потратили и внимание, которое Вы уделили. Надеюсь та малая часть, которая здесь есть хоть немного Вам оказалась полезной. Заходите почаще - мне есть чем поделится относительно Мадженто.
Ну а сегодня о CMS в Magento Community Edition и о том, как размножаются кролики.
Базовый функционал CMS в Magento CE оставляет желать лучшего. Это факт.
Даже за деньги расширенный Content Management System предлагается только в Enterptise Edition... Посмотрим, что же мы получим за много килодолларов в год:
P.P.S. "А где же о том, как размножаются кролики?" - спросите Вы. А я не знаю, как они размножаются. Да мне это и не интересно. Не отвлекайтесь на то, на что Вас отвлекают, и что Вам в принципе не есть необходимым ;)
Я рад, что Вы читаете мой блог и говорю честное спасибо Вам за время, которое Вы потратили и внимание, которое Вы уделили. Надеюсь та малая часть, которая здесь есть хоть немного Вам оказалась полезной. Заходите почаще - мне есть чем поделится относительно Мадженто.
Ну а сегодня о CMS в Magento Community Edition и о том, как размножаются кролики.
Базовый функционал CMS в Magento CE оставляет желать лучшего. Это факт.
Даже за деньги расширенный Content Management System предлагается только в Enterptise Edition... Посмотрим, что же мы получим за много килодолларов в год:
- Мультисайтовость - возможность задавать отображение для сайта, стора и т.д.
- Версионирование - сохраняются все версии контента.
- Сруктура! Структура - это на мой взгляд самая нужная фича.
Судя по рекламе - это действительно стоящая штука. Но в Энтерпрайзе мы получаем много других вкусностей. Как например расширенные правила для потребителей. Не думаю, что кто-то ради расширенного функционала CMS готов оплачивать 8900 долларов в год.
Что же делать?
Как вариант можно подключить к мадженте другую CMS (Drupal/Joomla)... Но это, скорее всего, будет избыточно. Да и кому нужно на сайте две системы? Ведь даже изображения будут хранится в разных каталогах. А о совместимости JavaScript на страницах я вообще молчу.
Я для себя и своих нужд решил написать модуль, который предоставит необходимый мне функционал. И почему-то мне кажется, что этот функционал будет полезен не только мне.
Сейчас я веду работу и практически готов к выпуску модуль контента со следующими функциями:
- Сруктуризация контента по разделам. Пока для первого релиза предполагается использовать только один уровень вложенности.
- Возможность задавать дизайн и обновления лэйаутов для раздела с наследованием для материалов раздела. Без возможности указания дизайна и лэйаутов для материала.
- Ссылки на контент вида http://example.com/[articles]/[section]/[material]
- Вид модуля отображает перечень раздела с описаниями. Отображение описания задается в параметрах раздела.
- Вид раздела по-умолчанию отображает заголовок, описание раздела (с возможностью задать отображение для каждого раздела), и перечень материалов с вводным текстом. Можно задать отображение вводного текста как для раздела целиком, так и для каждого материала отдельно, при этом установки раздела наследуются. Т.е. если в разделе указано "не отображать вводный текст материалов", то вводный текст не будет отображен вне зависимости от установок материала.
- Вид материала отображает вводный текст (отображение тоже задается в параметрах, только материала) и, собственно, сам текст материала.
Понимаю, что нужно подогреть интерес к модулю в будущем. Потому небольшой 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.
Ищу проблему...
На изображениях в PNG при ресайзе (на страничках категории) появляются белые пятна... вместо плотной черной заливки! %) Пока не разобрался что за беда. GIF'ы кушает нормально. PHP - 5.3.
Ищу проблему...
четверг, 9 сентября 2010 г.
Валюта в magento
Вот следующая проблема, которая вылезла после обновления. Для отображения цены в гривнах используется международный знак гривны - значок "₴".
Нашему пользователю и так не всегда "видно" в какой валюте цена, а тут еще и непонятный знак... Спросили бы у меня месяца 4 назад, что это за знак - я бы не ответил.
Потому "грн" как-то привычнее, да и в магазинах мы видим цену в "грн", а не в "₴".
Ранее я делал так, как описано здесь, но с точки зрения мадженто это некошерно, потому как при обновлении все изменения в core файлах "слетят", что у меня вполне успешно и произошло. Поетому был написан модуль (хотя по размеру модулем назвать его тяжело) для единственной цели - перехватывать событие форматирования валюты и подставлять свои значения.
Ну вот собственно и сам модуль:
Нашему пользователю и так не всегда "видно" в какой валюте цена, а тут еще и непонятный знак... Спросили бы у меня месяца 4 назад, что это за знак - я бы не ответил.
Потому "грн" как-то привычнее, да и в магазинах мы видим цену в "грн", а не в "₴".
Ранее я делал так, как описано здесь, но с точки зрения мадженто это некошерно, потому как при обновлении все изменения в core файлах "слетят", что у меня вполне успешно и произошло. Поетому был написан модуль (хотя по размеру модулем назвать его тяжело) для единственной цели - перехватывать событие форматирования валюты и подставлять свои значения.
Ну вот собственно и сам модуль:
/app/code/local/SM/Currency/etc/config.xml
<?xml version="1.0"?>1.0.0 SM_Currency_Model_Store
/app/code/local/SM/Currency/Model/Store.php
<?php class SM_Currency_Model_Store extends Mage_Core_Model_Store { public function formatPrice($price, $includeContainer = true) { $currency = $this->getCurrentCurrency(); if($currency) { if ($currency->getCode() == 'UAH') { return $currency->format($price, array('precision' => 0, 'symbol' => 'грн'), $includeContainer); } else { return $currency->format($price, array('precision' => 0), $includeContainer); } } return $price; } }
среда, 8 сентября 2010 г.
Куда катится мир...
Кстати, подано очень прикольно и вроде бы ничего нереализуемого нету... Да о чем я... смотрим - http://www.youtube.com/watch?v=g7_mOdi3O5E
Обновление magento 1.4.0.1 до версии 1.4.1.1
Вот решил обновить движок.
Посредством Magento Connect Manager'а не решился и решил сделать через консоль.Сосбтвенно мой порядок действий (далее все пути от коря установки magento):
После обновления захожу на главную страницу и тут же наблюдаю, что ранее переведенная фраза "Sign Up for Our Newsletter:" снова отображается на английском. К слову, русскую локализацию я брал не из Magento Connect (из-за неполноты и кривизны перевода), а отсюда. Это потому, что в модуле Mage_Newsletter разработчики изменили регистр символов.
Было: Sign up for our newsletter, ну а стало, что стало... Меняю ./app/locale/ru_RU/Mage_Newsletter.csv
Но вот что дальше делать... На странице пользователя появились две новые закладки "Billing Agreements" и "Recurring Profiles". Более-менее внятного описания, что это есть на самом деле я нигде не нашел... А перевод данных фраз можно произвести только лишь в контексте...
Вот что это такое и для чего это нужно?
Посредством Magento Connect Manager'а не решился и решил сделать через консоль.Сосбтвенно мой порядок действий (далее все пути от коря установки magento):
- Для начала - пути отступления. Делаю бекап базы данных с помощью mysqldump'а.
- Сохраняю полностью весь каталог, куда установлен magento, в архив.
- В корне установки есть файл pear. Вот его и запускаю:
./pear install magento-core/Mage_All_Latest
- После этого обновляю все установленные модули:
./pear upgrade-all
- Удаляю каталог ./var/cache
- Voila!
После обновления захожу на главную страницу и тут же наблюдаю, что ранее переведенная фраза "Sign Up for Our Newsletter:" снова отображается на английском. К слову, русскую локализацию я брал не из Magento Connect (из-за неполноты и кривизны перевода), а отсюда. Это потому, что в модуле Mage_Newsletter разработчики изменили регистр символов.
Было: Sign up for our newsletter, ну а стало, что стало... Меняю ./app/locale/ru_RU/Mage_Newsletter.csv
Но вот что дальше делать... На странице пользователя появились две новые закладки "Billing Agreements" и "Recurring Profiles". Более-менее внятного описания, что это есть на самом деле я нигде не нашел... А перевод данных фраз можно произвести только лишь в контексте...
Вот что это такое и для чего это нужно?
Свершилось!
Собственно %SUBJ%!
Решил-таки завести свой блог. Так сказать "с блекджеком и шлюхами" (с).
Основная идея блога - мой опыт знакомства, затачивания и использования Magento Community Edition. Ну а дальше - посмотрим.
Решил-таки завести свой блог. Так сказать "с блекджеком и шлюхами" (с).
Основная идея блога - мой опыт знакомства, затачивания и использования Magento Community Edition. Ну а дальше - посмотрим.
Подписаться на:
Сообщения (Atom)