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?

Était-ce utile?

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:

utilisation dans la navigation en couches , utilisé dans la liste des produits , utilisé pour le tri dans la liste des produits

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