Jump to content

[Module Gratuit]Diaporama "lightbox" Sur Une Page Fixe


Recommended Posts

Bonjour,

Je vous propose gratuitement ce Module diaporama avec un effet "lightbox" FancyBox c'est à dire que les images sont affichées en vignette et sont agrandies de la même façon que vos produits via fancybox.

 

EDIT 10/11/2013: Mise à jour du module. Il est maintenant compatible version 1.5.6 par contre il perd (provisoirement) sa compatibilité 1.4. La grosse nouveauté est le fait de pouvoir charger plusieurs diaporamas sur plusieurs pages différentes.

 

EDIT 28/02/2013: Je viens de faire une grosse mise à jour du module. Celui-ci n'est plus compatible avec prestahop 1.3. La version est compatible avec prestashop 1.4 et 1.5

Le module a la particularité de faire en sorte que ce diaporama soit visible sur une page fixe de votre site (http://www.votresite.com/diaporama.php en 1.4 et http://www.votresite.com/index.php?controller=diaporama en 1.5).


Installation du module

  • Dézippez le répertoire « crcomdiaporama » sur votre disque dur local
  • Via FTP (logiciel Filezilla par exemple) copiez ce répertoire dans votre répertoire module/ de votre boutique.
  • Une fois installé, vous allez dans la "configuration" du module. Une première page s'est déjà installée automatiquement notée diaporama1
  • Vous voyez un bouton "Ajouter un diaporama". Vous cliquez, si tout va bien, un nouveau diaporama s'est ajouté noté diaporama2 et ainsi de suite...
  • Il ne reste plus qu'à retourner dans le module et à uploader les photos qui devront apparaître sur la page de votre choix (pour chaque photo, vous pouvez sélectionner le diaporama sur lequel vous souhaitez qu'elle apparaisse).

Utilisation du module

Pour ajouter une image, très simplement :
Dans la partie « ajouter une image » cliquez sur parcourir pour aller chercher l’image. Indiquez également la taille de la miniature lui correspondant, éventuellement un petit texte accompagnant l’image et enfin cliquez sur valider. L’image s’ajoute à la liste.
Vous pouvez ajouter autant d’images que vous voulez, les éditer et également les supprimer.


Note concernant les droits des fichiers: le module essaie de copier les fichiers directement dans les répertoires concernés. En théorie, si vous avez des droits 0755 sur votre serveur (ce qui normalement le cas) ça doit suffire. Sinon, si vous avez une erreur lors de la copie des fichiers ou de l'upload d'images, c'est que les droits sont insuffisants dans quel ca sil faudrait mettre 0777. Le mieux étant alors de faire tout en local puis d'envoyer sur le serveur.

TESTS: J'ai testé sur une 1.5.6 en loca et une 1.5.4 sur serveur LINUX. Mais j'attends d'autres retours car j'ai fait très peu de tests. J'attends surtout de voir si il y a des problèmes d'upload. Si vous avez un problème, mettez le display error à ON et copiez le message d'erreur. Inutile d'envoyer un truc du genre "ça marche pas sur mon site, que faire ?", je ne suis pas non plus devin...


MISE A JOUR MAJEURE 1.3 (28/02/2013) :

  • Ré-écriture complète du module avec utilisation de classes crées spécialement (upload et resizeimage).
  • optimisation du code
  • Copie directe des fichiers à l'installation (plus besoin de les copier manuellement)
  • Meilleure gestion des images (type et MIME)
  • Ré-écriture du Controller pour être compatible prestashop 1.4 et 1.5
  • Optimisation du code dans le fichier TPL

 

MISE A JOUR 1.4 (10/11/2013)

  • Le module version 1.4 n'est plus compatible avec la version 1.4 de prestashop. Cela vient du fait qu'il utilise la fonction insert() et update() de Db qui n'existe pas en 1.4. Je vais essayer de corriger ça rapidement dans une version du module 1.4.1
  • Optimisation du code
  • possibilité de charger plusieurs diaporamas sur différentes pages. Chaque image peut être affichée sur n'importe quel diaporama.

 

MISE A JOUR 17/11/2013... CORRECTION GROS BUG...

diaporama.zip

Diaporama_1.2.zip

crcomdiaporama.zip

crcomdiaporama.zip

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

  • 2 weeks later...

Bonjour,

 

Module intéressant. Quelques bug cependant. J'ai dû modifier le "-16" des substr en "-13" dans le fichier crcomdiaporama.php pour que l'installation fonctionne et "logo.gif" en "logo.png". Petit pb également de conflit avec jquery il semblerait...

 

Sinon, Well Done !!

Link to comment
Share on other sites

Bonjour et merci pour votre retour !

 

Effectivement, l'erreur venait de l'utilisation de la variable:

$_SERVER['SCRIPT_NAME']

 

J'ai modifié le code en utilisant la variable:

$_SERVER['DOCUMENT_ROOT']

 

J'ai également corrigé quelques bugs et le logo. Pour le javascript, effectivement je pense qu'il peut y avoir conflit mais je ne suis pas un as du Javascript et je ne sais pas trop comment les éviter...

 

Le nouveau dossier est disponible au téléchargement.

 

@ +

 

Franck

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

Merci pour ce module super sympa !

 

En revanche, une fois installé, mon slider n'apparaît plus sur la page diaporama.php (en vrai il apparaît mais reste en chargement).

 

Comment pourrais-je remédier à celà ?

 

