Jump to content

[Module] Slideshow Background Homepage


Recommended Posts

Bonjour à tous,

 

Ce module permet d'afficher en homepage un slideshow d'images en background sur votre site.

 

Il est possible de configurer dans l'admin par item :

les images / les miniatures / deux champs de textes traduisibles et un champ de lien.

 

IMPORTANT :

- Pour l'installer il faut créer un hook juste après le body de votre header – lire INSTALLATION.txt – dans le dossier du module.

- Des adaptions au niveau du css sont à prévoir en fonction du thème.

 

Fonctionne de la 1.4 à la 1.5.3. La méthode pour créer un hook diffère pour la 1.5, les infos sont dans INSTALLATION.txt. Pour la 1.4 il est encore temps de chercher dans le forum. ;)

 

V0.2

- une couleur pour le fond est administrable (par item)

- la hauteur maximale pour l'image est de 1000px

 

V0.3

- ajout des configurations auto, speed, timeout, thumbnails

 

V1b

Une version beta est disponible seulement compatible 1.5 et nettement plus moderne. (post #119 et post #127)

slideshowfull.zip

slideshowfull-1b.zip

Edited by Médéric (see edit history)
  • Like 1
Link to comment
Share on other sites

Merci pour vos retours !!

 

@kickflowers. Pouvons-nous accéder à votre site ? Qu'elle est votre version de prestashop ? Avez-vous bien inséré le hook ?

 

Malheureusement, je suis sur une version en local pour un futur site e-commerce.

Je vous met en pièce jointe un print écran de l'insertion du hook dans la BDD.

 

post-381127-0-83490000-1345200627_thumb.jpg

 

Et voici où j'ai intégré le code dans le fichier header.tpl

 

 <div id="page">
  {if $page_name == 'index'}
<div id="slideshow_full">
 {$HOOK_SLIDESHOW_FULL}
</div>
{/if}

  <!-- Header -->

 

Je ne sais pas si je peux vous donner plus d'infos dites moi la démarches à suivre...

 

Merci pour tout ! :)

 

Ah j'oubliais je suis en version 1.4.8.3

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

@kickflowers

 

Pour le hook dans la Bd ça semble bon. Si vous procédez ainsi cela veut dire que c'est bien Prestashop 1.4.x ?

Avez-vous surchargé FrontController.php en ajoutant le nouveau hook ?

 

Dans le header.tpl le bout de code est à insérer juste avant <div id="page" mais le problème ne vient pas de là.

 

 

Et de rien :)

Link to comment
Share on other sites

Oui je suis en version 1.4.8.3 .

Je n'ai pas surchargé Front Controller.php ...

Je viens de modifier l'emplacement dans le header.tpl.

 

Juste pour info dans la doc il y avait marqué :

- Cut and paste the following code just after the <div id="page" > :

 

{if $page_name == 'index'}

<div id="slideshow_full">

{hook h='slideshow_full'}

</div>

{/if}

 

Si j'ai bien compris ça devrait être just before .... non ? :unsure:

Link to comment
Share on other sites

Alors c'est ça - Il vous faut surcharger le FrontController.php

Postez la public function displayHeader() de classes/FrontController.php de votre version de presta, on rajoutera ce qu'il faut pour la surcharge.

 

Autant pour moi, j'ai fais l'erreur dans la doc - c'est bien AVANT la "div page" j'ai corrigé... merci :)

Link to comment
Share on other sites

Alors c'est ça - Il vous faut surcharger le FrontController.php

Postez la public function displayHeader() de classes/FrontController.php de votre version de presta, on rajoutera ce qu'il faut pour la surcharge.

 

Autant pour moi, j'ai fais l'erreur dans la doc - c'est bien AVANT la "div page" j'ai corrigé... merci :)

 

public function displayHeader()
{
 global $css_files, $js_files;
 if (!self::$initialized)
  $this->init();
 // P3P Policies (http://www.w3.org/TR/2002/REC-P3P-20020416/#compact_policies)
 header('P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"');
 /* Hooks are volontary out the initialize array (need those variables already assigned) */
 self::$smarty->assign(array(
  'time' => time(),
  'img_update_time' => Configuration::get('PS_IMG_UPDATE_TIME'),
  'static_token' => Tools::getToken(false),
  'token' => Tools::getToken(),
  'logo_image_width' => Configuration::get('SHOP_LOGO_WIDTH'),
  'logo_image_height' => Configuration::get('SHOP_LOGO_HEIGHT'),
  'priceDisplayPrecision' => _PS_PRICE_DISPLAY_PRECISION_,
  'content_only' => (int)Tools::getValue('content_only')
 ));
 self::$smarty->assign(array(
  'HOOK_HEADER' => Module::hookExec('header'),
  'HOOK_TOP' => Module::hookExec('top'),
  'HOOK_LEFT_COLUMN' => Module::hookExec('leftColumn')
 ));
 if ((Configuration::get('PS_CSS_THEME_CACHE') OR Configuration::get('PS_JS_THEME_CACHE')) AND is_writable(_PS_THEME_DIR_.'cache'))
 {
  // CSS compressor management
  if (Configuration::get('PS_CSS_THEME_CACHE'))
   Tools::cccCss();
  //JS compressor management
  if (Configuration::get('PS_JS_THEME_CACHE'))
   Tools::cccJs();
 }
 self::$smarty->assign('css_files', $css_files);
 self::$smarty->assign('js_files', array_unique($js_files));
 self::$smarty->display(_PS_THEME_DIR_.'header.tpl');
}

 

Est ça que vous voulez ?

Link to comment
Share on other sites

@Kickflowers

 

Parfait, pour votre 1.4.8.3 c'est à coller dans override/classes/FrontController.php (le créer si besoin)

 

j'ai rajouté : 'HOOK_SLIDESHOW_FULL' => Module::hookExec('slideshow_full'), pour qu'il charge bien le hook dans le Front.

 

<?php

