Hi I have the following static block set up but it is not showing any View Details or Add to Cart on any of the products they show fine name picture price but no cart buttons??
Been serching for hours can not find an answer.
Static Block Code
{{block type="catalog/product_list" name="product_list.after" category_id="6" column_count="4" count="4" limit="4" mode="grid" template="catalog/product/custom_list.phtml"}}
custom_list.phtml
<?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 license@magento.com 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-2014 X.commerce, Inc. (http://www.magento.com) * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) */ ?> <?php /** * Product list template * * @see Mage_Catalog_Block_Product_List */ /* @var $this Mage_Catalog_Block_Product_List */ ?> <?php $_productCollection=$this->getLoadedProductCollection(); $_helper = $this->helper('catalog/output'); ?> <?php if(!$_productCollection->count()): ?> <p class="note-msg"><?php echo $this->__('There are no products matching the selection.') ?></p> <?php else: ?> <div class="category-products"> <?php // List mode ?> <?php if($this->getMode()!='grid'): ?> <?php $_iterator = 0; ?> <ol class="products-list" id="products-list"> <?php foreach ($_productCollection as $_product): ?> <li class="item<?php if( ++$_iterator == sizeof($_productCollection) ): ?> last<?php endif; ?>"> <?php // Product Image ?> <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" class="product-image"> <?php /* Based on the native RWD styling, product images are displayed at a max of ~400px wide when viewed on a one column page layout with four product columns from a 1280px viewport. For bandwidth reasons, we are going to serve a 300px image, as it will look fine at 400px and most of the times, the image will be displayed at a smaller size (eg, if two column are being used or viewport is smaller than 1280px). This $_imgSize value could even be decreased further, based on the page layout (one column, two column, three column) and number of product columns. */ ?> <?php $_imgSize = 300; ?> <img id="product-collection-image-<?php echo $_product->getId(); ?>" src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->keepFrame(false)->resize($_imgSize); ?>" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /> </a> <?php // Product description ?> <div class="product-shop"> <div class="f-fix"> <div class="product-primary"> <?php $_productNameStripped = $this->stripTags($_product->getName(), null, true); ?> <h2 class="product-name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $_productNameStripped; ?>"><?php echo $_helper->productAttribute($_product, $_product->getName() , 'name'); ?></a></h2> <?php if($_product->getRatingSummary()): ?> <?php echo $this->getReviewsSummaryHtml($_product) ?> <?php endif; ?> <?php // Provides extra blocks on which to hang some features for products in the list // Features providing UI elements targeting this block will display directly below the product name if ($this->getChild('name.after')) { $_nameAfterChildren = $this->getChild('name.after')->getSortedChildren(); foreach ($_nameAfterChildren as $_nameAfterChildName) { $_nameAfterChild = $this->getChild('name.after')->getChild($_nameAfterChildName); $_nameAfterChild->setProduct($_product); echo $_nameAfterChild->toHtml(); } } ?> </div> <div class="product-secondary"> <?php echo $this->getPriceHtml($_product, true) ?> </div> <div class="product-secondary"> <?php if(!$_product->canConfigure() && $_product->isSaleable()): ?> <p class="action"><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></p> <?php elseif($_product->getStockItem() && $_product->getStockItem()->getIsInStock()): ?> <p class="action"><a title="<?php echo $this->__('View Details') ?>" class="button" href="<?php echo $_product->getProductUrl() ?>"><?php echo $this->__('View Details') ?></a></p> <?php else: ?> <p class="action availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p> <?php endif; ?> <ul class="add-to-links"> <?php if ($this->helper('wishlist')->isAllow()) : ?> <li><a href="<?php echo $this->helper('wishlist')->getAddUrl($_product) ?>" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li> <?php endif; ?> <?php if($_compareUrl=$this->getAddToCompareUrl($_product)): ?> <li><span class="separator">|</span> <a href="<?php echo $_compareUrl ?>" class="link-compare"><?php echo $this->__('Add to Compare') ?></a></li> <?php endif; ?> </ul> </div> <div class="desc std"> <?php echo $_helper->productAttribute($_product, $_product->getShortDescription(), 'short_description') ?> <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $_productNameStripped ?>" class="link-learn"><?php echo $this->__('Learn More') ?></a> </div> </div> </div> </li> <?php endforeach; ?> </ol> <script type="text/javascript">decorateList('products-list', 'none-recursive')</script> <?php else: ?> <?php // Grid Mode ?> <?php $_collectionSize = $_productCollection->count() ?> <?php $_columnCount = $this->getColumnCount(); ?> <ul class="products-grid products-grid--max-<?php echo $_columnCount; ?>-col"> <?php $i=0; foreach ($_productCollection as $_product): ?> <?php /*if ($i++%$_columnCount==0): ?> <?php endif*/ ?> <li class="item<?php if(($i-1)%$_columnCount==0): ?> first<?php elseif($i%$_columnCount==0): ?> last<?php endif; ?>"> <a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" class="product-image"> <?php $_imgSize = 210; ?> <img id="product-collection-image-<?php echo $_product->getId(); ?>" src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize($_imgSize); ?>" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" /> </a> <div class="product-info"> <h2 class="product-name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>"><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></a></h2> <?php // Provides extra blocks on which to hang some features for products in the list // Features providing UI elements targeting this block will display directly below the product name if ($this->getChild('name.after')) { $_nameAfterChildren = $this->getChild('name.after')->getSortedChildren(); foreach ($_nameAfterChildren as $_nameAfterChildName) { $_nameAfterChild = $this->getChild('name.after')->getChild($_nameAfterChildName); $_nameAfterChild->setProduct($_product); echo $_nameAfterChild->toHtml(); } } ?> <?php echo $this->getPriceHtml($_product, true) ?> <?php if($_product->getRatingSummary()): ?> <?php echo $this->getReviewsSummaryHtml($_product, 'short') ?> <?php endif; ?> <div class="actions"> <?php if(!$_product->canConfigure() && $_product->isSaleable()): ?> <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 elseif($_product->getStockItem() && $_product->getStockItem()->getIsInStock()): ?> <a title="<?php echo $this->__('View Details') ?>" class="button" href="<?php echo $_product->getProductUrl() ?>"><?php echo $this->__('View Details') ?></a> <?php else: ?> <p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p> <?php endif; ?> <ul class="add-to-links"> <?php if ($this->helper('wishlist')->isAllow()) : ?> <li><a href="<?php echo $this->helper('wishlist')->getAddUrl($_product) ?>" class="link-wishlist"><?php echo $this->__('Add to Wishlist') ?></a></li> <?php endif; ?> <?php if($_compareUrl=$this->getAddToCompareUrl($_product)): ?> <li><span class="separator">|</span> <a href="<?php echo $_compareUrl ?>" class="link-compare"><?php echo $this->__('Add to Compare') ?></a></li> <?php endif; ?> </ul> </div> </div> </li> <?php /*if ($i%$_columnCount==0 || $i==$_collectionSize): ?> <?php endif*/ ?> <?php endforeach ?> </ul> <script type="text/javascript">decorateGeneric($$('ul.products-grid'), ['odd','even','first','last'])</script> <?php endif; ?> </div> <?php endif; ?> <?php // Provides a block where additional page components may be attached, primarily good for in-page JavaScript if ($this->getChild('after')) { $_afterChildren = $this->getChild('after')->getSortedChildren(); foreach ($_afterChildren as $_afterChildName) { $_afterChild = $this->getChild('after')->getChild($_afterChildName); //set product collection on after blocks $_afterChild->setProductCollection($_productCollection); echo $_afterChild->toHtml(); } } ?>
The only thing iI have changed is I tookout the toolbar but before that they were not showing either am I missing an attribute to my static block code or am I using the wrong file?
Solved! Go to Solution.
You need to edit the style sheet
skin/frontend/RWD/default/css/madisonisland.css
You need to navigate to line 182 and find the following line:
.cms-index-index .products-grid .ratings, .cms-index-index .products-grid .actions, .cms-index-noroute .products-grid .ratings, .cms-index-noroute .products-grid .actions {display:none;}
Either delete the entire line or change too:
.cms-index-index .products-grid .ratings, .cms-index-index .products-grid .actions, .cms-index-noroute .products-grid .ratings, .cms-index-noroute .products-grid .actions {display:block;}
Hello,
Please link to your site with the static block running.
Regards
Hi thanks for the reply it is http://tonicwisdom.com/
wierd I can see the code in the inspect element but it seems to be getting set to display hidden somewhere??
Hello,
I have found it.
The issue is with the new RWD theme - the "actions" block is set to display:none; in madisonisland.css when called on a cms page including your homepage.
Edit your madisonisland.css file and remove display:none; from line 182.
Regards
Hello,
I found your website by using your name.
You are correct, the block is been called but simply been hidden with the css rule
.cms-index-index .products-grid .ratings, .cms-index-index .products-grid .actions, .cms-index-noroute .products-grid .ratings, .cms-index-noroute .products-grid .actions
view above post for fix
thanks checking it out now
Is there actually a reason why it is doing it?
I can not find any posts realted to what you posted one in french lol
Hello,
The CSS rule is built in to the new template as default. It is not an issue or an error.
Purely for the reason that the person who developed the template (Madison Island) decided product grids looked better on the CMS page without the "actions" box.
You need to edit the style sheet
skin/frontend/RWD/default/css/madisonisland.css
You need to navigate to line 182 and find the following line:
.cms-index-index .products-grid .ratings, .cms-index-index .products-grid .actions, .cms-index-noroute .products-grid .ratings, .cms-index-noroute .products-grid .actions {display:none;}
Either delete the entire line or change too:
.cms-index-index .products-grid .ratings, .cms-index-index .products-grid .actions, .cms-index-noroute .products-grid .ratings, .cms-index-noroute .products-grid .actions {display:block;}
cheers I was just hunting for it in the main style.css.
I will let you know if it works