Merci d'avance !

Link to comment
Share on other sites

Une solution est d'enlever le slide sur la page diaporama.php

Dans positions (sous-onglet modules) tu rajoutes une exception à ton module slide en mettant diaporama.php dans exceptions.

De cette façon, le slide n'apparaîtra pas sur la page slide.

Link to comment
Share on other sites

Salut,

Merci pour le module :)

Mais j'ai une erreur en BO configuration

Félicitations, votre module est bien installé et les fichiers diaporama.php et diaporama.tpl sont bien présents sur votre site.
L'adresse de votre diaporama est: http://localhost/prestashop/diaporama.php
Access denied for user 'ODBC'@'localhost' (using password: NO)

je bosse en local sur la 1.5 RC1

@+

pdriss

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

Salut,

Dans crcomdiaporama.php à la ligne 195, il y a un un appel à un script JS qui n'existe pas dans l'archive:

  echo"<script src='".$this->_path."js/jquery.collapsor.js' type='text/javascript'></script>
  <script type='text/javascript'>
  $(function(){
  $('ul a').collapsor();
  $('dl strong').collapsor({sublevelElement:'dl', speed: 1000});
  });
  </script>";

 

@+

Pdriss

Link to comment
Share on other sites

idem que Caprice... Fonctionne très bien et bravo d'ailleurs !!! :) je le cherchais depuis longtemps ! Par contre, perso je dois mettre 2 galleries différentes, une dans chaque page CMS... Du coup, me suis dit je vais voir comment le code est fait pour l'incorporer :) mais pas si simple LOL... je cherche encore...

Link to comment
Share on other sites

Salut,

Je me suis permis d'adapter le module pour Presta 1.5 RC1.

J'ai fait quelques modifications:

 

Ajout d'un dossier "Diapo".

Suppression des images lors de la désinstallation.

Utilisation de fancybox d'origine.

Modification de l'affichage dans le BO.

Modification de l'affichage dans le FO

 

Voila, reste plus que qu'à ajouter la traduction du texte de l'image.

 

@+

pdriss

crcomdiaporama-RC1.zip

Link to comment
Share on other sites

  • 3 weeks later...

bonsoir Franck...

bizarrement, il ne s'installe pas chez moi.

il me dit de vérifier que les deux fichiers soient bien placés.

ce qui est fait...

 

et que mon répertoire img soit sur 777... ce qui est fait aussi.

je n'arrive pas à passer outre ces deux warning...

 

as tu une solution ?

 

merci d'avance,

Link to comment
Share on other sites

  • 2 months later...

Merci pour cette base, je pense l'améliorer puisqu'il manque un champ title pour le référencement de la page et un titre pour la page.

Je pense aussi au redimensionnement de l'image en gardant les proportions puisque la si l'image n'est pas carré elle est déformé et si elle est grande, elle reste telle quelle dans le lightbox.

 

@Otaku surement un conflit jquery entre ton slide et le lightshow du module diaporama.

Si pour le reste de ton site tu utilise le système de zoom de presta, je pense que de le récupérer sur le module diaporama et virer celui d'origine du module devrait résoudre ton probléme.

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

  • 3 months later...

Merci Franck pour ce module et merci aussi à pdriss qui à adapter le module pour la 1.5.

 

J'ai une petite question, avec la version 1.5 le module s'instale correctement je charge les images correctement mais elle ne s'affiche pas sur la page diaporame. J'ai juste le nom de l'image qui sert de lien et lorsqu'on clic dessus on est rediriger automatiquement vers la page index.

 

J'ai un peu chercher et d'après ce que j'ai compris les images sont enregistrée dans modules/crcomdiaporama/diapo/ ce qui est bien le cas. Mais quand je regarde le code de la page générée il l'est recherche dans /img/

 

Le code du tpl m'a l'air de générer le bon lien mais je suis un peu perdue.

 

Auriez-vous une idée de l'endroit ou chercher ou même tout simplement comment résoudre le problème ?

 

Encore merci pour le module

Link to comment
Share on other sites

verifie ton fichier diaporama.tpl

le code doit etre celui-ci (sous reserve que tu utile bien la version presta 1.5X):

{if isset($image)}
<link rel="stylesheet" href="{$base_dir}js/jquery/plugins/fancybox/jquery.fancybox.css" type="text/css" media="screen" />
<link rel="stylesheet" href="{$base_dir}modules/crcomdiaporama/css/crcomdiaporama.css" type="text/css" media="screen" />
<script type="text/javascript" src="{$base_dir}js/jquery/plugins/fancybox/jquery.fancybox.js"></script>
<script type="text/javascript" src="{$theme}js/product.js"></script>
<div id="diaporama" class="block">
<h4>{l s='Slideshow'}</h4>
<ul>
    {foreach from=$image key=k item=v}
 <li>
	 <a style="background-image: none; background-color: #C3C7CB; background-position: 0px 0px; padding: 10px; border-radius: 7px 7px 7px 7px;" class="thickbox" href="{$base_dir}modules/crcomdiaporama/diapo/{$v.lien}" rel="diapo" title="{$v.texte}">
  <img src="{$base_dir}modules/crcomdiaporama/diapo/mini_{$v.lien}" alt="{$v.texte}" title="{$v.texte}" />
  </a>
    </li>
 {/foreach}
</ul>
</div>
{else}
{l s='You must install the module before the slideshow is running!'}
{/if}

