вторник, 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.

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

четверг, 9 сентября 2010 г.

Валюта в magento

Вот следующая проблема, которая вылезла после обновления. Для отображения цены в гривнах используется международный знак гривны - значок "₴".
Нашему пользователю и так не всегда "видно" в какой валюте цена, а тут еще и непонятный знак... Спросили бы у меня месяца 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):
  1. Для начала - пути отступления. Делаю бекап базы данных с помощью mysqldump'а.
  2. Сохраняю полностью весь каталог, куда установлен magento, в архив.
  3. В корне установки есть файл pear. Вот его и запускаю:

    ./pear install magento-core/Mage_All_Latest

  4. После этого обновляю все установленные модули:

    ./pear upgrade-all

  5. Удаляю каталог ./var/cache
  6. 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. Ну а дальше - посмотрим.