Пользовательские параметры Magento автоматически

Это расширение, которое я сделал, прекрасно работает, когда я сохраняю продукт. Он просто добавляет пользовательские параметры.

Вот config.xml

<?xml version="1.0"?>
<config>
<modules>
<Custom_Options>
<version>0.0.1</version>
</Custom_Options>
</modules>
<global>
<models>
<custom_options>
<class>Custom_Options_Model</class>
</custom_options>
</models>
</global>
<adminhtml>
<events>
<catalog_product_save_before><!-- observe the event -->
<observers>
<custom_options>
<class>custom_options/observer</class>
<method>autoMetaDescription</method>
</custom_options>
</observers>
</catalog_product_save_before>
</events>
</adminhtml>
</config>

Observer.php

<?php
class Custom_Options_Model_Observer {
public function autoMetaDescription($observer) {
$product = $observer->getEvent()->getProduct();

//check that we haven't made the option already
$options = $product->hasCustomOptions();
if( $product->getData('has_options') && ($product->getTypeID() == 'simple')){

} else
{
$option6 = array(
'title' => 'Hardware Finish',
'type' => 'drop_down',
'is_require' => 1,
'sort_order' => 4,
'is_delete' => '',
'previous_type' => '',
'previous_group' => '',
'price' => '0.00',
'price_type' => 'fixed',
'sku' => '',
'values' => array(
array(
'is_delete' => 0,
'title' => 'Black Nickel',
'price_type' => 'fixed',
'price' => 0,
'option_type_id' => -1,
)

);


//don't use it like this because it has no effect
//$product->setProductOptions($options);
$product->setCanSaveCustomOptions(true);

$product->getOptionInstance()->addOption($option6);

//don't forget to state that the product has custom options
$product->setHasOptions(true);
//$product->save();
}
}
}

По сути, есть некоторые продукты, которые не имеют пользовательских параметров, но всегда добавляют к ним также параметры. Я думаю, что есть способ решить эту проблему — использовать действие, вызываемое при создании продукта.
Как на этом изображении

Пожалуйста, скажите мне, какое действие или контроллер вызывается при нажатии этой кнопки, или любой другой метод для преодоления этой проблемы приветствуется.

0

Решение

Отвечая на вопрос

Пожалуйста, скажите мне, какое действие или контроллер вызывается при нажатии этой кнопки, или любой другой метод для преодоления этой проблемы приветствуется.

Для наблюдения за первоначальным созданием продукта вы можете наблюдать catalog_product_new_action,

Похоже, вы пытаетесь предотвратить манипулирование некоторыми продуктами вашим наблюдателем. В этом случае я бы порекомендовал вам создать атрибут Да / Нет, который включает / отключает функцию AutoMetaDescription. Просто проверьте значение атрибута, прежде чем манипулировать продуктом.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]