Jump to content

Premiers pas avec prestashop


Recommended Posts

Bonjour à tous,

Préambule : Je débute avec Prestashop... ;-)

J'ai commencé l'élaboration d'un premier template (en modifiant celui fournit par défaut).

Mon premier objectif a été de présenter les sous-catégories dans un menu élastique avec le script suivant :
http://www.jeremymartin.name/examples/kwicks.php?example=1 (utilisant JQuery)

Et voici ce que je suis arrivé à faire http://prestashop.votre-web.com/category.php?id_category=2

Toutefois afin d'arrivé à mes fin j'ai dû intervenir directement sur /category.php c'est à dire un fichier extérieur à mon répertoire de template afin d'ajouter une feuille de style d'une part mais également deux fichiers js.

$css_files = array(__PS_BASE_URI__.'css/jquery.cluetip.css' => 'all', _THEME_CSS_DIR_.'scenes.css' => 'all', _THEME_CSS_DIR_.'kwicks.css' => 'all');
$js_files =array( __PS_BASE_URI__.'js/jquery/jquery.innerfade.js',_THEME_JS_DIR_.'jquery.kwicks-1.5.1.pack.js',_THEME_JS_DIR_.'subcategory.kwicks.init.js');




1 - Quel est le moyen propre pour tout faire aux niveaux du template histoire qu'il soit réutilisable ailleurs sans touché au code source de /category.php ?


Sinon autre petite remarque/suggestions/incompréhension :
2 - Les images de catégories sont retaillées avec ajout de marges/fond perdu en blanc. Ce qui ne convient pas pour mon usage. Je pense que lorsque l'on créer un nouveau format d'image il faudrait avoir le choix entre plusieurs mode de redimensionnement 'defaut, rognage+centrage, rognage+redimensionnement, étirrement, etc...). Est-ce que ce genre de nouvelle fonctionnalité peut être implémentée via le mécanisme de module? si oui une piste?

3 - Peut-on ajouter des champs à une catégories de manière à par exemple associer une couleur à chaque catégorie depuis le BO? Faisable via un nouveau module pour le BO? Si oui une piste pour débuté dans ce sens?

4 - Comme je l'ai déjà évoqué dans un autre post de ce forum je souhaiterai également pouvoir associer plusieurs images d'illustration à une même catégorie. Ce que l'on ne peut a priori pas faire à l'heure actuelle. Toujours pareil, est-ce que cela est faisable via un nouveau module BO qui ajouterai des champs de type "file" au niveau du formulaire d'édition d'une catégorie?



En tout cas merci à la prestateam et sa communautée pour ce fabuleux projet, je regrette juste de ne pas l'avoir découvert plus tôt ;-)


Bien entendu je publiai le code pour le menu élastique sur ce forum dès que j'aurais mis le tout au propre... bien que pour l'instant je ne sache pas encore réellement comment faire "propre".

Link to comment
Share on other sites

  • 2 weeks later...

Salut j'éssaye de mettre ce menu dans mon header,
mais lorsque j'ajoute

[removed]
$().ready(function() {
$('.kwicks').kwicks({
max : 220,
spacing : 5
});
});
[removed]

dans le header, j'obtiens une erreur :

Fatal error: Smarty error: [in /home/casse-noisettes.be/htdocs/shop/themes/prestashop/header.tpl line 39]: syntax error: unrecognized tag: $('.kwicks').kwicks({ max : 220, spacing : 5 (Smarty_Compiler.class.php, line 446) in /home/casse-noisettes.be/htdocs/shop/tools/smarty/Smarty.class.php on line 1095



Vous avez une idée ?

Link to comment
Share on other sites

Attention si l'on veux mettre des accolades javascript dans un fichier de template de smarty il faut échapper les accolades... voir la doc de smarty.

C'est pourquoi je pense qu'il est plus simple de passer par une inclusion javascript via

$js_files =array( __PS_BASE_URI__.'js/jquery/jquery.innerfade.js',_THEME_JS_DIR_.'jquery.kwicks-1.5.1.pack.js',_THEME_JS_DIR_.'subcategory.kwicks.init.js');



J'ai donc mis la fonction $().ready(.... dans mon fichier subcategory.kwicks.init.js' au niveau des fichiers du thème.



NB: sympa les jeux proposés sur votre site marchand... j'suis un fan de Colon de catan :D

Link to comment
Share on other sites

T'as réponse m'a aidé à demi,

J'ai mis ce code dans la partie body de mon fichier header.tpl et au lieu de jouer le script java, il fait apparaitre la ligne dans mon siteweb.

$js_files =array( _THEME_JS_DIR_.'jquery-1.2.6.min.js',_THEME_JS_DIR_.'jquery.easing.1.3.js',_THEME_JS_DIR_.'jquery.kwicks-1.5.1.pack.js',_THEME_JS_DIR_.'subcategory.kwicks.init.js');

Par contre j'ai creer un fichier subcategory.kwicks.init.js dans lequel j'ai mis la fonction ...
Et comme cela ne fonctionnait pas, j'ai mis ce code là dans le header de mon header.tpl :





avec la dernière ligne qui appellele.js de la fonction ...
Et magie cela à fonctionner ...
Mais par contre il se met n'importe où ...

Mais j'aimerais quand même comprendre à quoi sert le code que tu m'as donner et comment l'utiliser ...



NB: sympa les jeux proposés sur votre site marchand… j’suis un fan de Colon de catan :D


PS : les colons de catan est un jeu incontournable ...
Et si tu aime bien la stratégie, et les jeux un peu complexe tu devrais éssayer "agricola", ou "puerto rico" .. .mais attention c'est du haut niveau ...
Nico
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...