Май 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.

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

Ноя 29

Magento позволяет применять фильтры для своих коллекций. Для этого используется метод addAttributeToFilter (из класса Mage_Eav_Model_Entity_Collection_Abstract).
Базовое использование этого метода следующее:

<?php
addAttributeToFilter(имя_атрибута, значение)
?>

Но иногда возникает необходимость отфильтровать Magento коллекцию по нескольким атрибутам, используя логическое “ИЛИ”.
Следующий пример показывает как получить коллекцию пользователей по заданному имени или email:

<?php
$collection = Mage::getModel(‘customer/customer’)->getCollection()
            ->addAttributeToFilter(array(
                array(‘attribute’ => ‘firstname’, ‘like’ => %developer%),
                array(‘attribute’ => ‘email’, ‘like’ => %magento%),
            ));
?>

Общую информацию по работе с Varien data collections можно найти на официальном Magento Knowledge Base

Услуги Magento разработчика

Авг 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.
Список буду постепенно пополнять.

« Previous Entries