Link to comment
Share on other sites

Bonjour,

 

merci pour cette petite apli, je suis en version 1.4.9.0 jais juste le probleme que les imagene s'affiche pas.

jai des liens a la place.

jais tenté de remplacer le fichier tpl par la version rc1 mais cela ne change rien

 

avez vous une stuce svp ?

Link to comment
Share on other sites

Je pense (en fait je suis sûr...) que c'est lié à l'utilisation de echo dans la fonction getcontent() du fichier crcomdiaporama.php.

Il faudrait en fait changer tous les echo du fichier et créer une variable du type $this->output (puis partout ensuite utiliser $this->output.='....'; ) et à la fin faire un:

return $this->output;

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

J'ai essayé de remplacer les echo par des $this->, dans la fonction getcontent() mais du coup, ça ne m'affiche plus que l'entête du module, dans le backoffice (titre + lien vers la page diaporama)...

 

Voici le code, tel que je l'ai modifié:

 

public function getContent()
 {
  $output = '
  <div style="border:solid 1px #aaaaaa;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;margin:10px;padding:10px;">
  <h2>"'.$this->l('Add, edit or delete photos').'"</h2>';
  $this->output;
  $this->FichierExiste('diaporama.php','diaporama.tpl');
  $this->mod();
  if(isset($new_message)){$this->output="<div class='module_confirmation conf confirm'><img src='".$this->_path."img/ok.gif' /> ".$new_message."</div>";}
  if(isset($message)){$this->output="<div class='module_confirmation conf confirm'><img src='".$this->_path."img/ok.gif' /> ".$message."</div>";}
  if(isset($message2)){$this->output="<div class='module_confirmation conf confirm'><img src='".$this->_path."img/ok.gif' /> ".$message2."</div>";}
  if(isset($message3)){$this->output="<div class='module_confirmation conf confirm'><img src='".$this->_path."img/ok.gif' /> ".$message3."</div>";}
  if(isset($message20)&&$message20!=""){$this->output="<div class='alert error'><h3> ".$message20."</h3></div>";}
  $output1 = '
  <div style="width: 100%; margin: auto;">
  ';

  $this->output;

  $db = Db::getInstance();
  $diapo = Db::getInstance()->ExecuteS("select * from "._DB_PREFIX_."CrCom_diaporama_liens order by 'id'");
  foreach ($diapo as $row)
   {
 if(isset($_POST['suppr_'.$row['id'].'']))
    {
	 $id=$_POST['suppr_'.$row['id']];
	 $bla=$row['id'];
	 $sq = "select lien from "._DB_PREFIX_."CrCom_diaporama_liens where id='$bla'";
	 $result = $row['lien'];		
	 $chemin=_PS_MODULE_DIR_;
	 unlink($chemin."crcomdiaporama/diapo/".$result);
	 unlink($chemin."crcomdiaporama/diapo/mini_".$result);
	 $sql= $db->ExecuteS("delete from "._DB_PREFIX_."CrCom_diaporama_liens where id='$bla'");
	 $message=$this->l('Photo deleted!');
    }
 if(isset($_POST['bouton_'.$row['id'].'']))
  {
   if(isset($_POST['texte_'.$row['id'].''])&&$_POST['texte_'.$row['id'].'']!=$row['texte'])
	  {
	   $texte=$_POST['texte_'.$row['id'].''];
	   $sql= $db->ExecuteS("update "._DB_PREFIX_."CrCom_diaporama_liens set texte='$texte' where id='".$row['id']."'");
	   $message3=$this->l('Updated text!');
	  }
   if (!empty($_FILES['diapo_'.$row['id'].'']))
    {
	 if($_FILES['diapo_'.$row['id'].'']['name']!="")
	 {
	 $bla=$row['id'];
	 $sq = "select lien from "._DB_PREFIX_."CrCom_diaporama_liens where id='$bla'";
	 $result = $row['lien'];		
	 $chemin=_PS_MODULE_DIR_;
	 unlink($chemin."crcomdiaporama/diapo/".$result);
	 unlink($chemin."crcomdiaporama/diapo/mini_".$result);
	 $informations=$_FILES['diapo_'.$row['id'].''];
	 $nom=$_FILES['diapo_'.$row['id'].'']['name'];
	 $sql= $db->ExecuteS("update "._DB_PREFIX_."CrCom_diaporama_liens set lien='$nom' where id='".$row['id']."'");

	 $fichier_temporaire=$informations['tmp_name'];
	 $type=$informations['type'];
	 $code_erreur=$informations['error'];
	 if (substr($informations['name'],-4)==".jpg" || substr($informations['name'],-4)==".JPG"||substr($informations['name'],-4)==".png"||substr($informations['name'],-4)==".PNG"||substr($informations['name'],-4)==".gif"||substr($informations['name'],-4)==".GIF")
	  {
	 switch ($code_erreur)
	  {
	   case UPLOAD_ERR_OK:
	   $destination="".$chemin."crcomdiaporama/diapo/".$nom;
	   if (move_uploaded_file($fichier_temporaire,$destination))
	    {
		 $message=$this->l('image update!');
	    }
	   else
	    {
		 $message20=$this->l('problem on the server');
	    }
	   break;
	  }


	 $width=$_POST['width_'.$row['id'].''];
	 $height=$_POST['height_'.$row['id'].''];
	 if($width=="")$width=230;if($height=="")$height=154;

	 if (substr($nom,-4)==".jpg" || substr($nom,-4)==".JPG")
	  {
	   $fichierSource = $chemin."crcomdiaporama/diapo/".$nom;
	   $largeurDestination = $width;
	   $hauteurDestination = $height;
	   $im = imagecreatetruecolor ($largeurDestination, $hauteurDestination)
	   or die ($this->l('Error while creating the image'));
	   $source = imagecreatefromjpeg($fichierSource);
	   $largeurSource = imagesx($source);
	   $hauteurSource = imagesy($source);
	   imagecopyresampled($im, $source, 0, 0, 0, 0, $largeurDestination, $hauteurDestination, $largeurSource, $hauteurSource);
	   $miniature = $chemin."crcomdiaporama/diapo/mini_".$nom;
	   imagejpeg ($im, $miniature,100);
	  }
	 if (substr($nom,-4)==".png" || substr($nom,-4)==".PNG")
	  {
	   $fichierSource = $chemin."crcomdiaporama/diapo/".$nom;
	   $largeurDestination = $width;
	   $hauteurDestination = $height;
	   $im = imagecreatetruecolor ($largeurDestination, $hauteurDestination)
	   or die ($this->l('Error while creating the image'));
	   $source = imagecreatefrompng($fichierSource);
	   $largeurSource = imagesx($source);
	   $hauteurSource = imagesy($source);
	   imagecopyresampled($im, $source, 0, 0, 0, 0, $largeurDestination, $hauteurDestination, $largeurSource, $hauteurSource);
	   $miniature = $chemin."crcomdiaporama/diapo/mini_".$nom;
	   imagepng ($im, $miniature,0);
	  }
	 if (substr($nom,-4)==".gif" || substr($nom,-4)==".GIF")
	  {
	   $fichierSource = $chemin."crcomdiaporama/diapo/".$nom;
	   $largeurDestination = $width;
	   $hauteurDestination = $height;
	   $im = imagecreatetruecolor ($largeurDestination, $hauteurDestination)
	   or die ($this->l('Error while creating the image'));
	   $source = imagecreatefromgif($fichierSource);
	   $largeurSource = imagesx($source);
	   $hauteurSource = imagesy($source);
	   imagecopyresampled($im, $source, 0, 0, 0, 0, $largeurDestination, $hauteurDestination, $largeurSource, $hauteurSource);
	   $miniature = $chemin."crcomdiaporama/diapo/mini_".$nom;
	   imagegif ($im, $miniature,100);

	  }
	 }
	 }
   else
    {
	 $message20=$this->l('This is not a JPG, Gif or Png: transfer aborted.');
	 if($_FILES['diapo_'.$row['id'].'']['name']=="")
	 {
	  $message20="";
	 }
    }
   }
  }
   }
   return $this->output;

 

Je pense qu'on est sur la bonne voie, mais il doit y avoir quelque chose de faux là dedans...

 

A++

Link to comment
Share on other sites

J'ai essayé de remplacer les echo par des $this->, dans la fonction getcontent() mais du coup, ça ne m'affiche plus que l'entête du module, dans le backoffice (titre + lien vers la page diaporama)...

Je pense qu'on est sur la bonne voie, mais il doit y avoir quelque chose de faux là dedans...

 

A++

La chose qui est fausse c'est qu'il faut modifier TOUT les "echo" de crcomdiaporama.php <_<

Voici le fichier modifier en pièce jointe qui fonctionne, j'ai remis la partie pub de l'auteur que tu avait enlevé, (pas cool) ! :angry:

  <div style="width: 100%; margin: auto;">
  <div style="float:left; border:solid 1px #aaaaaa;-moz-border-radius:10px;-webkit-border-radius:10px;border-radius:10px;background:#f8f5e6;margin:10px;padding:10px;width:50%;">
  <h2>"'.$this->l('Slideshow on static page').'"</h2>
  <h3>"'.$this->l('Module developed by').'" <a href="http://www.crcom.fr" target="_blank" style="color:#268CCD">CrCom</a>, "'.$this->l('Internet Development and SEO').'"</h3>
  <p>"'.$this->l('For more information or bug:').'"<br />Mail: <a href="mailto:contact@crcom.">[email protected]</a><br />"'.$this->l('Phone').'" "'.$this->l('+0033472024369').'"<br />
  <a href="http://www.crcom.fr" style="color:#268CCD" target="_blank">http://www.crcom.fr</a>"
  </div>
  ';

@+

Pdriss

 

crcomdiaporama.php

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

Oui je me comprenais ;) dans le sens où il faut envoyer tout le content par une variable via return pour qu'elle s'affiche correctement.

 

