Май 3

Meet Magento Belarus – ежегодная региональная конференция по платформе Magento, популярной системе управления интернет-магазинами. В списке пользователей платформы такие известные бренды, как Nokia, Olympus, Samsung, Skype, Gap, Lenovo, Nestle Nespresso, 20th Century Fox. Всего насчитывается более 90 000 интернет-магазинов во всем мире!

Meet Magento Belarus – это одна из немногих возможностей пообщаться как с профессиональными Magento разработчиками, так и начинающими энтузиастами этого направления в одном месте. Конференция проходит в Минске при непосредственной поддержке представителей компании Magento и ее официальных партнеров. Организатор – компания aheadWorks.

Участие в конференции бесплатное и требует регистрации на сайте мероприятия.
Хотите принять участие в конференции в качестве спикера или знаете, кто может это сделать? Пишите нам! Ни одна заявка не останется без ответа!
Facebook event, Twitter (#meetmagentoby)

Дек 10

При написании собственных модулей оплаты для Magento иногда приходится программно изменять статус заказа в состояние “Complete”. Для этого создается invoice и осуществляется оплата по этому инвойсу.
Рассмотрим пример активации заказа после checkout (Place Order). Для этого создадим observer на событие checkout_type_onepage_save_order_after.
В методе обсервера пишем следующее:

<?php
        $order = $observer->getEvent()->getOrder();

        if (!$order->getId()) {
            return false;
        }
        
        if (!$order->canInvoice()) {
            return false;
        }
        
        $savedQtys = array();
        $invoice = Mage::getModel(’sales/service_order’, $order)->prepareInvoice($savedQtys);
        if (!$invoice->getTotalQty()) {
            return false;
        }
        $invoice->setRequestedCaptureCase(Mage_Sales_Model_Order_Invoice::CAPTURE_OFFLINE);
        $invoice->register();

        $invoice->getOrder()->setCustomerNoteNotify(false);
        $invoice->getOrder()->setIsInProcess(true);

        $transactionSave = Mage::getModel(‘core/resource_transaction’)
            ->addObject($invoice)
            ->addObject($invoice->getOrder());

        $transactionSave->save();
?>

Таким образом order будет иметь статус Complete, а также создастся проплаченный invoice.

Следите за обновлениями

Авг 17
Magento блоги
icon1 Snowcore | icon2 Magento, MySQL | icon4 08 17th, 2010| icon31 Comment »

Много разработчиков, которые начинают изучать Magento, жалуются на нехватку документации и наглядных примеров работы с Magento. Большое количество разработчиков интересует подключение классов magento, magento валидация, как создать модуль для magento - это все стандартный набор вопросов новичков.
Я потихоньку создаю свою базу знаний по Magento и хочу поделиться с читателями списком сайтов о Magento.

Официальные источники знаний

  • Magento KnowledgeBase - недавно занимался редизайном данной части сайта, так что добро пожаловать :)
  • Magento Wiki

Сайты о Magento

Русские сайты о Magento

У кого есть что добавить - welcome to comments.
Список буду постепенно пополнять.

Июн 15

Одной из самых популярных проблем у новичков в Magento является проблема входа в админ панель Magento. Форумы насыщены постами типа “Не могу войти в админку Magento“, “Вход в админку Magento“. Я удивляюсь, но многие при установке Magento на локальный компьютер, не используют VirtualHosts, а устанавливают на localhost.
Связано это с вопросом безопасности и невозможностью установить cookie.

Есть два популярных способа решения данной проблемы:

  1. Использовать VirtualHosts, название хоста должно содержать точку
  2. Более корявый способ - внести изменения в коде

Изменения в коде лучше делать перекрытием кода в локальном codePool.
Данный пример приводится для версии Magento 1.4.
Для этого копируем файл /app/code/core/Mage/Core/Model/Session/Abstract/Varien.php в /app/code/local/Mage/Core/Model/Session/Abstract/Varien.php.
И комментруем 3 строчки в методе Mage_Core_Model_Session_Abstract_Varien::start

<?php
// session cookie params
$cookieParams = array(
    ‘lifetime’ => $cookie->getLifetime(),
    ‘path’     => $cookie->getPath(),
    /*
    ’domain’   => $cookie->getConfigDomain(),
    ’secure’   => $cookie->isSecure(),
    ’httponly’ => $cookie->getHttponly()
    */
);
?>

Как видно из примера, первый способ гораздо проще :)

« Previous Entries