class FrontController extends FrontControllerCore
{

public function displayHeader()
{
 global $css_files, $js_files;
 if (!self::$initialized)
  $this->init();
 // P3P Policies (http://www.w3.org/TR/2002/REC-P3P-20020416/#compact_policies)
 header('P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"');
 /* Hooks are volontary out the initialize array (need those variables already assigned) */
 self::$smarty->assign(array(
  'time' => time(),
  'img_update_time' => Configuration::get('PS_IMG_UPDATE_TIME'),
  'static_token' => Tools::getToken(false),
  'token' => Tools::getToken(),
  'logo_image_width' => Configuration::get('SHOP_LOGO_WIDTH'),
  'logo_image_height' => Configuration::get('SHOP_LOGO_HEIGHT'),
  'priceDisplayPrecision' => _PS_PRICE_DISPLAY_PRECISION_,
  'content_only' => (int)Tools::getValue('content_only')
 ));
 self::$smarty->assign(array(
  // New Hook slideshow_full
  'HOOK_SLIDESHOW_FULL' => Module::hookExec('slideshow_full'),
  'HOOK_HEADER' => Module::hookExec('header'),
  'HOOK_TOP' => Module::hookExec('top'),
  'HOOK_LEFT_COLUMN' => Module::hookExec('leftColumn')
 ));
 if ((Configuration::get('PS_CSS_THEME_CACHE') OR Configuration::get('PS_JS_THEME_CACHE')) AND is_writable(_PS_THEME_DIR_.'cache'))
 {
  // CSS compressor management
  if (Configuration::get('PS_CSS_THEME_CACHE'))
Tools::cccCss();
  //JS compressor management
  if (Configuration::get('PS_JS_THEME_CACHE'))
Tools::cccJs();
 }
 self::$smarty->assign('css_files', $css_files);
 self::$smarty->assign('js_files', array_unique($js_files));
 self::$smarty->display(_PS_THEME_DIR_.'header.tpl');
}

}
?>

Link to comment
Share on other sites

Ok ça marche maintenant... Merci, c'est bien ce que je disais, j'avis oublié une étape.

 

Tout semble fonctionnelle je vais pouvoir le tester.

Juste premier retour rapide le z-index était un peu juste pour moi alors je l'ai passé en négatif car mon header n'était plus visible

 

 

 

#slideshow_full {

  • position: fixed;
  • width: 100%;
  • z-index: -1;

}

et je l'ai mis en position fixed.

Merci merci merci :)

Link to comment
Share on other sites

Merci pour ta contribution !

Elle est géniale !

 

En revanche une petite question : comment enlever la limite de 1000 Ko pour un slide ?

EDIT : j'ai posé la question trop vite... Fichier slideshowfull.php ligne 17 (pour ceux que ça intéresse)

 

Par contre j'ai un problème de z-index... Soit je mets -1, les slides sont bien en background mais je ne peux pas cliquer sur les thumbails ou si je mets 1 les slides sont carrément devant mes produits phares...

 

Peux tu m'aider plz ?

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

Merci à tous pour vos retours !! ça fait plaisir :)

 

Merci pour ta contribution !

Elle est géniale !

 

En revanche une petite question : comment enlever la limite de 1000 Ko pour un slide ?

EDIT : j'ai posé la question trop vite... Fichier slideshowfull.php ligne 17 (pour ceux que ça intéresse)

 

Par contre j'ai un problème de z-index... Soit je mets -1, les slides sont bien en background mais je ne peux pas cliquer sur les thumbails ou si je mets 1 les slides sont carrément devant mes produits phares...

 

Peux tu m'aider plz ?

 

Ton site est en ligne ? on peut voir ?

Normalement tu peux laisser le z-index :1 de slideshow_full et mettre une position relative avec un z-index de 2 pour la page et le header s'il n'est pas dedans.

 

Super à tester rapidement !

 

Suggestions d'amélioration : pouvoir choisir des effets différents depuis l'admin du module ?

 

Oui c'est une bonne idée, je vais regarder.

je pense que dans un premier temps serait nécessaire :

- auto

- speed

- timeout

- pager : oui/non

 

 

Très bon module pour l'avoir testé

ce module va être bénéfique à certains non codeur

 

Merci beaucoup !

Link to comment
Share on other sites

Génial l'outil settings mais du coup mes webmasters ont déjà avancé sur votre module lol

 

En tout cas encore bravo et dès que la nouvelle version de mon site est en ligne, je vous met un lien et envoie le don.

 

Au cas où le site vous plait vous pourrez l'utiliser comme démo pour présenter votre module.

Link to comment
Share on other sites

Génial l'outil settings mais du coup mes webmasters ont déjà avancé sur votre module lol

 

En tout cas encore bravo et dès que la nouvelle version de mon site est en ligne, je vous met un lien et envoie le don.

 

Au cas où le site vous plait vous pourrez l'utiliser comme démo pour présenter votre module.

 

Merci beaucoup, j'ai hâte de voir le résultat :)

Link to comment
Share on other sites

Bonjour,

Merci pour votre module, il est extraordinaire !!!

Petite question comment fait ton pour garder le footer ? ,

 

Cordialement Julien

 

Bonjour et merci beaucoup !

 

Pour le footer il suffit sans doute d'ajouter dans votre css :

#footer {z-index:1}

 

Merci à vous je n'avais pas vu sur ma démo...

Edited by Médéric (see edit history)
  • Like 1
Link to comment
Share on other sites

Merci cela fonctionne juste ce qui est dommage c'est que le footer est légèrement lever ..

Si vous avez une astuce pour y remédier ce qui serais génial sinon merci de nous l’offrir gratuitement .

Je vais voir pour vous faire un dons

 

Cordialement Julien

Link to comment
Share on other sites

Merci cela fonctionne juste ce qui est dommage c'est que le footer est légèrement lever ..

Si vous avez une astuce pour y remédier ce qui serais génial sinon merci de nous l’offrir gratuitement .

Je vais voir pour vous faire un dons

 

Cordialement Julien

 

Bonjour,

 

Merci encore pour votre retour.