Voui,j'me doute que tu te comprenais :D

Je répondais à creations

 

Merci pour la participation ;)

 

Pas de quoi, mais Merci à toi qui à fait le travail, moi j'ai juste "bidouiller" un poil le truc...

Link to comment
Share on other sites

Bonjour,

 

jais installer se module sur ma boutique qui tourne en 1.4.9.0

 

Jais réussi a joindre des photos, mais il ne s'affiche pas sur la page.

 

a la place des photos je me retrouve avec des liens.

 

avez vous une idée svp ?

 

cordialement

Link to comment
Share on other sites

Super module ! Fonctionne très bien sur Presta 1.4.8.2.

Quelqu'un aurait-il réussi à ajouter un onglet dans le menu BackOffice pour accéder directement à la configuration du module ?

Dans le menu je ne sait pas, mais tu peut créer un accès rapide:

Onglet Administration=>Accès rapide=> Creer

Nom : Diaporama

URL : index.php?controller=AdminModules&configure=crcomdiaporama

 

Je profite de ce post pour vous faire partager mes dernières modif du module

Ajout d'un bloc pour le lien vers votre page diaporama.

post-12822-0-37019100-1359635855_thumb.jpg

J'ai été obliger de modifier plusieurs fichier pour la réécriture d'url

Envoyer tout les fichier du zip et réinitialiser le module (ATTENTION:vous perdrez toutes vos images)

