Jump to content

[RESOLU] Bloc spécial : Changer en design Produits phare


Recommended Posts

Vous passé visiblement par un thème acheté n'ayant pas prévu cela.

Il va donc vous falloir mettre les mains dans le CSS. Et il y a un peu de boulot.

 

Pour cela, n'hésitez pas à comparer les structures HTML des deux blocs et le CSS associés.

Comme le CSS et déjà en place pour les produits phares, vous pourrez vous en sortir à base de copier//coller, mais il va tout de même vous falloir des notions d'html/css.

 

Pour le "avec plus de produits", vous utilisez un module qui par défaut va n'en affiché qu'un (de mémoire...). Pour modifier cela, il faudra aller dans le blockspecials.php dans /modules/blockspecials.php, et modifier la requête retournant les produits.

D'ailleurs, il faudra du coup modifier complètement le .tpl qui affiche les produits, vu qu'il n'est pas prévu pour plusieurs produits (de mémoire...).

 

Tout cela pour dire, qu'il sera peut être plus simple en fait de dupliquer le modules des produits phares x)

Link to comment
Share on other sites

Si tu compare les deux fonctions du module produit phares et du module spécials, qui vont chercher les produits,

tu devrais pouvoir sans trop de souci modifier celle du nouveau module spécials (produits phare dupliqué) pour récupérer les produits en promo.

 

Ca donnerais quelque chose comme ça par exemple :

$number_of_products = 10; //
$special_products = Product::getPricesDrop((int)Context::getContext()->language->id, 0, $number_of_products);
            
$this->smarty->assign(array(
       'special_products' => $special_products
));

Et côté template, tu boucle sur {$special_products}.

Link to comment
Share on other sites

Est-ce qu'il faut que je renomme tout , ou est-ce que je change que ces lignes d'appel de produits ?

 

Merci beaucoup , désolé sans tuto j'ai un peu du mal

 

php :

<?php
/*
* 2007-2012 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-2012 PrestaShop SA
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*/

if (!defined('_PS_VERSION_'))
	exit;

class HomeFeatured extends Module
{
	private $_html = '';
	private $_postErrors = array();

	function __construct()
	{
		$this->name = 'homefeatured';
		$this->tab = 'front_office_features';
		$this->version = '0.9';
		$this->author = 'PrestaShop';
		$this->need_instance = 0;

		parent::__construct();

		$this->displayName = $this->l('Featured Products on the homepage');
		$this->description = $this->l('Displays Featured Products in the middle of your homepage.');
	}

	function install()
	{
		if (!Configuration::updateValue('HOME_FEATURED_NBR', 8) || !parent::install() || !$this->registerHook('displayHome') || !$this->registerHook('header'))
			return false;
		return true;
	}

	public function getContent()
	{
		$output = '<h2>'.$this->displayName.'</h2>';
		if (Tools::isSubmit('submitHomeFeatured'))
		{
			$nbr = (int)(Tools::getValue('nbr'));
			if (!$nbr OR $nbr <= 0 OR !Validate::isInt($nbr))
				$errors[] = $this->l('Invalid number of products');
			else
				Configuration::updateValue('HOME_FEATURED_NBR', (int)($nbr));
			if (isset($errors) AND sizeof($errors))
				$output .= $this->displayError(implode('<br />', $errors));
			else
				$output .= $this->displayConfirmation($this->l('Settings updated'));
		}
		return $output.$this->displayForm();
	}

	public function displayForm()
	{
		$output = '
		<form action="'.Tools::safeOutput($_SERVER['REQUEST_URI']).'" method="post">
			<fieldset><legend><img src="'.$this->_path.'logo.gif" alt="" title="" />'.$this->l('Settings').'</legend>
				<p>'.$this->l('In order to add products to your homepage, just add them to the "home" category.').'</p><br />
				<label>'.$this->l('Number of products displayed').'</label>
				<div class="margin-form">
					<input type="text" size="5" name="nbr" value="'.Tools::safeOutput(Tools::getValue('nbr', (int)(Configuration::get('HOME_FEATURED_NBR')))).'" />
					<p class="clear">'.$this->l('The number of products displayed on homepage (default: 10).').'</p>

				</div>
				<center><input type="submit" name="submitHomeFeatured" value="'.$this->l('Save').'" class="button" /></center>
			</fieldset>
		</form>';
		return $output;
	}

	public function hookDisplayHeader($params)
	{
		$this->hookHeader($params);
	}