Sur la démo le footer était levé à cause du bouton de donation qui interférait avec le calcul de la hauteur de la page.

 

Le Bloc réassurance peut gêner (presta 1.5 rc2 - mettre #reinsurance_block li {height:50px}) mais je ne sais pas si le décalage est du à cela pour vous.

 

Votre site est-il accessible ?

il y aura certainement un petit réglage :)

 

Bien à vous

Link to comment
Share on other sites

  • 2 weeks later...

Bonjour Médéric,

J'ai un problème, je ne sais pas comment t'expliquer mais je te donne le lien de mon site

http://www.mediastor....com/fr/accueil

 

On voit bien que le module est présent mais ne s'affiche pas, d'où pourrait parvenir ce problème?

 

Merci de m'aider.

 

Rina

 

Bonjour,

 

J'ai bien vu le javascript et le css chargés mais aucune trace de la <div id="slideshow_full"> juste après le body.

 

Avez-vous bien créé le point d'accroche spécifique pour votre version de Prestashop ? et suivi les étapes décrites dans installation.rtf dans le dossier du module ?

  • Like 1
Link to comment
Share on other sites

Bonjour,

 

J'ai bien vu le javascript et le css chargés mais aucune trace de la <div id="slideshow_full"> juste après le body.

 

Avez-vous bien créé le point d'accroche spécifique pour votre version de Prestashop ? et suivi les étapes décrites dans installation.rtf dans le dossier du module ?

 

Bonjour,

Merci mais je crois que tout a été fait, ci-joint les photos mais rien ne s'affiche sur le site.

 

Pourriez vous me dire où est ce que je me suis planté?

 

Voici les config:

config.jpg

Link to comment
Share on other sites

Bonjour,

 

C'est vrai que tout parait très bien.

 

Ce qui me surprend c'est vraiment de ne pas voir la div id="slideshow_full" qui devrait apparaitre même s'il y a un problème de hook ou encore même si le module ne fonctionnait pas.

 

Pouvez-vous vérifier ça (cache,header.tpl) ? et peut-être insérer la div sans le {if} :

 

<div id="slideshow_full">
{$HOOK_SLIDESHOW_FULL}
</div>

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Bonjour,

 

je suis en 1.4.8.2 et j essaie d intaller votre module , mais j ai une question ?

 

j'ai creé le hook , j'aiinstallé le module , j'ai mis le bout de code dans header.tpl , mais rien apparait ...

 

j'ai vu qu'il fallait surcharger le frontcontroller , et j'ai bien le fichier dans overides/frontcontroler.php , mais je ne sais ou mettre le code indiqué , à qu'elle place , entre koi et koi .....

 

merci d'avance

Link to comment
Share on other sites

Bonjour,

 

Sans la surcharge du frontcontroller le nouveau hook n'est pas chargé.

La procédure est similaire au post #9, #10, #11 et il n'y a pas de différence pour la fonction "display header" entre la 1.4.8.2 et 1.4.8.3.

 

Alors vous pouvez reprendre le code du post #11 sans problème.

 

À bientôt

mb

Link to comment
Share on other sites

voila mon fichier dans override/classes/frontcontroler.php

 

<?php
/*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 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/osl-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: 14009 $
*  @license    http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*/
//
// IMPORTANT : don't forget to delete the underscore _ in the file name if you want to use it !
//
function developpementErrorHandler($errno, $errstr, $errfile, $errline)
{
if (!(error_reporting() & $errno))
 return;
switch($errno)
{
 case E_ERROR:
  echo '[php Error #'.$errno.'] '.$errstr.' ('.$errfile.', line '.$errline.')';
  break;
 case E_WARNING:
  echo '[php Warning #'.$errno.'] '.$errstr.' ('.$errfile.', line '.$errline.')';
  break;
 case E_PARSE:
  echo '[php Parse #'.$errno.'] '.$errstr.' ('.$errfile.', line '.$errline.')';
  break;
 case E_NOTICE:
  echo '[php Notice #'.$errno.'] '.$errstr.' ('.$errfile.', line '.$errline.')';
  break;
 case E_CORE_ERROR:
  echo '[php Core #'.$errno.'] '.$errstr.' ('.$errfile.', line '.$errline.')';
  break;
 case E_CORE_WARNING:
  echo '[php Core warning #'.$errno.'] '.$errstr.' ('.$errfile.', line '.$errline.')';
  break;
 case E_COMPILE_ERROR:
  echo '[php Compile #'.$errno.'] '.$errstr.' ('.$errfile.', line '.$errline.')';
  break;
 case E_COMPILE_WARNING:
  echo '[php Compile warning #'.$errno.'] '.$errstr.' ('.$errfile.', line '.$errline.')';
  break;
 case E_USER_ERROR:
  echo '[php Error #'.$errno.'] '.$errstr.' ('.$errfile.', line '.$errline.')';
  break;
 case E_USER_WARNING:
  echo '[php User warning #'.$errno.'] '.$errstr.' ('.$errfile.', line '.$errline.')';
  break;
 case E_USER_NOTICE:
  echo '[php User notice #'.$errno.'] '.$errstr.' ('.$errfile.', line '.$errline.')';
  break;
 case E_STRICT:
  echo '[php Strict #'.$errno.'] '.$errstr.' ('.$errfile.', line '.$errline.')';
  break;
 case E_RECOVERABLE_ERROR:
  echo '[php Recoverable error #'.$errno.'] '.$errstr.' ('.$errfile.', line '.$errline.')';
  break;
 default:
  echo '[php Unknown error #'.$errno.'] '.$errstr.' ('.$errfile.', line '.$errline.')';
}
die;
return true;
}