Le fichier .tpl ce trouve dans le dossier themes=>default

Au besoin copier le dans votre thème

@+

Pdriss

 

Ps: Pour version de presta 1.5.X

crcomdiaporama-1.5.X.zip

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

  • 3 weeks later...

bonjour,

je suis sur prestashop 1.5.3.1 et après installation j'ai le message d'erreur suivant

 

[PrestaShop] Fatal error in module Unk:

Directive 'magic_quotes_gpc' is deprecated in PHP 5.3 and greater

 

Comment puis-je faire pour résoudre ce problème

 

Merci

Link to comment
Share on other sites

bonjour à tous,

j'ai un soucis avec le module (jai prestshop 1.4.8.2)

je l'ai installé comme ecrit, ai mis le dossier IMG (que j'ai du renommer en IMG2 sinon il fusionnait avec le dossier img du site)

et j'ai toujours le message

Vous devez avoir les droits nécessaires sur le dossier:http://ladamedelys.com/img2 in order to insert images.

Place this folder img2 / in chmod 777 before continuing.

 

 

Alors que pour etre sûr (et par agacement faut le dire) j'ai passé tout le contenu du module en 777.

Bien entendu, j'ai passé en revu tous les fichiers du module pour changer img/ en img2/

J'ai unstaller le module via filezilla

 

Vous auriez une piste pour debloquer la situation svp ?

 

Merci

 

ps : j'ai deja rinitialisé le module ça sert à rien u_u"

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

Moi j'ai eu des problème chez OVH quand j'ai mis du 777 sur un dossier. Apparement par sécurité certaine action ne fonctionnait quand même pas malgré un CHMOD à 777. En réduisant les droit (de manière plus logique) ça marchais.

 

Par contre si le module veut du 777 et rien d'autre... t'es coincé.

 

Pas de chance mon slideshow marche qu'en 1.5x :)

Link to comment
Share on other sites

Oui c'est un souci je pense regarder d'ici peu car effectivement il est plus logique de laisser les droits en 755.

 

Ce que je dois changer, c'est le fait que le module bloque en 755. Il faudrait simplement afficher un message d'alerte.

 

De toute façon, je suis en train de ré-écrire complètement le module de façon beaucoup mieux ordonnée :unsure:

Link to comment
Share on other sites

Voilà, ça y est, depuis le temps que je voulais reprendre l'architecture de ce module, c'est fait !

 

Vous pouvez télécharger la nouvelle version. Elle est entièrement ré-écrite.

 

Pour les détails, reportez-vous au post initial j'ai noté tous les changements avec notamment une compatibilité avec prestashop 1.4 ET 1.5, plus besoin de copier les fichier, le module le fait seul.

 

Merci encore à pdriss pour sa participation active.

 

Le fichier à télécharger se trouve sur le post principal et s'appelle crcomdiaporama.zip.

 

J'attends vos retours !

Link to comment
Share on other sites

  • 2 weeks later...

Petit module impeccable ! Merci beaucoup !

 

Alors si en plus, lors du Pop Up, un bouton "j'aime" (de facebook) ou un bouton Pinterest en sur-impression pouvait être configurable, ça serait le top, et je serai prêt à acheter cela pour quelques dizaines d'euros !

Link to comment
Share on other sites

Ah, j'avais complétement zappé, j'avais fait des modifications sur ce module sur 1.4, voici le lien de ce que j'avais fait avec titre de l'album, commentaire sur chaque photo, pagination et redimensionnement de l'image via un calcul en php : http://www.gravurech...e.com/diaporama

 

Pourrais tu adapter cela au module 1.5 ???

ca serrait vraiment utiles pour beaucoup d'entre nous ;-)

Link to comment
Share on other sites

Bonsoir,

 

J'ai installé et testé votre module sur une 1.5.3 tout fonctionne correctement ;).

 

J'ai deux questions à propos de ce module :

- Pensez-vous intégrer un système de pagination ?

- Est-il est possible d'intégrer un diaporama à l'intérieur d'un autre template ? C'est à dire déplacer l'intérieur du code diaporama.tpl dans un template tiers afin de placer le diapo sur n'importe quelle page. J'ai fait quelques tests mais c'est assez bourrin, pour éviter les doublons de code j'aimerai bien récupérer les méthodes de la class DiaporamaControllerCore (setMedia() et displayContent() ) pour y accéder via un Hook (genre DisplayHeader() pour l'appel du JS et CSS nécessaire) mais je ne sais pas comment faire sous Presta...

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

- A vrai dire, je n'ai... rien prévu... Pour la pagination, à voir on peut en faire en PHP, ou peut-être utiliser la pagination de prestashop.

 

