2013-11-27

Изменение группы атрибутов для товара

Группа атрибутов указывается через id, его можно посмотреть в таблице eav_attribute_set.
foreach ($products as $_product) {
 if ((int)$_product->getData("attribute_set_id") !== 64) {
  $_product->setData("attribute_set_id", 64);
  $_product->save();
 }
}

Magento: get tier price

Для получения tier price:
$product->getTierPrice();

Возвращает массив:
Array
(
    [1-1] => Array
        (
            [price_id] => 6
            [website_id] => 7
            [all_groups] => 0
            [cust_group] => 1
            [price] => 30.0000
            [price_qty] => 1.0000
            [website_price] => 30.0000
        )

)

2013-11-26

Response status codes

Server response status codes:
• 1xx: Informational - Request received, continuing process
• 2xx: Success - The action was successfully received, understood, and accepted
• 3xx: Redirection - Further action must be taken in order to complete the request
• 4xx: Client Error - The request contains bad syntax or cannot be fulfilled
• 5xx: Server Error - The server failed to fulfill an apparently valid request

2013-11-14

Передача параметров в дочерний template

Передать параметр в template можно так:
$this->getChild('quickgalleryview')->setData("productId", $_product->getId());
echo $this->getChildHtml('quickgalleryview');

Или если template вызывается несколько раз:
echo $this->getChildHtml("quickgalleryview", false)

Использовать переданный параметр так:
$this->getData("productId")

2013-11-13

Включение WYSIWYG редактора

Для добавления WYSIWYG редактора добавляем кнопку
<button
  onclick="catalogWysiwygEditor.open('/admin/catalog_category/wysiwyg/key/<?php echo $this->getFormKey(); ?>', 'id_<?php echo $this->getHtmlId() ?>')"
  class="scalable btn-wysiwyg"
  type="button"
  title="WYSIWYG Editor">
  <span><span><span><?= Mage::helper('core')->__('WYSIWYG Editor') ?></span></span></span></button>

При нажатии на нее будет открываться редактор и редактировать текстовое поле с переданным id

2013-11-08

Очистка кэша magento

Очистка кэша magento находится в контроллере /app/code/core/Mage/Adminhtml/controllers/System/CacheController.php.

Для очистки кэша js/css
Mage::getDesign()->cleanMergedJsCss()
Очистка кэша изображений
Mage::getModel('catalog/product_image')->clearCache();

2013-11-07

Создание контроллера для админки

Название модуля - "SliRx_Example".
Сначала отредактируем "app/​code/​local/SliRx/​Example/​etc/​config.xml"
    <modules>
        <SliRx_Example>
            <version>1.0.0</version>
        </SliRx_Example>
    </modules>

    <admin>
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <slirx_example before="Mage_Adminhtml">
                            SliRx_Example_Adminhtml
                        </slirx_example>
                    </modules>
                </args>
            </adminhtml>
        </routers>
    </admin>
</config>

Затем создаем файл контроллера: "app/​code/​local/SliRx/Example/​controllers/​Adminhtml/​ExampleController.php":

Ошибка "Magento Read timed out after 10 seconds"

Ошибка возникает из-за долгого ожидания сервера.
Можно изменить в /lib/Zend/Http/Client.php "timeout" => 10

2013-11-06

Удаление продуктов через magmi

Для удаления продуктов необходимо включить плагин "Product Deleter" и использовать файл со столбцами "sku" и "magmi:delete". Во второй столбец надо указать "1" для удаления продукта.
Продукты удаляются со всех магазинов, т.е. таким способом нельзя удалить продукты только с определенного store view'a.