class FrontController extends FrontControllerCore
{
public $_memory = array();
public $_time = array();
private static $_footer = true;

public static function disableParentCalls()
{
 self::$_footer = false;
}

private function displayMemoryColor($n)
{
 $n /= 1048576;
 if ($n > 3)
  return '<span style="color:red">'.round($n, 2).' Mb</span>';
 if ($n > 1)
  return '<span style="color:orange">'.round($n, 2).' Mb</span>';
 return '<span style="color:green">'.round($n, 2).' Mb</span>';
}

private function displaySQLQueries($n)
{
 if ($n > 150)
  return '<span style="color:red">'.$n.' queries</span>';
 if ($n > 100)
  return '<span style="color:orange">'.$n.' queries</span>';
 return '<span style="color:green">'.$n.' quer'.($n == 1 ? 'y' : 'ies').'</span>';
}

private function displayLoadTimeColor($n, $kikoo = false)
{
 if ($n > 1)
  return '<span style="color:red">'.round($n, 3).'s</span>'.($kikoo ? '<br />You\'d better run your shop on a toaster' : '');
 if ($n > 0.5)
  return '<span style="color:orange">'.round($n * 1000).'ms</span>'.($kikoo ? '<br />I hope it is a shared hosting' : '');
 return '<span style="color:green">'.round($n * 1000).'ms</span>'.($kikoo ? '<br />Good boy! That\'s what I call a webserver!' : '');
}

private function getTimeColor($n)
{
 if ($n > 4)
  return 'style="color:red"';
 if ($n > 2)
  return 'style="color:orange"';
 return 'style="color:green"';
}

private function getQueryColor($n)
{
 if ($n > 5)
  return 'style="color:red"';
 if ($n > 2)
  return 'style="color:orange"';
 return 'style="color:green"';
}

private function getTableColor($n)
{
 if ($n > 30)
  return 'style="color:red"';
 if ($n > 20)
  return 'style="color:orange"';
 return 'style="color:green"';
}

public function __construct()
{
 // error management
 set_error_handler('developpementErrorHandler');
 ini_set('html_errors', 'on');
 ini_set('display_errors', 'on');
 error_reporting(E_ALL | E_STRICT);

 $this->_memory = array_fill(0, 10, 0);
 $this->_time = array_fill(0, 10, 0);
 // Usually set in the parent constructor, but here I need it to evaluate init()
 $useSSL = $this->ssl;

 if (!self::$_footer)
  return;

 $this->_memory[-3] = memory_get_usage();
 $this->_time[-3] = microtime(true);
 $this->init();
 $this->_memory[-2] = memory_get_usage();
 $this->_time[-2] = microtime(true);
 parent::__construct();
 $this->_memory[-1] = memory_get_usage();
 $this->_time[-1] = microtime(true);
}

public function run()
{
 $this->_memory[0] = memory_get_usage();
 $this->_time[0] = microtime(true);
 $this->preProcess();
 $this->_memory[1] = memory_get_usage();
 $this->_time[1] = microtime(true);
 $this->setMedia();
 $this->_memory[2] = memory_get_usage();
 $this->_time[2] = microtime(true);
 $this->displayHeader();
 $this->_memory[3] = memory_get_usage();
 $this->_time[3] = microtime(true);
 $this->process();
 $this->_memory[4] = memory_get_usage();
 $this->_time[4] = microtime(true);
 $this->displayContent();
 $this->_memory[5] = memory_get_usage();
 $this->_time[5] = microtime(true);
 $this->displayFooter();
}

function ini_get_display_errors()
{
 $a = 'display_errors';
 $b = ini_get($a);
 switch (strtolower($)
 {
  case 'on':
  case 'yes':
  case 'true':
   return 'assert.active' !== $a;
  case 'stdout':
  case 'stderr':
   return 'display_errors' === $a;
  default:
   return (bool)(int)$b;
 }
}
private function sizeofvar($var)
{
 $start_memory = memory_get_usage();  
 $tmp = unserialize(serialize($var));  
 $size = memory_get_usage() - $start_memory;
 return $size;
}

public function displayFooter()
{
 global $start_time;

 if (self::$_footer)
  parent::displayFooter();

 if (!$this->ini_get_display_errors())
  return;

 $this->_memory[6] = memory_get_usage();
 $this->_time[6] = microtime(true);

 $hr = '<hr style="color:#F5F5F5;margin:2px" />';
 $totalSize = 0;
 foreach (get_included_files() as $file)
  $totalSize += filesize($file);

 $totalQueryTime = 0;
 foreach (Db::getInstance()->queriesTime as $time)
  $totalQueryTime += $time;

 $hooktime = Module::getHookTime();
 arsort($hooktime);
 $totalHookTime = 0;
 foreach ($hooktime as $time)
  $totalHookTime += $time;

 $globalSize = array();
 $totalGlobalSize = 0;
 foreach ($GLOBALS as $key => $value)
  if ($key != 'GLOBALS')
  {
   $totalGlobalSize += ($size = $this->sizeofvar($value));
   if ($size > 1024)
 $globalSize[$key] = round($size / 1024, 1);
  }
 arsort($globalSize);

 echo '<br /><br />
 <div class="rte" style="text-align:left;padding:8px;float:left">
  <b>Load time</b>: '.$this->displayLoadTimeColor($this->_time[6] - $start_time, true).'';
 if (self::$_footer)
  echo '
  <ul>
   <li>Config: '.$this->displayLoadTimeColor($this->_time[-3] - $start_time).'</li>
   <li>Init: '.$this->displayLoadTimeColor(($this->_time[-2] - $this->_time[-3])).'</li>
   <li>Constructor: '.$this->displayLoadTimeColor(($this->_time[-1] - $this->_time[-2])).'</li>
   <li>preProcess: '.$this->displayLoadTimeColor(($this->_time[1] - $this->_time[0])).'</li>
   <li>setMedia: '.$this->displayLoadTimeColor(($this->_time[2] - $this->_time[1])).'</li>
   <li>displayHeader: '.$this->displayLoadTimeColor(($this->_time[3] - $this->_time[2])).'</li>
   <li>process: '.$this->displayLoadTimeColor(($this->_time[4] - $this->_time[3])).'</li>
   <li>displayContent: '.$this->displayLoadTimeColor(($this->_time[5] - $this->_time[4])).'</li>
   <li>displayFooter: '.$this->displayLoadTimeColor(($this->_time[6] - $this->_time[5])).'</li>
  </ul>';
 echo '</div>
 <div class="rte" style="text-align:left;padding:8px;float:left;margin-left:20px">
  <b>Hook processing</b>: '.$this->displayLoadTimeColor($totalHookTime).'
  <ul>';
 foreach ($hooktime as $hook => $time)
  echo '<li>'.$hook.': '.$this->displayLoadTimeColor($time).'</li>';
 echo '</ul>
 </div>
 <div class="rte" style="text-align:left;padding:8px;float:left;margin-left:20px">
  <b>Memory peak usage</b>: '.$this->displayMemoryColor(memory_get_peak_usage()).'';
 if (self::$_footer)
  echo '
  <ul>
   <li>Config: '.$this->displayMemoryColor($this->_memory[-3]).'</li>
   <li>Init: '.$this->displayMemoryColor(($this->_memory[-2] - $this->_memory[-3])).'</li>
   <li>Constructor: '.$this->displayMemoryColor(($this->_memory[-1] - $this->_memory[-2])).'</li>
   <li>preProcess: '.$this->displayMemoryColor(($this->_memory[1] - $this->_memory[0])).'</li>
   <li>setMedia: '.$this->displayMemoryColor(($this->_memory[2] - $this->_memory[1])).'</li>
   <li>displayHeader: '.$this->displayMemoryColor(($this->_memory[3] - $this->_memory[2])).'</li>
   <li>process: '.$this->displayMemoryColor(($this->_memory[4] - $this->_memory[3])).'</li>
   <li>displayContent: '.$this->displayMemoryColor(($this->_memory[5] - $this->_memory[4])).'</li><li>displayFooter: '.$this->displayMemoryColor(($this->_memory[6] - $this->_memory[5])).'</li>
  </ul>';
 echo '</div>';

 $countByTypes = '';
 foreach (Db::getInstance()->countTypes as $type => $count)
  if ($count)
   $countByTypes .= '<li>'.$count.' x '.$type.'</li>';
 $countByTypes = rtrim($countByTypes, ' |');

 echo '
 <div class="rte" style="text-align:left;padding:8px;float:left;margin-left:20px">
  <b>SQL Queries</b>: '.$this->displaySQLQueries(Db::getInstance()->count).'
  <ul>'.$countByTypes.'</ul>
  <br /><b>Time spent querying</b>: '.$this->displayLoadTimeColor($totalQueryTime).'
 </div>
 <div class="rte" style="text-align:left;padding:8px;float:left;margin-left:20px">
  <b>Included files</b>: '.sizeof(get_included_files()).'<br />
  <b>Size of included files</b>: '.$this->displayMemoryColor($totalSize).'
 </div>
 <div class="rte" style="text-align:left;padding:8px;float:left;margin-left:20px">
  <b>Globals (> 1 Ko only): '.round($totalGlobalSize / 1024).' Ko</b>
  <ul>';
 foreach ($globalSize as $global => $size)
  echo '<li>'.$global.' ≈ '.$size.' Ko</li>';
 echo '</ul>
 </div>';

 echo '
 <div class="rte" style="text-align:left;padding:8px;clear:both;margin-top:20px">
  <ul>
   <li><a href="#stopwatch">Go to Stopwatch</a></li>
   <li><a href="#doubles">Go to Doubles</a></li>
   <li><a href="#tables">Go to Tables</a></li>
   <li><a href="#includedFiles">Go to included files</a></li>
  </ul>
 </div>
 <div class="rte" style="text-align:left;padding:8px">
 <h3><a name="stopwatch">Stopwatch (with SQL_NO_CACHE)</a></h3>';
 $queries = Db::getInstance()->queriesTime;
 arsort($queries);
 foreach ($queries as $q => $time)
  echo $hr.'<b '.$this->getTimeColor($time * 1000).'>'.round($time * 1000, 3).' ms</b> '.$q;
 echo '</div>
 <div class="rte" style="text-align:left;padding:8px">
 <h3><a name="doubles">Doubles (IDs replaced by "XX")</a></h3>';
 $queries = Db::getInstance()->queries;
 arsort($queries);
 foreach ($queries as $q => $nb)
  echo $hr.'<b '.$this->getQueryColor($nb).'>'.$nb.'</b> '.$q;
 echo '</div>
 <div class="rte" style="text-align:left;padding:8px">
 <h3><a name="tables">Tables stress</a></h3>';
 $tables = Db::getInstance()->tables;
 arsort($tables);
 foreach ($tables as $table => $nb)
  echo $hr.'<b '.$this->getTableColor($nb).'>'.$nb.'</b> '.$table;
 echo '</div>';
 // List of included files
 echo '<div class="rte" style="text-align:left;padding:8px">
 <h3><a name="includedFiles">Included files</a></h3>';
 $i = 1;
 foreach (get_included_files() as $file)
 {
  $file = ltrim(str_replace('\\', '/', str_replace(_PS_ROOT_DIR_, '', $file)), '/');
  $file = '<b style="color: red">'.dirname($file).'/</b><b style="color: blue">'.basename($file).'</b>';
  echo $i.' '.$file.'<br />';
  $i++;
 }
 echo '</div>';
}
}

Link to comment
Share on other sites

ok , donc pour etre sur ne pas faire d'erreur , je recupere le fichier frontcontroler.php dans classes je met un underscore devant et je creer un nouveau fichier frontcontroleur.php avec le code du post #11 , et cela devrais marcher ....

 

désolé de te solliciter mais je débute sur presta

 

merci encore

Link to comment
Share on other sites

Merci encore pour ce magnifique module.

 

Pour info la nouvelle version du site à pris du retard mais le test en preprod est efficace déjà.

 

Dès la sortie de la nouvelle version je posterai un message pour vous montrer.

 

En revanche je suis resté sur la 0.2 car mes webs avaient débuggé certaines choses pour que cela s'adapte bien à notre thème donc la vitesse on l'avait réglé à la main et cela nous convient.

Link to comment
Share on other sites

Merci encore pour ce magnifique module.

 

Pour info la nouvelle version du site à pris du retard mais le test en preprod est efficace déjà.

 

Dès la sortie de la nouvelle version je posterai un message pour vous montrer.

 

En revanche je suis resté sur la 0.2 car mes webs avaient débuggé certaines choses pour que cela s'adapte bien à notre thème donc la vitesse on l'avait réglé à la main et cela nous convient.

 

Les réglages sont faciles d'accès avec la 0.2 quand on connait un peu c'est vrai :)

 

