Jump to content

Override cms - utilisation du jqzoom dans les pages cms


Recommended Posts

Bonjour,

 

Je cherche à utiliser le zoom Jqzoom que l'on a dans les pages produits sur les pages CMS.

J'ai essayé sans succès de mettre en place la solution présentée dans ce post pour la version 1.5 en modifiant le fichier CmsController.php

 

http://www.prestashop.com/forums/topic/124223-resolu-utiliser-le-thickbox-dans-les-pages-cms/

 

[/size][/size][/font][/color]
<?php
class CmsController extends CmsControllerCore {
public function setMedia() {
	parent::setMedia();

	Tools::addCSS(_PS_JS_DIR_.'jquery/plugins/jquery.fancybox.css', 'screen');
	Tools::addJS(array(_PS_JS_DIR_.'jquery/plugins/fancybox/jquery.fancybox.js',
					   _PS_JS_DIR_.'jquery/plugins/jquery.serialScroll.js',
					   _THEME_JS_DIR_.'product.js'));

	if (Configuration::get('PS_DISPLAY_JQZOOM') == 1) {
		Tools::addCSS(_PS_JS_DIR_.'jquery/plugins/thickboxjqzoom.css', 'screen');
		Tools::addJS(_PS_JS_DIR_.'jquery/plugins/jqzoom.js');
	}
}
}?>

 

 

Est ce que vous pensez que cette approche est la bonne ?

D'après vous y a t-il erreur au niveau de l'écriture du fichier CmsController.php ?

 

Merci !

Link to comment
Share on other sites

Bonjour,

 

L'utilisation de plugin à largement été simplifié sur la 1.5 avec l'ajout de la méthode addJqueryPlugin : http://doc.prestashop.com/display/PS15/Using+addJquery(),+addJqueryPlugin()+and+addJqueryUI()

 

Pour ajouter le plugin jQzoom sur les pages cms vous devez ajouter ceci dans le methode setMedia()

 

$this->addJqueryPlugin('jqzoom');

 

Cordialement

Franck

Link to comment
Share on other sites

Bonsoir et merci pour votre réponse,

 

j'ai essayé d'inclure le code en question dans CmsController.php

 

Voici ce que j'ai mis:

 

<?php
class CmsController extends CmsControllerCore {
public function setMedia()
{
$this->addJqueryPlugin('jqzoom');
}
}
?>

 

Mais pour l'instant je n'ai pas de résultat, je passe surement à coté de quelquechose ?

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

Bonsoir,

 

Si vous utilisez l'override il faut rappeler la méthode setMedia parente du controller qui est déjà utilisé dans ce controller, ensuite c'est pas tout d'inclure le plugin il faut aussi savoir l'utiliser, je vous invite a rechercher sur google pour voir comment utiliser ce plugin.

 

Cordialement

Franck

Link to comment
Share on other sites

Bonjour,

 

Merci pour ce coup de main.

 

Pour l'utilisation du plugin, j'ai inclu dans la page CMS :

<p><a class="jqzoom" href="../img/cms/image1.jpg"> <img src="img/cms/image2.jpg" alt="mon image" /> </a></p>

Mais la non plus rien ne se passe...

 

L'erreur ne viendrait-elle pas d'une erreur dans la redaction de ce fichier CmsController.php ? La page CMS est en effet decadrée...

<?php
class CmsController extends CmsControllerCore {
public function setMedia()
{
    $this->addJqueryPlugin('jqzoom');
}
}
?>

Link to comment
Share on other sites

Bonjour,

 

Si biensur que ça vient du cmsController, comme je vous le disais plus haut si vous utilisez l'override (ce qui est très bien) il faut rappeler la fonction parent du controller sans quoi la methode setMedia() et tous sont contenu parent n'est plus inclus.

 

<?php
class CmsController extends CmsControllerCore
{
public function setMedia()
{
 parent::setMedia();
 $this->addJqueryPlugin('jqzoom');
}
}
?>

Link to comment
Share on other sites

J'ai testé la solution. Je vois la petite croix qui indique que le jqzoom est là. Mais je n'ai touhours pas l'effet zoom.

Alors je me dis qu'il faut peut etre rappeler le javascript dans le template cms.tpl .

J'ai tenté cette approche mais sans y reussir.

<script type="text/javascript">
var jqZoomEnabled = {if $jqZoomEnabled}true{else}false{/if};
</script>

Merci encore !

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

  • 4 months later...

Bonjour

si je mets

<?php

class CmsController extends CmsControllerCore

{

public function setMedia()

{

parent::setMedia();

$this->addJqueryPlugin('jqzoom');

}

}

?>

cela met une page blanche pou toutes mes pages cms

 

si je retire le " ?> " de la fin cela refonctionne (mes pages cms s'affichent à nouveau)

 

par contre j'ai bien un aggrandissement de mes images mais il n'y a pas la croix de fermeture ni les flèches pour avvancer et reculer si j'ai une galerie d'images (mises dans un groupe)

 

si quelqu'un peut m'aider merci d'avance

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