	public function hookHeader($params)
	{
		$this->context->controller->addCss($this->_path.'homefeatured.css', 'all');
	}

	public function hookDisplayHome($params)
	{
		$category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id);
		$nb = (int)(Configuration::get('HOME_FEATURED_NBR'));
		$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10));

		$this->smarty->assign(array(
			'products' => $products,
			'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
			'homeSize' => Image::getSize(ImageType::getFormatedName('home')),
		));

		return $this->display(__FILE__, 'homefeatured.tpl');
	}
}

tpl :

{*
* 2007-2012 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-2012 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">{l s='Featured products' mod='homefeatured'}</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}" title="{$product.name|escape:html:'UTF-8'}" class="product_image"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')}" 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}" 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}" title="{l s='More' mod='homefeatured'}">{$product.description_short|strip_tags|truncate:65:'...'}</a></div>
					<div>
						<a class="lnk_more" href="{$product.link}" 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')}?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 featured products' mod='homefeatured'}</p>
	{/if}
</div>
<!-- /MODULE Home Featured Products -->

Link to comment
Share on other sites

Il faut d'abord dupliquer proprement le module home featured. Ça a déjà était fait, et un tuto doit pouvoir se trouver sur le forum je suppose. Par exemple en remplaçant toute les occurrences de homefeatured par homespecials (attention à la casse, nom des fichiers, nom des dossiers, ...)

 

Une fois dupliquer proprement, vous devriez pouvoir l'afficher sur votre site, et donc, de ce fait, avoir deux fois la même chose (pour le moment) d'affiché.

Une fois cela vérifié, il suffira de modifier, dans le .php, les lignes allant chercher les produits, dans la fonction hookDisplayHome, pour les remplacer par ce que je vous ai donné plus haut.

On aurait quelque chose comme cela au final :

public function hookDisplayHome($params)
	{
		$number_of_products = 10; //
$special_products = Product::getPricesDrop((int)Context::getContext()->language->id, 0, $number_of_products);

		$this->smarty->assign(array(
			'products' => $special_products ,
			'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
			'homeSize' => Image::getSize(ImageType::getFormatedName('home')),
		));

		return $this->display(__FILE__, 'homespecial.tpl');
	}

Du côté du template, il ne devrais pas y avoir de problème. Excepté que le css n'agira plus vu qu'il se base sur une id. Il faudra donc dupliquer le css et le basé sur la bonne id. On reviendra sur ce point si c'est pas clair ^^

Link to comment
Share on other sites

Pour l'instant ça marche pas 

 

Php :

 

<?php
/*
* 2007-2012 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-2012 PrestaShop SA
*  @version  Release: $Revision: 7048 $
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*/

if (!defined('_PS_VERSION_'))
	exit;

class Homespecials extends Module
{
	private $_html = '';
	private $_postErrors = array();

	function __construct()
	{
		$this->name = 'homespecials';
		$this->tab = 'front_office_features';
		$this->version = '0.9';
		$this->author = 'PrestaShop';
		$this->need_instance = 0;

		parent::__construct();

		$this->displayName = $this->l('Featured Products on the homepage');
		$this->description = $this->l('Displays Featured Products in the middle of your homepage.');
	}

	function install()
	{
		if (!Configuration::updateValue('HOME_FEATURED_NBR', 8) || !parent::install() || !$this->registerHook('displayHome') || !$this->registerHook('header'))
			return false;
		return true;
	}

	public function getContent()
	{
		$output = '<h2>'.$this->displayName.'</h2>';
		if (Tools::isSubmit('submitHomespecials'))
		{
			$nbr = (int)(Tools::getValue('nbr'));
			if (!$nbr OR $nbr <= 0 OR !Validate::isInt($nbr))
				$errors[] = $this->l('Invalid number of products');
			else
				Configuration::updateValue('HOME_FEATURED_NBR', (int)($nbr));
			if (isset($errors) AND sizeof($errors))
				$output .= $this->displayError(implode('<br />', $errors));
			else
				$output .= $this->displayConfirmation($this->l('Settings updated'));
		}
		return $output.$this->displayForm();
	}