Bon courage pour cette nouvelle version.

Link to comment
Share on other sites

oui en effet j'essaie , mais j'ai encore un probleme , si je reste en z-index: 1 , je ne vois pas ma page , juste le slide et les bouton sont actif , si je passe en -1 , ma page est sur le slide , mais les boutons sont inactif .....

d'autres part , je ne sais comment calculer l'espace centrale de mon slide entre le top de la page et le home page ?

Link to comment
Share on other sites

oui en effet j'essaie , mais j'ai encore un probleme , si je reste en z-index: 1 , je ne vois pas ma page , juste le slide et les bouton sont actif , si je passe en -1 , ma page est sur le slide , mais les boutons sont inactif .....

d'autres part , je ne sais comment calculer l'espace centrale de mon slide entre le top de la page et le home page ?

 

Regardez sur ma page de démo, le header, le footer, les colonnes et le slideshow possèdent un z-index:1.

Vous n'avez aucun contenu dans les colonnes sur votre index, c'est normal ?

 

Avec, pour votre header, footer et slideshow :

 

position:relative;

z-index:1

 

une hauteur spécifiée pour le header et une margin-bottom de +/- 400px vous devriez y voir plus clair :)

Link to comment
Share on other sites

Bonjour à tous ,

 

bon je suis toujours dans l incapacité de mettre en place ce module, même avec vos explication .........je suis noyé dans le css et je suis perdu , à l'aide .......!! pour infos je suis en 1.4.8.2 , theme prestashop , et si je n'est pas de colonne c'est normal car je veux faire sur la home une seule colonne centrale ....... bon pour que vous puissiez voir j'ai remis les 3 colonnes , et je n arrive pas a faire les modif dans le css pour que cela s affiche correctement .......

 

