Question

J'ai un site Magento qui utilise la valeur d'un menu déroulant (Oui / Non) attribut dans une si la condition de déclaration. Le problème que je vais avoir est basé sur un seul magasin je reçois « 1 » et l'autre est « 0 » (où « 1 » est la valeur correcte dans ce cas).

Par exemple, j'ai ce code:

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;

Quand je vais à stocker ID 1 le message ne semble pas, mais dans l'ID du magasin 12 le message « message magasin 2 » apparaît donc la première si la condition de déclaration est vraie.

Si j'imprimer ces:

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

Je reçois '0' en magasin ID 1 et '1' en magasin ID 12.

J'ai essayé:

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

Où magasin ID 1 montre No 'et magasin ID 12 montre 'Oui'.

Une autre chose est ces conditions fonctionnent parfaitement bien sur d'autres produits à la fois stockons son juste ce produit que ce résultat montre.

Globalement, le résultat devrait être soit « 1 » sur les deux vues de magasin pour ce produit ou « 0 » sur les deux vues du magasin.

J'ai vérifié l'ensemble d'attributs avec ce produit de problème et un autre produit de travail et ils ont tous deux utilisent le même ensemble d'attributs, avec la même valeur d'attribut « lookinsideactive ».

Je ne suis pas sûr si je l'ai raté quelque chose, mais simple besoin de quelques conseils sur une cause possible ou quelques conseils pour déboguer cela.

Toute aide est très appréciée, je vous remercie.

Était-ce utile?

La solution

Vous pouvez avoir des champs d'application pour les attributs différents. Votre attribut a obviosuly la portée « vue magasin ». Alterantives sont: "magasin", "site web" et "global"

.

Vous pouvez modifier le champ avec un script, mais après ce changement, je pense que vous devez nettoyer la base de données, car magento ne tient pas compte de la portée lors de l'extraction des données. Il est seulement important quand les écrire.

Vous pouvez vérifier dans le back-end, lorsque vous affichez un produit que vous pouvez changer la portée dans la partie supérieure gauche et à côté de la boîte de sélection est l'information [vue magasin] quelle est la portée de l'attribut est.

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top