	public function displayForm()
	{
		$output = '
		<form action="'.Tools::safeOutput($_SERVER['REQUEST_URI']).'" method="post">
			<fieldset><legend><img src="'.$this->_path.'logo.gif" alt="" title="" />'.$this->l('Settings').'</legend>
				<p>'.$this->l('In order to add products to your homepage, just add them to the "home" category.').'</p><br />
				<label>'.$this->l('Number of products displayed').'</label>
				<div class="margin-form">
					<input type="text" size="5" name="nbr" value="'.Tools::safeOutput(Tools::getValue('nbr', (int)(Configuration::get('HOME_FEATURED_NBR')))).'" />
					<p class="clear">'.$this->l('The number of products displayed on homepage (default: 10).').'</p>

				</div>
				<center><input type="submit" name="submitHomespecials" value="'.$this->l('Save').'" class="button" /></center>
			</fieldset>
		</form>';
		return $output;
	}

	public function hookDisplayHeader($params)
	{
		$this->hookHeader($params);
	}

	public function hookHeader($params)
	{
		$this->context->controller->addCss($this->_path.'homespecials.css', 'all');
	}

	public function hookDisplayHome($params)
	{
		$number_of_products = 10; //
$special_products = Product::getPricesDrop((int)Context::getContext()->language->id, 0, $number_of_products);

		$this->smarty->assign(array(
			'products' => $special_products ,
			'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
			'homeSize' => Image::getSize(ImageType::getFormatedName('home')),
		));

		return $this->display(__FILE__, 'homespecial.tpl');
	}

tpl

{*
* 2007-2012 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-2012 PrestaShop SA
*  @version  Release: $Revision: 6594 $
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}

<!-- MODULE Home Specials Products -->
<div id="featured-products_block_center" class="block products_block clearfix">
	<h4>{l s='Featured products' mod='homespecials'}</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;">-->
      <ul>
			{foreach from=$products item=product name=homespecialsProducts}
				{math equation="(total%perLine)" total=$smarty.foreach.homespecialsProducts.total perLine=$nbItemsPerLine assign=totModulo}
				{if $totModulo == 0}{assign var='totModulo' value=$nbItemsPerLine}{/if}
				<li class="ajax_block_product {if $smarty.foreach.homespecialsProducts.first}first_item{elseif $smarty.foreach.homespecialsProducts.last}last_item{else}item{/if} {if $smarty.foreach.homespecialsProducts.iteration%$nbItemsPerLine == 0}last_item_of_line{elseif $smarty.foreach.homespecialsProducts.iteration%$nbItemsPerLine == 1} {/if} {if $smarty.foreach.homespecialsProducts.iteration > ($smarty.foreach.homespecialsProducts.total - $totModulo)}last_line{/if}">
					<a href="{$product.link}" title="{$product.name|escape:html:'UTF-8'}" class="product_image"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home')}" 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='homespecials'}</span>{/if}</a>
					<h5><a href="{$product.link}" 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}" title="{l s='More' mod='homespecials'}">{$product.description_short|strip_tags|truncate:65:'...'}</a></div>-->
					<div>
						{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}
						<a class="lnk_more" href="{$product.link}" title="{l s='View' mod='homespecials'}">{l s='View' mod='homespecials'}</a>
						
						{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')}?qty=1&id_product={$product.id_product}&token={$static_token}&add" title="{l s='Add to cart' mod='homespecials'}">{l s='Add to cart' mod='homespecials'}</a>
							{else}
							<span class="exclusive">{l s='Add to cart' mod='homespecials'}</span>
							{/if}
						{else}
							<div style="height:23px;"></div>
						{/if}
            <div class="clearBoth"></div>
					</div>
          <div class="clearBoth"></div>
				</li>
			{/foreach}
			</ul>
      <div class="clearBoth"></div>
		</div>
	{else}
		<p>{l s='No featured products' mod='homespecials'}</p>
	{/if}
</div>
<!-- /MODULE Home Featured Products -->

Link to comment
Share on other sites

ah oui et le css j'ai rien fais , parce que c'est pas du tout sous la même forme que block spécial alors je sais pas 

#featured-products_block_center li {
	background:none #FFF;
	margin:0 7px 8px 0;
	padding:8px 24px;
	width:140px;
}
#featured-products_block_center li.last_item_of_line  {margin-right:0;}
#featured-products_block_center h5 {
	padding-top:5px;
	/*height:30px;*/
	height:20px;
	font-size:12px;
	color:#747882;
	text-align:center;
}
#featured-products_block_center h5 a{
	color:#747882;
}
#featured-products_block_center .product_image {
	display:block;
	position:relative;
	overflow:hidden
}
#featured-products_block_center .product_image span.new {
	display: block;
	position: absolute;
	top: 15px;
	right:-30px;
	padding: 1px 4px;
	width: 101px;
	font-size:10px;
	color: #fff;
	text-align: center;
	text-transform: uppercase;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-o-transform:rotate(45deg);
	-ms-transform: rotate(45deg);
	background-color: #68AC4A;
}