:(

 

1er probleme : l'affichage de la page au-dessus du slider marche mais pas les boutons

2eme probleme : l'ecart entre le top et les colonnes .....

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

Bonjour à tous ,

 

bon je suis toujours dans l incapacité de mettre en place ce module, même avec vos explication .........je suis noyé dans le css et je suis perdu , à l'aide .......!! pour infos je suis en 1.4.8.2 , theme prestashop , et si je n'est pas de colonne c'est normal car je veux faire sur la home une seule colonne centrale ....... bon pour que vous puissiez voir j'ai remis les 3 colonnes , et je n arrive pas a faire les modif dans le css pour que cela s affiche correctement .......

 

:(

 

1er probleme : l'affichage de la page au-dessus du slider marche mais pas les boutons

2eme probleme : l'ecart entre le top et les colonnes .....

 

Vous pouvez mettre en remplaçant si nécessaire dans votre css :

 

#slideshow_full {
position: absolute;
width: 100%;
z-index: 1;
}
#header {
height: 150px;
position: relative;
z-index: 1;
}
#index #columns {
margin-top: 443px;
position: relative;
z-index: 1;
float: left;
}
#footer {
border-top: 1px solid #D0D3D8;
padding: 0.5em 0;
clear: both;
position: relative;
z-index: 1;
float: left;
}

 

Cela devrait être mieux :)

À bientôt

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Coucou, comme promis le site est en prod vous pouvez voir sur www.hitechstore.fr le module en action.

 

Je précise je suis resté en 0.2 mais voici les bugs que l'on a:

 

erreur JS : "Identificateur, chaine ou nombre attendu" - le dev peut constater le bug en prod avec IE7

 

 

Savez vous comment corriger cela car apparemment cette erreur fait buggé le site sous IE et d'autres modules aussi, la nouvelle version corrige t elle le tir ou apporte juste le temps entre les slides?

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

Bonjour, super pour le site !

 

Pour l'erreur avec IE7, Il faut de supprimer la dernière virgule dans l'appel du script (dans slideshowfull.tpl).

 

$(function () {
  // slideshow_full
  $(".rslides1").responsiveSlides({
	auto: {/literal}{$slideshow_full_auto}{literal},
	pager: {/literal}{$slideshow_full_pager}{literal},
	speed: {/literal}{$slideshow_full_speed}{literal},
	timeout: {/literal}{$slideshow_full_timeout}{literal},
	pause: true,
	pauseControls: true
   });	
  var docHeight = $(document).height();
  $(".rslides li").height(docHeight);
});

 

 

Puis dans slideshowfull.css rajouter à :

 

#slideshow_full{
position:absolute;
width:100%;
z-index: 1;
}

 

ceci :

 

#slideshow_full{
position:absolute;
width:100%;
z-index: 1;
top:0;
left:0;
}

 

et il sera aussi nécessaire d'ajuster .rslides_tabs dans le css pour la position horizontal des aperçus.

 

J'essaierai de faire une MAJ du module prochainement.

Link to comment
Share on other sites

Comme d'hab réponse efficace et rapide, j'ai demandé à mes devs de tester cela.

 

Merci encore de votre réactivité.

 

Sinon il est bien mis en application votre module alors? J'ai fait les graphismes moi même mais je ne suis pas graphiste lol

 

 

De rien, avec plaisir :)

 

Je pense que vous pouvez profiter un peu plus de la largeur potentielle de l'écran. Avec un gabarit sous Photoshop et sachant que l'espace central prime, vous pouvez habiller l'accueil encore plus. Mais c'est déjà efficace !

Link to comment
Share on other sites

Bonjour à tous ,

 

