Domanda

Ho un sito web Magento che utilizza il valore di una discesa (Si No /) attributo in un se la condizione dichiarazione. Il problema che sto avendo è basata su una vista negozio Sto diventando '1' e l'altro è '0' (dove '1' è il valore corretto in questo caso).

Per esempio io ho questo codice:

if($_product->getData("lookinsideactive") == 1):
      if(Mage::app()->getStore()->getId() == 1):
                    echo "Store message 1";
                elseif(Mage::app()->getStore()->getId() == 12):
                    echo "Store message 2";
      endif;
endif;

Quando vado al negozio di ID 1 il messaggio non appare, ma nel negozio id 12 il messaggio di 'Message Store 2' appare quindi la prima se la condizione affermazione è vera.

Se io stampare questi:

echo $_product->getData("lookinsideactive");

I get '0' nel negozio di ID 1 e '1' in serbo ID 12.

Ho provato:

echo $_product->getAttributeText('lookinsideactive');

Dove negozio di ID 1 mostra 'No' e conservare ID 12 spettacoli 'Sì'.

Un'altra cosa è queste condizioni funzionano perfettamente benissimo su altri prodotti sia sul negozio vede il suo solo questo un prodotto che questo risultato sta mostrando.

Quindi nel complesso il risultato dovrebbe essere '1' su entrambe le viste dei negozi per quel prodotto o '0' su entrambe le viste dei negozi.

Ho controllato set di attributi con questo prodotto problema e un altro prodotto di lavoro ed entrambi stanno utilizzando lo stesso set di attributi, con lo stesso valore dell'attributo 'lookinsideactive'.

Non sono sicuro se ho perso qualcosa di semplice, ma bisogno di qualche consiglio su una possibile causa o qualche consiglio per il debug di questo.

Ogni aiuto è molto apprezzato, grazie.

È stato utile?

Soluzione

Si può avere scopi diversi per i diversi attributi. Il tuo attributo ha obviosuly l'ambito "Vedi negozio". Alterantives sono: "store", "sito web" e "globale"

.

È possibile modificare l'ambito con uno script, ma dopo che il cambiamento, penso che tu abbia per ripulire il database perché Magento ignora la portata durante il recupero dei dati. E 'importante solo quando si scrive di loro.

È possibile controllare questo nel backend, quando si visualizza un prodotto è possibile modificare l'ambito in alto a sinistra e accanto alla selectbox sono le informazioni [Vedi negozio] ciò che il campo di applicazione del attributo è.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top