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
-
16-10-2019 - |
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?
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).