voila le module installé sur versions 1.4.8.2 marche super , merci encore d'ailleurs pour votre aide , maintenant je test la toute dernière rellease en 1.5.1 et le module ne fonctionne pas , je n'ai absolument rien changé à ma config ......

avez vous fais une maj du module pour la 1.5.1 , ou y a t il des modifs a faire pour que cela fonctionne ....

 

merci d'avance et à très bientot

Link to comment
Share on other sites

Bonjour à tous ,

 

voila le module installé sur versions 1.4.8.2 marche super , merci encore d'ailleurs pour votre aide , maintenant je test la toute dernière rellease en 1.5.1 et le module ne fonctionne pas , je n'ai absolument rien changé à ma config ......

avez vous fais une maj du module pour la 1.5.1 , ou y a t il des modifs a faire pour que cela fonctionne ....

 

merci d'avance et à très bientot

 

Bonjour,

 

Le module fonctionne avec Prestashop 1.5.1 - aucun problème.

 

La méthode pour le hook est différente depuis la 1.5, avez-vous bien créé celui-ci (voir installation.rtf) ?

Qu'avez-vous comme erreur ?

 

À bientôt

Edited by Médéric (see edit history)
Link to comment
Share on other sites

bonsoir,

j'ai bien suivi le tuto et lu tous les posts mais j'ai toujours une page blanche .....je ne comprends d 'ou viens mon erreur ...merci de me donner un coup de main

 

merci ..

 

Bonjour,

 

Pouvez-vous activer dans config/config.inc.php : @ini_set('display_errors', 'on'); puis nous dire ce qu'il s'affiche à la place de la page blanche.

 

Je pense que cela doit venir de la création du hook. N'hésitez pas à donner des détails (version de Presta., sur le hook, etc.).

Link to comment
Share on other sites

bonjour,

version presta 1.4.6.2

j'ai activé config/config.inc.php : @ini_set('display_errors', 'on') mais aucune erreur n'apparait

j'ai fait exactement la même installation que le post 35 ,j'ai vidé le cache navigateur , tools/cache tools/compile mais toujours rien

j'ai du passe a cote de quelque chose

 

cordialement,

Link to comment
Share on other sites

S'il vous plaît aidez-moi,

où changer et ne pas apparaître banda blanc à gauche.

Module pour afficher vos images en plein écran

Presta Shop version 1.5.1

Mon site www.medicer-bios.ro

 

Bonjour,

 

Il faut déplacer la <div id="slideshow_full"> pour la mettre entre <body> et la <div id="page">.

 

Cordialement

Link to comment
Share on other sites

Bonjour,

Merci pour ce module que nous avons intégré à merveille.

Par contre, les images sont apparemment compressées après import ce qui donne une pixellisation de l'image.

Y-a t'il un moyen de solutionner ce problème?

 

Pour l'instant nous intégrons l'image directement par FTP.

Link to comment
Share on other sites

Bonjour,

Merci pour ce module que nous avons intégré à merveille.

Par contre, les images sont apparemment compressées après import ce qui donne une pixellisation de l'image.

Y-a t'il un moyen de solutionner ce problème?

 

Pour l'instant nous intégrons l'image directement par FTP.

 

Bien intégré, bravo.

 

Nous avons remarqué la même chose en effet une légère compression lors de l'upload des images.

Link to comment
Share on other sites

Bonjour à tous ,

 

et encore un grand merci pour ce module qui fonctionne à merveille , mais avant de mettre le site en ligne , j'ai un problèmes de compatibilité avc IE9 , la page n'apparait pas ......y a t il une manip à effectuer pour résoudre se probléme ?

voici le liens du site sonoachat.informatiqueandco.net..... merci d'avance pour votre aide ...... :)

Link to comment
Share on other sites

Bonjour à tous ,

 

et encore un grand merci pour ce module qui fonctionne à merveille , mais avant de mettre le site en ligne , j'ai un problèmes de compatibilité avc IE9 , la page n'apparait pas ......y a t il une manip à effectuer pour résoudre se probléme ?

voici le liens du site sonoachat.informatiqueandco.net..... merci d'avance pour votre aide ...... :)

 

Bonjour,

 

Vous êtes sûr que cela vient du module ?

Parce qu'il est compatible IE9 :(

 

Avez-vous modifié quelque-chose dans le tpl ou le js ?

Link to comment
Share on other sites

la franchement je vois pas .......si quelqu'un a une idée ......je suis preneur .....

 

 

La page n'est pas totalement chargée, mais les éléments du module oui...

Pouvez-vous le désactiver pour voir ? et si cela confirme que cela vient du module vous pouvez m'envoyer l'archive de celui-ci que je regarde.

Link to comment
Share on other sites

Cest donc dans le header tpl qu'il faut que j'aille voir cela ?

 

le voila ..... mais je ne vois pas ou .....

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{$lang_iso}">
<head>
 <title>{$meta_title|escape:'htmlall':'UTF-8'}</title>
{if isset($meta_description) AND $meta_description}
 <meta name="description" content="{$meta_description|escape:html:'UTF-8'}" />
{/if}
{if isset($meta_keywords) AND $meta_keywords}
 <meta name="keywords" content="{$meta_keywords|escape:html:'UTF-8'}" />
{/if}
 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
 <meta name="generator" content="PrestaShop" />
 <meta name="robots" content="{if isset($nobots)}no{/if}index,follow" />
 <link rel="icon" type="image/vnd.microsoft.icon" href="{$img_ps_dir}favicon.ico?{$img_update_time}" />
 <link rel="shortcut icon" type="image/x-icon" href="{$img_ps_dir}favicon.ico?{$img_update_time}" />
 <script type="text/javascript">
  var baseDir = '{$content_dir}';
  var static_token = '{$static_token}';
  var token = '{$token}';
  var priceDisplayPrecision = {$priceDisplayPrecision*$currency->decimals};
  var priceDisplayMethod = {$priceDisplay};
  var roundMode = {$roundMode};
 </script>
{if isset($css_files)}
{foreach from=$css_files key=css_uri item=media}
<link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
{/foreach}
{/if}
{if isset($js_files)}
{foreach from=$js_files item=js_uri}
<script type="text/javascript" src="{$js_uri}"></script>
{/foreach}
{/if}
 {$HOOK_HEADER}
