I need help with the following error: > Fatal error: Call to a member function getno_cart_button() on a > non-object in > /var/home/hifi-studio_at/www/app/design/frontend/default/theme582/template/catalog/product/compare/list.phtml > on line 134 This error occurs only in the compare-list. I made an Attribute called "no_cart_button", if it is checked, the product does not show the "Cart-Button" any more, but instead a "Anfrage (Ask)" linking to a Contact-Page. On all other lists and grids it does work. But why no here? This is the code I used: <!-- // Warenkorb in Anfrage verändern // Start // --> <?php if($_product->getno_cart_button()){ ?> <div class="add-to-cart"><button type="button" title="<?php echo $this->__('Anfrage') ?>" class="button btn-cart" onClick="parent.location='/kontakt'"><span><span><?php echo $this->__('Anfrage') ?></span></span></button></div> <?php } else { ?> <p><button type="button" title="<?php echo Mage::helper('core')->quoteEscape($this->__('Add to Cart')) ?>" class="button btn-cart" onclick="setPLocation('<?php echo $this->helper('catalog/product_compare')->getAddToCartUrl($_item) ?>', true)"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button></p> <?php } ?> <?php else: ?> <!-- // Warenkorb in Anfrage verändern // ENDE // --> This Error also occurs only with Products that have this attribute. Others don't show the cart button nor the error. Any suggestions? Thanks! This is the full code: <?php /** * Magento * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 3.0) * that is bundled with this package in the file LICENSE_AFL.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/afl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade Magento to newer * versions in the future. If you wish to customize Magento for your * needs please refer to http://www.magento.com for more information. * * @category design * @package rwd_default * @copyright Copyright (c) 2006-2015 X.commerce, Inc. (http://www.magento.com) * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) */ /* @var $this Mage_Catalog_Block_Product_Compare_List */ ?> <div class="page-title title-buttons"> <h1><?php echo $this->__('Compare Products') ?></h1> <a href="#" onclick="window.print(); return false;" class="link-print"><?php echo $this->__('Print This Page') ?></a> </div> <?php $_total=$this->getItems()->count() ?> <?php if($_total): ?> <table class="data-table compare-table" id="product_comparison"> <?php $_i=0 ?> <?php foreach($this->getItems() as $_item): ?> <?php if($_i++%10==0): ?> <col width="1" /> <?php endif; ?> <col width="<?php echo floor(100/$_total); ?>%" /> <?php endforeach; ?> <?php if ($_total>2): ?> <thead> <tr> <?php $_i=0 ?> <?php foreach($this->getItems() as $_item): ?> <?php if($_i++%10==0): ?> <th> </th> <?php endif; ?> <td class="a-right"><a href="#" class="btn-remove" onclick="removeItem('<?php echo $this->helper('catalog/product_compare')->getRemoveUrl($_item) ?>');" title="<?php echo $this->quoteEscape($this->__('Remove This Item')) ?>"><?php echo $this->__('Remove This Item') ?></a></td> <?php endforeach; ?> </tr> </thead> <?php endif ?> <tbody> <tr class="product-shop-row top"> <?php $_i=0 ?> <?php foreach($this->getItems() as $_item): ?> <?php if($_i++%10==0): ?> <th> </th> <?php endif; ?> <td> <a class="product-image" href="#" onclick="setPLocation('<?php echo $this->getProductUrl($_item) ?>', true)" title="<?php echo $this->stripTags($_item->getName(), null, true) ?>"><img src="<?php echo $this->helper('catalog/image')->init($_item, 'small_image')->resize(125, 125); ?>" width="125" height="125" alt="<?php echo $this->stripTags($_item->getName(), null, true) ?>" /></a> <h2 class="product-name"><a href="#" onclick="setPLocation('<?php echo $this->getProductUrl($_item) ?>', true)" title="<?php echo $this->stripTags($_item->getName(), null, true) ?>"><?php echo $this->helper('catalog/output')->productAttribute($_item, $_item->getName(), 'name') ?></a></h2> <?php echo $this->getReviewsSummaryHtml($_item, 'short') ?> <?php echo $this->getPriceHtml($_item, true, '-compare-list-top') ?> </td> <?php endforeach; ?> </tr> <tr class="product-shop-row bottom"> <?php $_i=0 ?> <?php foreach($this->getItems() as $_item): ?> <?php if($_i++%10==0): ?> <th> </th> <?php endif; ?> <td> <?php if($_item->isSaleable()): ?> <!-- // Warenkorb in Anfrage verändern // START // --> <?php if($_product->getno_cart_button()){ ?> <p><button type="button" title="<?php echo $this->__('Anfrage') ?>" class="button btn-cart" onClick="parent.location='/kontakt'"><span><span><?php echo $this->__('Anfrage') ?></span></span></button></p> <?php } else { ?> <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button> <?php } ?> <?php else: ?> <!-- // Warenkorb in Anfrage verändern // ENDE // --> <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p> <?php endif; ?> <?php if ($this->helper('wishlist')->isAllow()) : ?> <ul class="add-to-links"> <li><a href="<?php echo $this->getAddToWishlistUrl($_item) ?>" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li> </ul> <?php endif; ?> </td> <?php endforeach; ?> </tr> </tbody> <tbody> <?php foreach ($this->getAttributes() as $_attribute): ?> <tr> <?php $_i=0 ?> <?php foreach($this->getItems() as $_item): ?> <?php if($_i++%10==0): ?> <th><span class="nobr"><?php echo $_attribute->getStoreLabel() ?></span></th> <?php endif; ?> <td> <?php switch ($_attribute->getAttributeCode()) { case "price": ?> <?php echo $this->getPriceHtml($_item, true, '-compare-list-' . $_attribute->getCode()) ?> <?php break; case "small_image": ?> <img src="<?php echo $this->helper('catalog/image')->init($_item, 'small_image')->resize(125, 125); ?>" width="125" height="125" alt="<?php echo $this->escapeHtml($_item->getName()) ?>" title="<?php echo $this->escapeHtml($_item->getName()) ?>" /> <?php break; case "date": echo substr($this->getProductAttributeValue($_item, $_attribute),0,10); break; default: ?> <div class="std"> <?php echo $this->helper('catalog/output')->productAttribute($_item, $this->getProductAttributeValue($_item, $_attribute), $_attribute->getAttributeCode()) ?> </div> <?php break; } ?> </td> <?php endforeach; ?> </tr> <?php endforeach; ?> </tbody> <tbody> <tr class="add-to-row"> <?php $_i=0 ?> <?php foreach($this->getItems() as $_item): ?> <?php if($_i++%10==0): ?> <th> </th> <?php endif; ?> <td> <?php echo $this->getPriceHtml($_item, true, '-compare-list-bottom') ?> <!-- // Warenkorb in Anfrage verändern // START // --> <?php if($_product->getno_cart_button()){ ?> <p><button type="button" title="<?php echo $this->__('Anfrage') ?>" class="button btn-cart" onClick="parent.location='/kontakt'"><span><span><?php echo $this->__('Anfrage') ?></span></span></button></p> <?php } else { ?> <button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button> <?php } ?> <?php else: ?> <!-- // Warenkorb in Anfrage verändern // ENDE // --> <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p> <?php endif; ?> <?php if ($this->helper('wishlist')->isAllow()) : ?> <ul class="add-to-links"> <li><a href="<?php echo $this->getAddToWishlistUrl($_item);?>" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li> </ul> <?php endif; ?> </td> <?php endforeach; ?> </tr> </tbody> </table> <div class="buttons-set"> <button type="button" title="<?php echo $this->quoteEscape($this->__('Close Window')) ?>" class="button" onclick="window.close();"><span><span><?php echo $this->__('Close Window') ?></span></span></button> <span class="please-wait" id="compare-list-please-wait" style="display:none;"> <img src="<?php echo $this->getSkinUrl('images/opc-ajax-loader.gif') ?>" alt="<?php echo $this->quoteEscape($this->__('Please wait...')) ?>" title="<?php echo $this->quoteEscape($this->__('Please wait...')) ?>" class="v-middle" /> <?php echo $this->__('Please wait...') ?> </span> </div> <script type="text/javascript"> decorateTable('product_comparison'); /** * Send remove item request, after that reload windows */ function removeItem(url) { new Ajax.Request(url, { parameters: {isAjax: 1, method: 'POST'}, onLoading: function(){$('compare-list-please-wait').show();}, onSuccess: function(transport) { $('compare-list-please-wait').hide(); window.location.reload(); window.opener.location.reload(); } }); } </script> <?php else: ?> <script type="text/javascript">window.close();</script> <?php endif; ?>