Fatal error: chiamata a una funzione membro getSource () su un non-oggetto in public_html / app / code / core / Mage / Catalogo / Modello / Product.php on line 1390

magento.stackexchange https://magento.stackexchange.com/questions/13293

Domanda

Sto cercando di usare un costume Sì / No attributo per mostrare / nascondere un elemento all'interno del file Price.phtml ma ogni volta che aggiungere la condizione continuo a ricevere questo errore e non riesco a capire perché da quando l'ho avuto a lavorare in precedenza .

Ecco quello che ho aggiunto dalla linea 359 di Price.phtml

    <?php if ($_taxHelper->displayBothPrices()): ?>
        <p class="special-price">
            <span class="price-label"><?php echo $_specialPriceStoreLabel ?></span>
            <span class="price-excluding-tax">
                <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span>
                <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                    <?php echo $_coreHelper->currency($_finalPrice, true, false) ?>
                </span>
            </span>
            <span class="price-including-tax">
                <span class="label"><?php echo $this->helper('tax')->__('Incl. Tax:') ?></span>
                <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                    <?php echo $_coreHelper->currency($_finalPriceInclTax, true, false) ?>
                </span>
            </span>
        </p>
    <?php else: ?>
        <?php if ($_product->getAttributeText($_specialPriceStoreLabel['hide_special_price']) == "Yes"): ?>
        <span class="del" style="display: none;"><?php echo $this->__('RRP') ?> <?php echo $_coreHelper->currency($_regularPrice, true, false) ?><?php $regularprice =  $_regularPrice; ?></span>
        <?php         $price_diff = $regularprice-$finalPrice;
        $discountPercent = ($price_diff/$regularprice)*100;
        $discountPercent = ceil($discountPercent); ?>
        <span class="discount" style="display: none;">(-<?php echo $discountPercent; ?>%)</span>
            <?php else: ?>
            <span class="del"><?php echo $this->__('RRP') ?> <?php echo $_coreHelper->currency($_regularPrice, true, false) ?><?php $regularprice =  $_regularPrice; ?></span>
            <?php         $price_diff = $regularprice-$finalPrice;
            $discountPercent = ($price_diff/$regularprice)*100;
            $discountPercent = ceil($discountPercent); ?>
            <span class="discount">(-<?php echo $discountPercent; ?>%)</span>
        <?php endif; ?>
    <?php endif; ?>
<?php endif; ?>

Fondamentalmente quello che vorrei realizzare è l'aggiunta di un nuovo attributo e aggiungendolo al gruppo di prezzo che posso impostare se visualizzare prezzo speciale sul frontend o no per alcuni prodotti.

Continuo a ricevere questo errore:

function getSource() on a non-object in /*****/*****/public_html/app/code/core/Mage/Catalog/Model/Product.php on line 1390

Qualcuno può vedere quello che ho torto?

È stato utile?

Soluzione

Questa linea è wich corretta causa il problema:

if($_product->getAttributeText($_specialPriceStoreLabel['hide_special_price']) == "Yes")

Usa in questo modo:

if($_product->getHideSpecialPrice())

o

if($_product->getData('hide_special_price'))

E il tuo hide_special_price attributo deve essere "Utilizzato in elenco relativo al prodotto" e "Visibile VAI pagina su Front-end" (vedi attributo pagina di modifica).

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