#featured-products_block_center .product_desc {height:45px;}
#featured-products_block_center .product_desc,
#featured-products_block_center .product_desc a {
	color:#666
}
#featured-products_block_center .lnk_more {
	display:block;
	padding:2px 0;
	font-weight:bold;
	font-size:10px;
	color:#747882;
	background:url(img/more-btn-bg.png) repeat-x left top;
	width:60px;
	height:19px;
	line-height:19px;
	border:1px solid #B2B9BF;
	text-align:center;
	float:left;
	/*background:url(img/arrow_right_1.png) no-repeat 100% 3px;*/
}
#featured-products_block_center .lnk_more:hover{
	background:url(img/more-btn-bg.png) repeat-x left bottom;
	text-decoration:none;
}
#featured-products_block_center .price_container {
	text-align:center;
	margin:5px 0;
	padding:0;
}
#featured-products_block_center .price {
	font-weight:bold;
	font-size:14px;
	color:#fe6948;
	/*color:#990000*/
}
#featured-products_block_center li .ajax_add_to_cart_button {
	display:block;
	background:url(img/more-btn-bg.png) repeat-x top left;
	width:58px;
	height:19px;
	line-height:19px;
	float:left;
	border-top:1px solid #B2B9BF;
	border-right:1px solid #B2B9BF;	
	border-bottom:1px solid #B2B9BF;
	padding:2px 3px 2px 8px;
	font-weight:bold;
	font-size:10px;
	color:#747882;
}
#featured-products_block_center li .ajax_add_to_cart_button:hover{
	background:url(img/more-btn-bg.png) repeat-x bottom left;
}
#featured-products_block_center li span.exclusive {
	display:block;
	background:url(img/more-btn-bg.png) repeat-x bottom left;
	width:58px;
	height:19px;
	line-height:19px;
	float:left;
	border-top:1px solid #B2B9BF;
	border-right:1px solid #B2B9BF;	
	border-bottom:1px solid #B2B9BF;
	padding:2px 3px 2px 8px;
	font-weight:bold;
	font-size:10px;
	color:#CCC;
}

Link to comment
Share on other sites

Oublier le CSS et le .tpl pour le moment.

Ce qu'il faut, c'est d'abord réussir à dupliquer votre module et le voir s'afficher dans la liste des modules.

Faite une recherche sur le forum et sur google, vous trouverez surement un post de quelqu'un l'ayant déjà fait.

Une fois cela fait, le reste sera très simple.

Link to comment
Share on other sites

Ouf  merci du conseil en effet il suffisait de ça pour la dupplication : 

 

 

Pour dupliquer un module, je pense qu'il suffit de renommer :


Le nom du dossier
Le nom du fichier php (identique au dossier)
Puis, dans le fichier php, modifier le nom du module à la ligne ressemblant à :
 

class NomDuModule extends TypeDeModule

Puis son nom, un peu en dessous :

$this->name = 'nomdumodule';

 

 

Link to comment
Share on other sites

Ok , il est dans la liste des modules , mais affiche ça : No template found for module homespecials

 
sur le site
 
 
Dans le thèmes dans global css j'ai ajouté après 
 
 
#featured-products_block_center{margin-bottom:0;}
#featured-products_block_center h4{ background:url(../img/sub-head-logo.png) no-repeat left center #edece7; width:95%; border-bottom:1px dashed #CCC; color:#747882; font-size:24px; position:inherit; padding-top:10px; text-shadow:none;}
#featured-products_block_center h4 a{ color:#747882;}
#featured-products_block_center .block_content{padding:5px 0 0; background:none #EDECE7;}
 
 
ça 
 
        #special-products_block_center{margin-bottom:0;}
#special-products_block_center h4{ background:url(../img/sub-head-logo.png) no-repeat left center #edece7; width:95%; border-bottom:1px dashed #CCC; color:#747882; font-size:24px; position:inherit; padding-top:10px; text-shadow:none;}
#special-products_block_center h4 a{ color:#747882;}
#special-products_block_center .block_content{padding:5px 0 0; background:none #EDECE7;}
 
Edited by Miryam68 (see edit history)
Link to comment
Share on other sites

Non ce que je vous ai envoyé, c'est le module homefeatured de base dupliqué correctement, et modifié pour aller cherché les produits en réductions.

 

