Obtenir l'attribut produit dans le panier avec des produits plats activés
-
13-12-2019 - |
Question
J'utilise un Attribut forcé_shipping et le code ci-dessous dans mage \ expédition \ modèle \ porteur \ flatrate.php pour restreindre la méthode d'expédition pour les éléments avec l'ensemble d'attributs forcé_shippingà oui.
$items = Mage::getModel('checkout/session')->getQuote()->getAllItems();
$forcedShipping = false;
foreach ( $items as $item ) {
$_products = Mage::getModel('catalog/product')->getCollection()->addAttributeToFilter('sku', $item->getSku())->addAttributeToSelect('forced_shipping', 'inner');
foreach ( $_products as $_product) {
if ( $_product->getForced_shipping() == 1 ) {
$forcedShipping = true;
}
}
}
if ( !$forcedShipping ) {
return false;
}
Bien que cela fonctionne bien avec les produits plats désactivés, il échouera une fois que je leur permettrai.Comment dois-je modifier mon code pour le faire fonctionner avec des produits plats, est-il possible du tout?
La solution
éteint le réglage utilisé sur la page du produit n'inclut pas d'attribut dans la table plate.Je devais régler utilisé dans la liste des produits à oui pour le faire fonctionner.
Apparemment, l'un de ces paramètres remplacera la table plate avec un attribut: