Domanda

Io uso questo osservatore di eventi su un multistore per una struttura URL personalizzata Produttore nell'URL del prodottochiave .
Il problema è ora che ho bisogno di questo per un solo ID del negozio specifico.Come posso impostare un osservatore di eventi personalizzato per l'ID del negozio specifico?

È stato utile?

Soluzione

Puoi semplicemente controllare all'interno dell'osservatore se si è sulla vista del negozio giusto.

public function updateurl($observer)
{
    $storeId = your store id here;
    if (Mage::app()->getStore()->getId() == $storeId) {
        //your code goes here.
    }
}
.

Altri suggerimenti

In questo caso, ti suggerisco di utilizzare catalog_product_save_after.

E se si desidera per un particolare negozio , quindi utilizzare $observer->getEvent()->getProduct()->getStoreId() che fornisce il tuo ID del tuo prodotto.

Scopri perché ti suggerisco che utilizzi $observer->getEvent()->getProduct()->getStoreId() a causa di questo collegamento Come posso ottenere il contesto del negozio corretto nel prodotto Salva Observer?

Quindi è necessario inserire la condizione di seguito per il tuo osservatore

if ($observer->getEvent()->getProduct()->getStoreId() == 'Your_Match_Store_id') {
}
.

Observer

class MageStack_24869_Model_Observer
{
    public function updateurl($observer)
    {
        if ($observer->getEvent()->getProduct()) {
            if ($observer->getEvent()->getProduct()->getStoreId() == 'Your_Match_Store_id') {
                $product = $observer->getEvent()->getProduct();
                $url = '';

                if (!is_null($product->getData('country_of_manufacture'))) {
                    $url .= $product->getAttributeText('country_of_manufacture') . '-';
                }

                if (!is_null($product->getData('sku'))) {
                    $url .= $product->getData('sku') . '-';
                }

                if(!is_null($product->getData('name'))) {
                    $url .= $product->getData('name');
                }

                $product->setData('url_key', $url);      
            }
        }
    }
}
.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top