Jump to content

Problèmes thème prestashop_new avec bandeau slider


Shaman

Recommended Posts

Bonjour,

 

j'ai mis le thème prestashop_new, intégré un bandeau animé en JQUERY et j'ai quelques bugs qui me dépassent...

 

D'abord, voici l'adresse : http://kit-deco.com/

 

1. Tout va bien sur la page d'accueil et les pages de catégories mais sur la fiche produit, le bloc catégorie n'affiche plus rien...

 

2. Tout va bien pour le bandeau sauf sur les pages CMS ou il disparait et sur la page contactez-nous où il ne s'affiche qu'à moitié... Le CSS de contactez-nous prend le dessus sur global.css

 

Je suis perdu sur ces deux points.

 

J'avais pris ce thème sur prestashop en juillet où il était indiqué "theme 1.5". Aujourd'hui, il est spécifié thème 1.4.8 aux couleurs 1.5... L'archive a-t-elle changé ou est-ce le même thème ?...

 

Merci d'avance...

 

Je précise que j'ai remarqué un problème d'acces aux CSS et jquery avec des chemins relatifs qui se modifient selon les pages mais je ne sais pas quoi changer....

 

J'ai l'impression qu'il m'apparait /content/ dans certains chemin d'acces de certaines pages entre le nom de domaine et les dossiers (pour les pages CMS)

 

 

A force d'éditer, je vais trouver la solution :)

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

Rebonjour.

 

Tout d'abord concernant les chemins, je vous invite à utiliser de préférence les variables globales de smarty dans vos tpl.

En particulier :

 

{$base_dir}

{$img_ps_dir}

{$js_dir} et à ce propos utilisez les library deja incluses ici plutôt que d'en injecter de nouvelles. Sinon vous aurez de gros soucis sur pas mal de page. C'est peut-être la 5ième fois aujourd'hui que quelqu'un est confronté à un soucis du genre sur le forum.

{$tpl_dir}

etc...

 

Ensuite concernant cet accordeon vertical, il était livré avec le thème ou c'est une implémentation de votre part ?

 

N'oubliez pas de forcer la compilation et n'oubliez pas d'utiliser une classe spécifique si jamais vous êtes amenés à appeler des feuilles de styles dans vos custom code.

Link to comment
Share on other sites

Merci pour votre réponse... j'avais coché le suivi du post mais ça n'a pas marché d'où mon absence de réaction...

 

Je vais explorer les variables globales (je vais d'abord apprendre à les utiliser)...

 

J'ai implémenté l'accordéeon moi-même... le thême installé étant un officiel prestashop de base (clone version 1.5 pour version 1.4.8).

 

Avez-vous vu quelque chose de "mal" en ce qui concerne le bloc categorie qui disparait ?

 

Merci.

Link to comment
Share on other sites

Bonjour.

 

Ca semble être votre injection de jquery qui est un peu trop violente.

En effet visiblement vous le mettez en footer et pour toutes vos pages :

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>

 

Or, comme mentionne dans le block category :

// <![CDATA[
// we hide the tree only if JavaScript is activated
$('div#categories_block_left ul.dhtml').hide();
// ]]>

Aussi, ce div ceçoit la propriété : display:none

au lieu d'un display : block

 

Vous pouvez corriger cela manuellement via firebug en passant en "block" le

categories_block_left

.

 

Essayez donc de supprimer votre include de jquery dont vous ne devriez avoir besoin puisqu'il est déjà intégré par PS, et qui pose soucis notamment pour la page produits avec ses fancybox et ses effets de scroll.

 

Cordialement,

SP.

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

Bonjour,

 

j'ai effectivement remonté mes scripts jquery dans le header, enlevé mon include de jquery.min, du coup, le block catégorie refonctionne normalement mais l'accordeon n'est plus actif, disparait dans les pages CMS et recoit une instruction css de background erroné dans la page "contactez-nous"... Le Jquery de prestashop ne suffit pas ?

 

N'y a-t-il pas moyen pour avoir le jquery actif dans toutes les pages ? sans interférer avec le fonctionnement propre de prestashop...

 

Merci

 

Je viens de comprendre que le /content/ qui apparait pour le CMS est en fait l'endroit où sont stockées les pages CMS (oui, je suis nul ou plutot débutant)... Pouvez-vous me donner un exemple de code de variable que je dois utiliser pour pallier aux changements de chemin ?

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

Bonjour.

 

Il me semble que jquery est présent sur toutes les pages. Dans le cas où ce ne serait pas le cas utilisez de préférence la library qui est présente dans le répertoire "js" de votre racine.

Lorsque vous ajoutez un plugin ou une version "min", vérifiez que ses classes ne sont pas déjà inclues dans la version full : du code non chargé c'est un gain de temps de chargement avéré.

 

Et par précaution, vous pouvez également utiliser la fonction noconflict() afin de minimiser les risques.

Link to comment
Share on other sites

Désolé de faire mon boulet mais je bloque... Je ne trouve pas comment contourner le problème du block catégorie. J'ai bien vu la solution avec firebug mais comment le retranscrire dans le code ?

 

J'ai résolu le problème des pages CMS en mettant l'injection jquery de l'accordéeon en entier "http://www......"

 

Je ne trouve pas comment me passer de ces injections

 

et enfin, je ne comprends pas pourquoi le CSS de contact-form prend le pas sur le CSS de l'accordéon sachant que le H3 du slide a sa propre classe de déclarée dans son CSS...

 

Pitiééééééééé

Link to comment
Share on other sites

Bonjour.

 

Déjà concernant le jquery, il vous faudra de toute façon renseigner l'adresse de plugins que vous utilisez (par exemple chilli, effet ease, jqcookie, etc...), sinon vous risquez de ne pas avoir vos animations additionnelles.

 

Ensuite concernant votre CSS, c'est tout à fait normal que votre H3 hérite des propriétés d'autres feuilles de styles chargées sur la même page. Vous pouvez redéfinir les propriétés dans votre

.va-title {

afin d'annuler celles émises précédemment.

 

Une autre solution qui est plutôt un palliatif et une technique de gain de temps, c'est d'utiliser une iframe pour encapsuler votre menu accordéon. Ainsi quelle que soit la page ce dernier sera toujours isolé des CSS et JS présents. Ensuite en cliquant sur les liens de cette frame, il faudra définir que le click agit sur le _parent

 

Il faut savoir que les iframes ont été fort dépréciées du temps d'xHtml mais qu'elles reviennent en force avec HTML5. Le tout est de mesurer l'impact que cela aura sur votre référencement, mais de toute façon dans la mesure où il s'agit juste d'un menu accordéon, il devrait être minime.

 

 

Donc pour cette dernière méthode (solution de facilité), la procédure est simple : vous travaillez sur une nouvelle page HTML et définissez les liens de celle-ci comme agissant sur le _parent. Dans cette dernière vous mettez votre script avec toutes ses dépendances.

Puis sur votre page presta vous appelez l'iframe afin de l'afficher où bon vous semble. Plus de conflits de dépendances et vous pouvez même afficher plusieurs instances sur une même page.

 

 

En espérant que cela vous aidera,

Cordialement,

SP.

Edited by SiteProjet (see edit history)
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...