</head>

<body {if $page_name}id="{$page_name|escape:'htmlall':'UTF-8'}"{/if}>
{if !$content_only}
 {if isset($restricted_country_mode) && $restricted_country_mode}
 <div id="restricted-country">
  <p>{l s='You cannot place a new order from your country.'} <span class="bold">{$geolocation_country}</span></p>
 </div>
 {/if}
 {if $page_name == 'index'}
  <div id="slideshow_full">
  {$HOOK_SLIDESHOW_FULL}
  </div>
  {/if}
 <div id="page">
  <!-- Header -->
  <div id="header">
   <a id="header_logo" href="{$link->getPageLink('index.php')}" title="{$shop_name|escape:'htmlall':'UTF-8'}">
 <img class="logo" src="{$img_ps_dir}logo.jpg?{$img_update_time}" alt="{$shop_name|escape:'htmlall':'UTF-8'}" {if $logo_image_width}width="{$logo_image_width}"{/if} {if $logo_image_height}height="{$logo_image_height}" {/if} />
   </a>
   <div id="header_right">
 {$HOOK_TOP}
   </div>
  </div>
<div id="sf-right">
<a href="/contact-form.php">Pour toutes questions ou commandes contactez-nous au 01 80 85 56 10 .....</a>
</div>
<div id="sf-bandeau">
<img src="/themes/Sonoachat.com/img/Bandeau gris.png"  alt="" >
</div>
  <div id="columns">
   <!-- Left -->
   <div id="left_column" class="column">
 {$HOOK_LEFT_COLUMN}
   </div>
   <!-- Center -->
   <div id="center_column">
{/if}

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

oui je sais , mais je n arrive toujours pas a comprendre d ou viens le probleme ........;..

 

 

 

  <div id="header"><a id="header_logo" href="{$link->getPageLink('index.php')}" title="{$shop_name|escape:'htmlall':'UTF-8'}">	 <img class="logo" src="{$img_ps_dir}logo.jpg?{$img_update_time}" alt="{$shop_name|escape:'htmlall':'UTF-8'}" {if $logo_image_width}width="{$logo_image_width}"{/if} {if $logo_image_height}height="{$logo_image_height}" {/if} /></a><div id="header_right">	 {$HOOK_TOP}</div></div>

 

 

Le problème doit venir d'un des modules du HOOK_TOP.

Si vous ne trouvez pas cela mériterait plutôt un nouveau topic.

Link to comment
Share on other sites

Bonjour

 

Mise en place avec la v1.5.2 mais il est indiqué dans le fichier installation.txt du module de mettre les lignes suivantes :

 

- Cut and paste the following code just before the <div id="page" > : soit couper et coller juste avant la <div id="page" >

 

{if $page_name == 'index'}

<div id="slideshow_full">

{hook h='slideshow_full'}

</div>

{/if}

 

tu l'as trouve ou cette <div id="page" > ?

 

car effectivement cela ne fonctionne pas sans cette opération.

 

Merci

Link to comment
Share on other sites

Bonjour

 

Mise en place avec la v1.5.2 mais il est indiqué dans le fichier installation.txt du module de mettre les lignes suivantes :

 

- Cut and paste the following code just before the <div id="page" > : soit couper et coller juste avant la <div id="page" >

 

{if $page_name == 'index'}

<div id="slideshow_full">

{hook h='slideshow_full'}

</div>

{/if}

 

tu l'as trouve ou cette <div id="page" > ?

 

car effectivement cela ne fonctionne pas sans cette opération.

 

Merci

 

Bonjour,

C'est dans le fichier header.tpl (/themes/votre_theme/header.tpl)

Link to comment
Share on other sites

  • 1 month later...

Bonjour à tous et merci à Mederic pour ce superbe module.. que je n'arrive pas encore à faire fonctionner ! :)

 

J'ai sensiblement le même problème que Laurentg page 3, le slide apparaît devant toutes les couches, si je switch en z-index=0 il apparaît derrière le contenu et perd sa place dans la colonne, tout remonte.

 

Je tente de le faire fonctionner sur un thème acheté et je me perd dans le css.. please help !!

 

Une idée pour un débutant ? ;)

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

Bon avec un peu d'huile de coude j'ai résolu mon problème !

 

Mes z-index présents dans le css du module ne prenaient pas la main sur le header ni le container ni le footer, il a fallu modifier cela dans le global.css.

 

Reste à savoir maintenant comment rendre le container blanc plutôt que transparent.. et faire de joli background :)

 

Merci à vous quand même !

 

EDIT: Parlé un peu trop vite, si je modifie le global css, les paramètres sont valables pour tout le site, c'était donc bien dans le css du module qu'il fallait modifier ça, j'étais perdu à cause du header, du container, du nom de la page index et du footer de leotheme qui n'ont pas le même nom.. (leo-header/leo-page/leo-columns et leo-footer) aussi bête que ça mais bon, hé ho.. J'débute moi ! ;)

 

Thanks pour le module en tout cas, il est d'enfer !

Edited by regular777 (see edit history)
  • Like 1
Link to comment
Share on other sites

(petit monologue quand tu nous tiens)

 

 

Je reviens à la charge, le module fonctionne parfaitement sur chrome et firefox, mais point du tout sur IE9 !

 

J'ai un grand vide blanc de la taille de l'écran puis en dessous viens ma page comme si le module était désactivé..

Là j'ai beau cherché je suis marron !

 

J'utilise bien la dernière version du module, j'ai vérifié le bug IE7 des posts précédents tout à l'air nikel pourtant !

 

 

Someone help ? :)

j'active le site pour que vous puissiez constater, il n'est pas DU TOUT terminé vous l'aurez compris.

.

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

Guest
This topic is now closed to further replies.
×
×
  • Create New...