Bref, la vous avez réussis à avoir vos deux modules apparemment.

Maintenant, vous n'avez plus qu'a vérifier que les .tpl de homefeatured et homespecial sont identique (excepté au niveau des id bien sûr), et à dupliquer le css de homefeatured pour coller à ces id, et vous aurez le même résultat pour les deux modules.

Link to comment
Share on other sites

La structure HTML des deux plugins semble identique.

Ce n'est donc qu'une question de CSS.

Votre module homefeatured a pas mal de css que le module homespecials n'a pas.

Mais comme vous avez la compression CSS activé, difficile de vous dire quelle ligne copié !

Link to comment
Share on other sites

Le plugin homefeatured a un fichier CSS (homefeatured.css).

Le plugin homespecials lui ne l'a pas apparemment. Enfin si, il en existe un (http://www.littleangels.ie/modules/homespecials/homespecials.css) bien que du coup je ne sais pas si vous êtes partit sur mon plugin ou non. 

Quoi qu'il en soit, homespecials n'a pas le bon CSS. Donc vous pouvez copié celui de homefeatured.css, et modifié les id.

Ca devrait être bon avec ca.

Link to comment
Share on other sites

C'est ce que j'ai fais pourtant : 

#block_home_specials li {
	background:none #FFF;
	margin:0 7px 8px 0;
	padding:8px 24px;
	width:140px;
}
#block_home_specials li.last_item_of_line  {margin-right:0;}
#block_home_specials h5 {
	padding-top:5px;
	/*height:30px;*/
	height:20px;
	font-size:12px;
	color:#747882;
	text-align:center;
}
#block_home_specials h5 a{
	color:#747882;
}
#block_home_specials .product_image {
	display:block;
	position:relative;
	overflow:hidden
}
#block_home_specials .product_image span.new {
	display: block;
	position: absolute;
	top: 15px;
	right:-30px;
	padding: 1px 4px;
	width: 101px;
	font-size:10px;
	color: #fff;
	text-align: center;
	text-transform: uppercase;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-o-transform:rotate(45deg);
	-ms-transform: rotate(45deg);
	background-color: #68AC4A;
}

#block_home_specials .product_desc {height:45px;}
#block_home_specials .product_desc,
#block_home_specials .product_desc a {
	color:#666
}
#block_home_specials .lnk_more {
	display:block;
	padding:2px 0;
	font-weight:bold;
	font-size:10px;
	color:#747882;
	background:url(img/more-btn-bg.png) repeat-x left top;
	width:60px;
	height:19px;
	line-height:19px;
	border:1px solid #B2B9BF;
	text-align:center;
	float:left;
	/*background:url(img/arrow_right_1.png) no-repeat 100% 3px;*/
}
#block_home_specials .lnk_more:hover{
	background:url(img/more-btn-bg.png) repeat-x left bottom;
	text-decoration:none;
}
#block_home_specials .price_container {
	text-align:center;
	margin:5px 0;
	padding:0;
}
#block_home_specials .price {
	font-weight:bold;
	font-size:14px;
	color:#fe6948;
	/*color:#990000*/
}
#block_home_specials li .ajax_add_to_cart_button {
	display:block;
	background:url(img/more-btn-bg.png) repeat-x top left;
	width:58px;
	height:19px;
	line-height:19px;
	float:left;
	border-top:1px solid #B2B9BF;
	border-right:1px solid #B2B9BF;	
	border-bottom:1px solid #B2B9BF;
	padding:2px 3px 2px 8px;
	font-weight:bold;
	font-size:10px;
	color:#747882;
}
#block_home_specials li .ajax_add_to_cart_button:hover{
	background:url(img/more-btn-bg.png) repeat-x bottom left;
}
#block_home_specials li span.exclusive {
	display:block;
	background:url(img/more-btn-bg.png) repeat-x bottom left;
	width:58px;
	height:19px;
	line-height:19px;
	float:left;
	border-top:1px solid #B2B9BF;
	border-right:1px solid #B2B9BF;	
	border-bottom:1px solid #B2B9BF;
	padding:2px 3px 2px 8px;
	font-weight:bold;
	font-size:10px;
	color:#CCC;
}

Link to comment
Share on other sites

Le fichier qui contient tout ce css ne semble pas chargé !

Comment s'appelle ce fichier ? Et est-il bien chargé dans le fichier .php de votre module ?

Cf une ligne qui doit ressembler à : $this->context->controller->addCss($this->_path.'homespecials.css', 'all'); 

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...