Fataler Fehler: Rufen Sie bei einer Mitgliedsfunktion Getource () auf einem Nicht-Objekt in public_html/app/code/core/mage/catalog/modell/product.php in Zeile 1390

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

Frage

Ich versuche, ein benutzerdefiniertes Ja/Nein -Attribut zu verwenden, um ein Element in der Datei price.phtml anzuzeigen/auszublenden, aber wenn ich die Bedingung hinzufüge, erhalte ich diesen Fehler immer wieder und ich kann nicht verstehen, warum seit ich es zuvor funktioniert.

Hier ist, was ich aus Zeile 359 von Price.phtml hinzugefügt habe

    <?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; ?>

Grundsätzlich möchte ich es erreichen, indem ich ein neues Attribut hinzufügt und der Preisgruppe hinzufügen kann.

Ich bekomme diesen Fehler immer wieder:

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

Kann jemand sehen, was ich falsch gemacht habe?

War es hilfreich?

Lösung

Diese Zeile ist falsch, wich das Problem verursacht:

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

Verwenden Sie so:

if($_product->getHideSpecialPrice())

oder

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

Und dein Attribut hide_special_price sollte sein "In der Produktliste verwendet" und "Sichtbar auf Produktansichtsseite auf Front-End" (Siehe Attribut -Bearbeitungsseite).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top