Jump to content

Tuto/docs expliquant le dev pour prestashop ?


kevin C.

Recommended Posts

Salut a tous,
je suis tout nouveau sur prestashop et j'ai choisi cette solution qui semble excellente pour un dev ecommerce.

Après quelques heures a commencer a bidouiller un peu de css et ouvrir quelques tpl pour voir comment cela tournait, je me pose la question suivante: Y a t-il un tuto ou de la doc existant sur comment developper un theme perso pour prestashop. J'entend par la que je connais deja un peu de php, je suis un grand habitué de wordress mais là en ouvrant les fichiers tpl (extension inconnue auparavent) je ne comprend pas bien la logique.

J'ai vu qu'il était possible d'utiliser des conditions similaires a php, du type {if $var == truc} ... {/if}.

Cependant après une recherche sur le site, le forum et le wiki je ne trouve pas de docs expliquant cette logique.
J'aurais penché pour le guide du developpeur dans le wiki, mais la page est en construction.

D'avance merci de pas taper si ceci a déjà été largement traité.

Francais ou anglais, pas de soucis.


EDIT: Faut toujours que je trouve une fois mon message posté : http://wiki.psfrance.org

Avec la liste des constantes, structures modules etc. Tout bon.

Link to comment
Share on other sites

On peux quand même taper ?


Je sais que tu as déjà tes réponses avec le wiki de psfrance qui est bien complet, mais ce tuto porte plus sur la création de modules que de thèmes.

En fait, il faut retenir que prestashop affiche le contenu du frontoffice en passant exclusivement (à quelques détails près) par des modules. Une boutique installées sans modules n'affichera que le logo. L'affichage lui-même est généré par un gestionnaire de template : smarty. C'est lui qui traite les variables et les conditions de type php (tout ce qui est entre { } est traité par smarty), dans ce qu'on appel des fichiers templates, les .tpl

Une personne qui modifiera le theme n'aura pas à toucher au COMPORTEMENT ou au CONTENU du site, il ne touchera donc à aucun fichier .php, contrairement à une personne voulant modifier ou créer un module. Il modifiera uniquement des tpl, et ces derniers se trouvent à 3 endroits différent.


Dans /themes/nomduthemes/, se trouvent les .tpl des pages principales, c'est eux qui disent qu'on affiche 3 colonnes (ou deux) dans la page d'acceuil, et ils comportent les variables importantes qui "ancrent" les modules à des endroits précis : les HOOK (dans le fichier index.tpl, on ne trouve que $HOOK_HOME, qui signifie que c'est à cet endroit que les modules correspondant à l'affichage de l'accueil devront être affichés).

Dans /modules/nomdumodule/, on peux trouver un ou plusieurs .tpl, c'est l'affichage de base du module, et normalement un designer n'y touche pas, car il existe un troisième emplacement :

/themes/nomduthemes/modules/nomdumodule/ : les fichiers contenus dans ce dossier sont prioritaires sur ceux du dossier précédent. En personnalisant un theme, on préfèrera personnaliser l'affichage des modules dans le dossier du theme actuel que dans le dossier du module (ce qui apportera les modifications sur tous les thèmes.)

Pour le reste, mis à part les conditions et variables, un fichier .tpl, c'est du html


Voila, bon développement !

Link to comment
Share on other sites

Super merci pour cette explication qui meriterait d'etre dans le wiki du site. Je m'y remet des ce soir une fois rentre chez moi.

Ps: desole pour les accents, je suis sur un clavier qwerty la journee et en azerty (fr) seulement le soir, pas evident.

Link to comment
Share on other sites

Je viens de télécharger le module PrestaCycle mais me trouve dans l'impossibilité de le faire tourner. Je l'ai inséré dans le dossier modules, chargé a partir de l'admin, je n'ai rien du tout dans ma liste de modules qui correspond.

Je suis un peu perdu là, si quelqu'un pouvait me donner un coup de main ca serait top.

Link to comment
Share on other sites

Oups, j'avais oublié de checker ce sujet.


Alors, pour ce qui est du dossier des .tpl des modules dans le theme (le chemin /themes/nomdutheme/modules/nomdumodule/), en effet il faut créer les dossier s'ils n'existent pas. De base, il n'y a pas de dossier /modules/ dans le dossier du theme.


Pour ce qui est du module PrestaCycle... Il s'agit d'un module qui as pour vocation de remplacer l'éditorial qu'il y a à la base dans prestashop.

Il faut donc suivre les indications inscrites dans le fichier install.txt présent dans l'archive, elles décrivent exactement ce que tu dois faire, c'est à dire :

prendre le contenu du dossier editorial (qui est un sous-dossier dans l'archive, attention...) et remplacer le contenu du dossier editorial de base de presta (/modules/editorial/). Une fois que c'est fait, c'est de la configuration qu'il faut faire. Ne l'ayant pas testé pour le moment, je ne pourrais pas t'aider plus, mais si tu as fait ce qui est décris dans le fichier install.txt, tu n'as qu'à modifier /modules/editorial/editorial.tpl. MIEUX, tu peux plutôt prendre editorial.tpl et le placer dans l'arborescence du theme : /themes/nomdutheme/modules/editorial/editorial.tpl (les dossier modules et editorial étant à créer ;) )

Bonne installation !

Link to comment
Share on other sites

Encore merci pour les explications Sotew.

Question (bah ouais on va pas s'arreter en chemin): Je cherche a faire ceci:

<?php if ($page_name == index || $page_name == category) { ...} endif ?>

Du coup j'ai essayé:
{if $page_name != index || $page_name != category} ... {/if}

Mais ca ne fonctionne pas pour la seconde page. Par contre si je met uniquement:
{if $page_name != category}
ou
{if $page_name != index}

Ca tourne bien.

Comment faire pour avoir les deux conditions prises en compte ? Si ma page n'est pas index ou category, alors j'affiche le code blabla.

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