Jump to content
Sign in to follow this  
sunpat

Product List page

Recommended Posts

I have a requirement of having Quantity and Attritbute box on product list page on front end. Budget is low but i hope there is someone helpful.

 

Thanks,

Mike

Share this post


Link to post
Share on other sites

you only need to edit the product-list.tpl, and add this for features::

 

 

{foreach from=$product.features item=feature name=features}

<span style="color:red; font-weight:bold">{$feature.name|escape:'htmlall':'UTF-8'}:</span> {$feature.value|escape:'htmlall':'UTF-8'}<br />

{/foreach}

 

and for quantity:

{$product.quantity}

Share this post


Link to post
Share on other sites

Shacker, I tried but i cannot get it to work...It doesnt show anything on the page. Where exactly on the productlist.tpl am i suppose to put the code and what exactly the code is that i am suppose to put? I appreciate your help.

Share this post


Link to post
Share on other sites

Hi,

 

The position of the code in the file product_list.tpl depends on where you want to display the information, below is an example

 

{*
* 2007-2011 PrestaShop
*
* 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.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@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <contact@prestashop.com>
*  @copyright  2007-2011 PrestaShop SA
*  @version  Release: $Revision: 7717 $
*  @license http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}
{if isset($products)}
<!-- Products list -->
<ul id="product_list" class="clear">
{foreach from=$products item=product name=products}
 <li class="ajax_block_product {if $smarty.foreach.products.first}first_item{elseif $smarty.foreach.products.last}last_item{/if} {if $smarty.foreach.products.index % 2}alternate_item{else}item{/if} clearfix">
  <div class="center_block">
<a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} /></a>
<h3>{if isset($product.new) && $product.new == 1}<span class="new">{l s='New'}</span>{/if}<a href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name|truncate:35:'...'|escape:'htmlall':'UTF-8'}</a></h3>
<p class="product_desc"><a href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.description_short|truncate:360:'...'|strip_tags:'UTF-8'|escape:'htmlall':'UTF-8'}">{$product.description_short|truncate:360:'...'|strip_tags:'UTF-8'}</a></p>
{* mod to display features *}
<br />
<div style="float:left;">
{foreach from=$product.features item=feature name=features}
<span style="color:red; font-weight:bold">{$feature.name|escape:'htmlall':'UTF-8'}:</span> {$feature.value|escape:'htmlall':'UTF-8'}<br />
{/foreach}
</div>
{* end of mod *}
  </div>					
  <div class="right_block">
{if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="on_sale">{l s='On sale!'}</span>
{elseif isset($product.reduction) && $product.reduction && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="discount">{l s='Reduced price!'}</span>{/if}
{if isset($product.online_only) && $product.online_only}<span class="online_only">{l s='Online only!'}</span>{/if}
{if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
<div>
 {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}<span class="price" style="display: inline;">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span><br />{/if}
 {if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}<span class="availability">{if ($product.allow_oosp || $product.quantity > 0)}{l s='Available'}{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}{l s='Product available with different options'}{else}{l s='Out of stock'}{/if}</span>{/if}
 {* mod to display quantity available *}
 <br />{if ($product.allow_oosp || $product.quantity > 0)}{$product.quantity}{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}{$product.quantity_all_versions}{/if} {l s='Items available'}
 {* end of mod *}
</div>
{/if}
{if ($product.id_product_attribute == 0 || (isset($add_prod_display) && ($add_prod_display == 1))) && $product.available_for_order && !isset($restricted_country_mode) && $product.minimal_quantity <= 1 && $product.customizable != 2 && !$PS_CATALOG_MODE}
 {if ($product.allow_oosp || $product.quantity > 0)}
  <a class="button ajax_add_to_cart_button exclusive" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart.php')}?add&id_product={$product.id_product|intval}{if isset($static_token)}&token={$static_token}{/if}" title="{l s='Add to cart'}">{l s='Add to cart'}</a>
 {else}
   <span class="exclusive">{l s='Add to cart'}</span>
 {/if}
{/if}
<a class="button" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View'}</a>
{if isset($comparator_max_item) && $comparator_max_item}
 <p class="compare"><input type="checkbox" class="comparator" id="comparator_item_{$product.id_product}" value="comparator_item_{$product.id_product}" {if isset($compareProducts) && in_array($product.id_product, $compareProducts)}checked{/if}/> <label for="comparator_item_{$product.id_product}">{l s='Select to compare'}</label></p>
{/if}
  </div>
 </li>
{/foreach}
</ul>
<!-- /Products list -->
{/if}

 

the two modifcations are

 

{* mod to display features *}
<br />
<div style="float:left;">
{foreach from=$product.features item=feature name=features}
<span style="color:red; font-weight:bold">{$feature.name|escape:'htmlall':'UTF-8'}:</span> {$feature.value|escape:'htmlall':'UTF-8'}<br />
{/foreach}
</div>
{* end of mod *}

 

and

 

 {* mod to display quantity available *}
 <br />{if ($product.allow_oosp || $product.quantity > 0)}{$product.quantity}{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}{$product.quantity_all_versions}{/if} {l s='Items available'}
 {* end of mod *}

 

Pay also attention to the fact that if you want the modifications in the smarty template file to be displayed you should either

 

have Force Compile set to Yes in Back Office > Preferences > Performance > Smarty (do not forget to put it back to no afterwards as it slows down your site)

 

or alternatively delete the compiled file in /tools/smarty/compile in your installation directory

 

Regards,

 

BTConsulting

Share this post


Link to post
Share on other sites

This is wonderfull and also working but how can I manage to show only some of the features and not all?

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More