Jump to content

pagination on Featured products on the homepage.


Edge_jr

Recommended Posts

Hi,

 

I am displaying my products on featured products on the homepage.

 

I have around 2000 products and I want to show pagination on home page.

 

I did not find this feature in back-office admin.

 

How to implement pagination on featured products on the homepage.

 

Any idea?

 

-Thanks

Link to comment
Share on other sites

Hi,

 

I did the changes as per mention on the post but no result.

 

I have added following in homefeatured.tpl and created the new tpl file paginationHomeFeatured.tpl

 

{*
* 2007-2013 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 [email protected] 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 <[email protected]>
*  @copyright  2007-2013 PrestaShop SA
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}


<!-- MODULE Home Featured Products -->
<div id="featured-products_block_center" class="block products_block clearfix">
<h4 class="title_block">Documents List</h4>
{if isset($products) AND $products}
<div class="block_content">
{assign var='liHeight' value=250}
{assign var='nbItemsPerLine' value=4}
{assign var='nbLi' value=$products|@count}
{math equation="nbLi/nbItemsPerLine" nbLi=$nbLi nbItemsPerLine=$nbItemsPerLine assign=nbLines}
{math equation="nbLines*liHeight" nbLines=$nbLines|ceil liHeight=$liHeight assign=ulHeight}
<ul style="height:{$ulHeight}px;">
{foreach from=$products item=product name=homeFeaturedProducts}
{math equation="(total%perLine)" total=$smarty.foreach.homeFeaturedProducts.total perLine=$nbItemsPerLine assign=totModulo}
{if $totModulo == 0}{assign var='totModulo' value=$nbItemsPerLine}{/if}
<li class="ajax_block_product {if $smarty.foreach.homeFeaturedProducts.first}first_item{elseif $smarty.foreach.homeFeaturedProducts.last}last_item{else}item{/if} {if $smarty.foreach.homeFeaturedProducts.iteration%$nbItemsPerLine == 0}last_item_of_line{elseif $smarty.foreach.homeFeaturedProducts.iteration%$nbItemsPerLine == 1} {/if} {if $smarty.foreach.homeFeaturedProducts.iteration > ($smarty.foreach.homeFeaturedProducts.total - $totModulo)}last_line{/if}">
<a href="{$product.link|escape:'html'}" title="{$product.name|escape:html:'UTF-8'}" class="product_image"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')|escape:'html'}" height="{$homeSize.height}" width="{$homeSize.width}" alt="{$product.name|escape:html:'UTF-8'}" />{if isset($product.new) && $product.new == 1}<span class="new">{l s='New' mod='homefeatured'}</span>{/if}</a>
<h5 class="s_title_block"><a href="{$product.link|escape:'html'}" title="{$product.name|truncate:50:'...'|escape:'htmlall':'UTF-8'}">{$product.name|truncate:35:'...'|escape:'htmlall':'UTF-8'}</a></h5>
<div class="product_desc"><a href="{$product.link|escape:'html'}" title="{l s='More' mod='homefeatured'}">{$product.description_short|strip_tags|truncate:65:'...'}</a></div>
<div>
<a class="lnk_more" href="{$product.link|escape:'html'}" title="{l s='View' mod='homefeatured'}">{l s='View' mod='homefeatured'}</a>
{if $product.show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE}<p class="price_container"><span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span></p>{else}<div style="height:21px;"></div>{/if}


{if ($product.id_product_attribute == 0 OR (isset($add_prod_display) AND ($add_prod_display == 1))) AND $product.available_for_order AND !isset($restricted_country_mode) AND $product.minimal_quantity == 1 AND $product.customizable != 2 AND !$PS_CATALOG_MODE}
{if ($product.quantity > 0 OR $product.allow_oosp)}
<a class="exclusive ajax_add_to_cart_button" rel="ajax_id_product_{$product.id_product}" href="{$link->getPageLink('cart')|escape:'html'}?qty=1&id_product={$product.id_product}&token={$static_token}&add" title="{l s='Add to cart' mod='homefeatured'}">{l s='Add to cart' mod='homefeatured'}</a>
{else}
<span class="exclusive">{l s='Add to cart' mod='homefeatured'}</span>
{/if}
{else}
<div style="height:23px;"></div>
{/if}
</div>
</li>
{/foreach}
</ul>
</div>
{else}
<p>{l s='No documents' mod='homefeatured'}</p>
{/if}
<div class="content_sortPagiBar homefeaturedPaged">
    {include file="paginationHomeFeatured.tpl"}
</div>
</div>


<!-- /MODULE Home Featured Products -->

Any Idea?

 

-Thanks

Edited by edge82 (see edit history)
Link to comment
Share on other sites

  • 6 months later...
  • 2 weeks later...
  • 1 month later...

Are you saying that you've provided a solution in that link?  If so, awesome and thank you.  Would it be possible to get an english translation?  Thanks in advance.

If you see on top of the codes are the names of the files to be changed!

Link to comment
Share on other sites

  • 8 months later...
  • 3 years later...
On 12/15/2013 at 12:45 PM, vekia said:

Hey Vekia, I tried the link, couldnt get it to work for 1.6, others got it working, i get a blank page whenever I replace with this codes on featured.tpl and php

 

public function hookDisplayHome($params)
{
	$controller = new FrontController();
	$controller->productSort();			
	$category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id);
	$nbProducts = $category->getProducts((int)Context::getContext()->language->id, NULL, NULL, 'position', NULL, true);
	$controller->pagination($nbProducts);
	$products = $category->getProducts((int)Context::getContext()->language->id, intval($controller->p), intval($controller->n), $controller->orderBy, $controller->orderWay);
		
	$this->smarty->assign(
		array(
			'products' => $products,
			'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
			'homeSize' => Image::getSize(ImageType::getFormatedName('home')),
			'nb_products' => $nbProducts,
			'id_category' => (int)$category->id,
			'id_category_parent' => (int)$category->id_parent,
			'g_teste' => $_REQUEST,				
		)
	);
		
	return $this->display(__FILE__, 'homefeatured.tpl' ); 
}
{if isset($products) && $products}
	{include file="$tpl_dir./product-list.tpl" class='homefeatured tab-pane' id='homefeatured'}	
	{include file="$tpl_dir./pagination.tpl"} 
{else}
	<ul id="homefeatured" class="homefeatured tab-pane">
		<li class="alert alert-info">{l s='No featured products at this time.' mod='homefeatured'}</li>
	</ul>
{/if}

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...