Pour l'intégration, déplacer le code TPL pas de problème. Pour retrouver les variables smarty, il faut copier les actions du controller (setmedia, displaycontent) dans le "nouveau controller". Donc oui ça doit pas poser de problème à mon sens.

 

récupérer les méthodes de la class DiaporamaControllerCore

 

Ce ne sont pas a proprement parler des méthodes de ce controller. Elles sont héritées du frontcontroller où elles sont définies pour l'affichage des css,js d'une part et du contenu.

 

Ben sinon, les appeler directement depuis le frontcontroller ou alors dans un module en greffant par exemple les css,js dans le header avec un hookheader. Tu peux même envoyer les smarty nécessaires (images) dans le header mais par contre simplement tu vas y charger à chaque page alors que t'en as pas besoin partout.

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

En ce qui concerne le passage d'une vignette à l'autre (les flèches à droite et à gauche au survol) il faut ajouter rel="diapo" dans l'ancre de l'image.

 

Pour ceux qui veulent afficher le titre en dessous de la vignette en modal remplacer :

<a class="thickbox" href="{$base_dir}modules/crcomdiaporama/diapo/{$image.lien}" title="{$image.titre}">

 

Par :

<a class="thickbox" {if $image.texte!=''}title="{$image.titre}"{/if} rel="diapo" href="{$base_dir}modules/crcomdiaporama/diapo/{$image.lien}" title="{$image.titre}">

 

Sinon pour appeler setMedia et displaycontent à partir d'un Hook tu as une idée de la synthaxe ?

 

J'ai testé ça mais sa ne convient pas :

 

public function hookDisplayHeader($params) {

$this->context->controller->setMedia();

$this->context->controller->displayContent();

}

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

Enfait c'est ce que j'avais fait mais c'est le doublon de code dont je parlais un peu plus haut, je répète le code des deux méthodes de frontcontroller dans le Hook. C'est pas grave mais c'est pas très propre.

 

En tout cas merci pour le plugin !

;)

Link to comment
Share on other sites

Bonjour, avant tout merci infiniment de mettre à disposition ce module de diaporama qui est exactement ce que je cherchais.

 

en revanche, après une installation et un upload d'images sans message d'erreur, j'ai un affichage assez étonnant de ce genre :

 

http://sophiecepiere.com/diaporama.php

 

Est-ce normal, j'imagine que non, comment y remédier pour ne pas avoir de conflit de mise en page entre les formats portraits et paysages ? (j'ai essayé de changer les tailles des vignettes mais rien ne se passe à part parfois une déformation de ces dernières.

 

Merci par avance.

Link to comment
Share on other sites

Il n'y a aucune erreur.

 

La page affiche les images sous forme de miniatures au moyen de listes à puces avec un float:left pour les afficher l'une à côté de l'autre.

Dès l'instant où les tailles de miniatures sont différentes en hauteur, forcément ça décale.

A vous de charger les photos dans un ordre satisfaisant pour faire apparaître par exemple les photos paysage ensemble et les photos portrait ensemble.

Link to comment
Share on other sites

  • 1 month later...

:( déçue^^ . Tampis je vais laisser tomber l'idée de la galerie pour le moment.

 

Merci.

 

Fancybox n'est pas chargé sur la page galerie alors qu'il l'est sur la page product, c'est un début de piste...

 

Sur chaque page il y a un problème avec javascript (et json visiblement), peut être serait-il pas mal de soit changer de theme, soit de le nettoyer!

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

Bonjour, j'essais d'installer ce module mais j'ai toujours le même problème qui revient.

Les images ne sont pas uploadées dans le dossier diapo ? (ni les vignettes).

Cela ne fonctionne pas sur mon serveur OVH (même en mettant les droits en écriture 777).

Par contre tout fonctionne bien sur mon serveur de test en local. Avez vous une idée de ce qu'il faudrait que je modifie pour que ça fonctionne ?

Merci d'avance pour votre aide.

Link to comment
Share on other sites

Merci pour la réponse, oui les messages d'erreur qui ressortent après l'upload sont :

"Problème sur le serveur: le fichier n'a pu être envoyé"

et "Désolé, mais le type MIME de votre image ne correspond pas. Redimensionnement impossible."

 

Seul les infos textes sont enregistrés (nom et description)

Link to comment
Share on other sites

Bonjour,

 

Merci franck pour ce module vraiment sympa....

Je suis sur la version 1.4.8.2 et tout marche très bien !

 

Tellement bien que j'aimerais dupliquer ce module, pour l'utiliser 2 fois sur mon site, et c'est là que je bloque.

 

J'ai modifié pas mal de noms dans les différents fichiers, c'est bien installé mais quand je clique sur l'album photo la page qui s'affiche m'indique : The requested URL /diaporama2 was not found on this server.

 

PS : j'ai également renommé diaporama en diaporama2 sur pas mal de fichiers, tous je crois !

 

Merci d'avance

 

Ci-joints les fichiers modifiés, oups je n'arrive pas à mettre des fichiers ...

Ma librairie est vide, mon manage attachments est vierge mais pas de bouton upload

 

 

Cordialement

 

 

jimmy

Link to comment
Share on other sites

Génial, super boulot. Fonctionne impec du 1er coup sur 1.5.4.1 ..

 

Juste un truc, je voudrais changer le terme Slideshow en h3 mais je n'y arrive pas, comment je pourrais le faire ? Dans diaporama.tpl ça ne change pas !

Link to comment
Share on other sites

Le cache est désactivé ?

 

Merci, j'ai trouvé. En fait le module est tellement bien fait qu'il y a même les termes dans le module traduction. Donc tout est ok.

 

Merci encore ...

Link to comment
Share on other sites

Bonjour;

 

J'ai installé le module, le nom du fichier diaporama.php à du être modifié en webdiaporama.php (pas génant mais il faut le voir)

Ensuite j'ai une erreur :

Félicitations, votre module est bien installé et les fichiers diaporama.php et diaporama.tpl sont bien présents sur votre site.

L'adresse de votre diaporama est: http://monsite.com/diaporama.php

Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

Et sur la page http://monsite.com/diaporama.php est ecrit :

Il faut installer le module avant que le diaporama ne soit fonctionnel !

 

Prestashop 1.5.4.1

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

  • 2 weeks later...

merci pour ce super module, juste un petit souci, les images s'affichent les une en dessous des autres et non en slide.

j'ai essayé de le repasser sur le thème d'origine mais alors là j'ai un gros message d'erreur.

 

voici le lien: http://ungulanaturalis.com/fr/presse

 

edit:

alors j'ai ajouté le fichier diaporama.tpl au theme par defaut mais toujours pareil, plus de message d'erreur mais les images sont statiques les unes à coté des autres (j'ai réduit les vignettes pour faire un test)

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

Bonjour,

j'ai installé avec succés le module, je peux uploader mes images sans soucis, sauf qu'une fois sur la boutique lorsque je suis sur la page du diapo je n'ai aucune images. Seulement : "There's no images for the moment".

Je ne comprends pas trop puisque des images sont bel et bien placé dans le dossier contenant les images.

 

Edit : en fait cela fonctionne lorsque je clique sur le lien du bloc en page d'accueil ... qui luin'a pas du tout la même url que celle par laquel l'admin me dit pouvoir trouver le diapo. Bref ca fonctionne mais c'est tout de même vraiment bisard.

 

Re-Edit : Je retire ce que j'ai dit, ca fonctionne uniquement si je supprime la réécriture d'Urls, malgré avoir fait la manip donné en premier topic cela ne fonctionne pas et donne donc ce que j'expliquais en premier message. J'ai un presta dernière version donc 1.5.4.1 où je n'ai rien installé de plus que ce qui est proposé dans les modules de l'administration.

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

  • 3 weeks later...

Question bête, vos fichiers sont de quel format (jpg...) et notamment l'extension est-elle en majuscule (.JPG) ?

J'ai essayé en jpg, jpeg, png et gif, toujours en minuscule et rien ne marche.

Merci pour la réponse, oui les messages d'erreur qui ressortent après l'upload sont :

"Problème sur le serveur: le fichier n'a pu être envoyé"

et "Désolé, mais le type MIME de votre image ne correspond pas. Redimensionnement impossible."

 

Seul les infos textes sont enregistrés (nom et description)

 

Bonjour,

 

J'ai exactement le même souci avec mes jpg sorties tout droit de capture nx2. Conversion en jpg (avec xnview) et là, ça passe.

 

Bon, la jpeg est de moins bonne qualité (plus compressée), de 3,2Mo, je passe à 700k, mais suffisant pour ce que je dois faire :)

 

Cdt,

 

Padishah

Link to comment
Share on other sites

  • 1 month later...

Salut à tous, je voulais dire merci pour ce module et rajouter ma petite contribution...

Voilà je trouve que le module est très bien fait mais je l'ai un peu customisé lol

Rien de super bandant, juste un petit rollover en opacité et une mise en page style mosaïque :

 

<!--Affichage des images dans le front office-->

<!-- CSS-->

<style type="text/css">

.fade {

opacity: 1;

transition: opacity .25s ease-in-out;

-moz-transition: opacity .25s ease-in-out;

-webkit-transition: opacity .25s ease-in-out;

}

 

.fade:hover {

opacity: 0.4;

}

</style>

<!-- Fin CSS-->

 

 

{if isset($images)}

<div id="diaporama" class="diaporama">

<h2 style="text-align:center;pading-top:15px;">{l s='LookBook'}</h2>

<ul>

{foreach from=$images item=image name=mesimages}

<li {if $smarty.foreach.mesimages.last}style="float:left;list-style:none;"{else}style="float:left;list-style:none;"{/if} >

<a class="thickbox" href="{$base_dir}modules/crcomdiaporama/diapo/{$image.lien}" title="{$image.titre}">

<img src="{$base_dir}modules/crcomdiaporama/diapo/mini_{$image.lien}" alt="{$image.titre}" title="{$image.titre}" class="fade"/>

</a>

</li>

{/foreach}

</ul>

</div>

{else}

{l s='There\'s no images for the moment'}

{/if}

Link to comment
Share on other sites

  • 2 months later...

Bonjour à tous, merci à franck pour ce module qui semble être super !

Malheureusement les photos ne s'affichent pas en diaporama sur mon site ; voir

 

http://www.legrenierdesbonnesaffaires.fr/diaporama

 

Simples vignettes. j'ai parcouru le post. à un moment donné Séverine semble avoir eu le meme soucis. se serait un conflit java ?

si quelqu'un pourrait jeter un coup d'oeil avec un coup de console pour cette page voir se qui cloche ...

j'ai tenté de désactiver un par un certains autres modules pour voir qui gêne, ca ne change rien.

 

ai je bien pris le bon module ? crcomdiaporama ??? (je suis en 1.5.2). merci d'avance ...

Link to comment
Share on other sites

Bonjour,

Merci franckm1000 pour ce super module qui fonctionne bien en 1.5.4.1.

Il reste un petit problème pour moi que je n'ai pas observé chez les contributeurs de ce topic...

La mise à jour ou création de "Petit texte de l'image:" ne fonctionne pas ^^

- le champ 'texte' existe bien dans la bd, en mode 'debug' j'ai ceci :

[PrestaShopDatabaseException]

Db->executeS() must be used only with select, show, explain or describe queries
at line 470 in file classes/db/Db.php

464. 
465. 		// This method must be used only with queries which display results
466. 		if (!preg_match('#^\s*\(?\s*(select|show|explain|describe|desc)\s#i', $sql))
467. 		{
468. 			if (defined('_PS_MODE_DEV_') && _PS_MODE_DEV_)
469. 				throw new PrestaShopDatabaseException('Db->executeS() must be used only with select, show, explain or describe queries');
470. 			return $this->execute($sql, $use_cache);
471. 		}
472. 
473. 		$this->result = false;
474. 		$this->last_query = $sql;

    DbCore->executeS - [line 257 - modules/crcomdiaporama/crcomdiaporama.php] - [1 Arguments]

    251. 					if(Tools::isSubmit('bouton_'.$row['id']))
    252. 						{
    253. 							if(Tools::isSubmit('texte_'.$row['id'])&&Tools::getValue('texte_'.$row['id'])!=$row['texte'])
    254. 								{
    255. 									$texte=Tools::getValue('texte_'.$row['id']);
    256. 									$sql= $db->ExecuteS("update "._DB_PREFIX_."CrCom_diaporama_liens set texte='$texte' where id=".$row['id']);
    257. 									$this->output.=$this->displayConfirmation($this->l('Updated text!'));
    258. 								}
    259. 							if(Tools::isSubmit('titre_'.$row['id'])&&Tools::getValue('titre_'.$row['id'])!=$row['titre'])
    260. 								{
    261. 									$texte=Tools::getValue('texte_'.$row['id']);

    Argument [0]
    update eo_CrCom_diaporama_liens set texte='aaaa' where id=3

    CrComDiaporama->getContent - [line 675 - controllers/admin/AdminModulesController.php] - [0 Argument]
    AdminModulesControllerCore->postProcessCallback - [line 795 - controllers/admin/AdminModulesController.php] - [0 Argument]
    AdminModulesControllerCore->postProcess - [line 158 - classes/controller/Controller.php] - [0 Argument]
    ControllerCore->run - [line 349 - classes/Dispatcher.php] - [0 Argument]
    DispatcherCore->dispatch - [line 50 - admin/index.php] - [0 Argument]

Alors je pense que la DB class qui a changé récemment doit être mise à jour...

En ligne 256 la methode 'ExecuteS()' apparement ne s'applique qu' à 'insert()':

$sql= $db->ExecuteS("update "._DB_PREFIX_."CrCom_diaporama_liens set texte='$texte' where id=".$row['id']);

Alors j'ai essayé de modifier par :

$sql= $db->update(_DB_PREFIX_."CrCom_diaporama_liens set titre='$titre' where id=".$row['id']);

 mais ce n'est pas bon :(

Je sèche là... quelqu'un aurait-il la solution ? merci merci

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

  • 2 weeks later...

Merci, j'ai trouvé. En fait le module est tellement bien fait qu'il y a même les termes dans le module traduction. Donc tout est ok.

 

Merci encore ...

Bonjour,

Merci pour ce module, gratuit de surcroît.

Petite question pour le h3 "Slideshow", que j'aimerais modifier.

J'ai cherché un peu partout dans les fichiers de traductions et je n'ai rien trouvé.

Un peu d'aide...

D'avance merci,

-sam

Link to comment
Share on other sites

  • 2 weeks later...

Hello la communauté !

Plus beaucoup actif sur le forum car hélas (enfin heureusement...) beaucoup trop de job.

J'ai prit le temps de mettre à jour le module. Je l'ai testé sur la 1.5.6 il marche très bien.

Inutile de tester sur une 1.4, il ne marche pas. En cause: j'ai utilisé les méthodes Db insert() et update() qui n'existent pas en 1.4.

J'essaierai de prendre le temps de spécialiser cette partie (toutes les autres le sont...) pour que ça passe en 1.4. Celui que ça amusera de faire sera le bienvenu :)

La grande nouveauté : vous pouvez créer autant de pages pour votre diaporama et pas seulement 1. A l'installation, le module créé une page pour vos images.

Mais vous pouvez ensuite en créer autant que vous voulez. Il vous suffit quand vous enregistrez une image de spécifier via une liste déroulante dans quel diaporama vous voulez l'exécuter. Vous pourrez ensuite lors de l'update de vos images les faire inter-changer de diaporama comme vous voulez.

Je n'ai pas eu le temps de beaucoup le tester. Donc tous les retours seront les bienvenus. Si vous constatez un problème, merci de répondre sur ce post, j'essaieari de corriger les bugs au fur et à mesure.

 

N'oubliez pas d'activer le rapport d'erreurs et de le copier pour pouvoir corriger. Inutile de mettre un truc du genre "l'upload ne fonctionne pas, pourquoi ?"

Téléchargement sur le post initial.

Link to comment
Share on other sites

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