PrestaShop Forum

The best place in the world to ask questions about PrestaShop and get advice from our passionate community!

PrestaShop Forum

Jump to content

[débutant] Personnalisation les templates tpl, smarty, variables prestashop

3 replies to this topic
#1
onico0

    PrestaShop Newbie

  • Members
  • Pip
  • 9 posts
Bonjour,

Ma question est très basique mais je ne trouve pas la réponse dans l'aide ni en cherchant dans le forum.

Je connais un peu la syntaxe du CMS SPIP pour personnaliser les templates (les , les variables du genre #TITRE, #SOUSTITRE).

Je souhaitait commencer par personnaliser le module "blocknewproducts" dans lequel je vois :


<!-- MODULE Block new products -->

{l s='New products' mod='blocknewproducts'}



{if $new_products}

  • {$new_products.0.legend|escape:htmlall:'UTF-8'}

  • {$new_products.1.legend|escape:htmlall:'UTF-8'}



{foreach from=$new_products item=product name=myLoop}
{$product.name|escape:htmlall:'UTF-8'}

{if $product.description_short}
{$product.description_short|strip_tags:htmlall:'UTF-8'|truncate:50} >" src="{$img_dir}bullet.gif"/>
{/if}
{/foreach}

{l s='All new products' mod='blocknewproducts'}


{else}

{l s='No new product at this time' mod='blocknewproducts'}


{/if}


<!-- /MODULE Block new products -->


Je me rend compte que malgré mes connaissances en PHP, la syntaxe des templates de prestashop m'est complètement inconnue. Je pense ne pas me tromper si je dis que les templates utilise Smarty, dont je ne connais rien à part le nom.

Ma question est donc : Ou trouver la liste des variables utilisables dans prestashop et autres parties de la syntaxe des templates prestashop pour les boucles, les conditions etc...

La documentation (http://www.prestasho...iki_PrestaShop/) semble un peu pauvre au niveau du développement alors qu'elle est plutôt complète sur l'utilisateur global de l'interface proposée par prestashop. Par exemple, je trouve la documentation de SPIP bien faite pour le templating : http://www.spip.net/@?lang=fr

Merci aux pros de prestashop qui pourront m'aider :-) Jusqu'à maintenant je le trouve super !

#2
liandri

    PrestaShop Apprentice

  • Members
  • PipPip
  • 457 posts
chaque tpl de smarty sont situés dans le cas de ton exemple pour les modules, dans le même répertoire que le fichier php du module.

Tu trouveras généralement un template tpl qui correspond soit au bloc latéral, soit au bloc de la partie centrale.

Toutes les variables qu'utilise smarty pour ces tpl, sont déclarés partout ! Mais je te conseille de rester sur l'usage des déclarations du module en lui même. Soit dans sa classe du module, exemple dans ton cas : /modules/blocknewproducts/blocknewproducts.php

ce module php va appeler la fonction
hookRightColumn($params)
pour définir le lieu de sa mise en place et peut aussi être déclaré en
hookLeftColumn($params)
, ou même encore
hookHome($params)
pour l'accueil

chaque variable utilisée par smarty dans son tpl associé blocknewproducts.tpl est déclaré soit par :
$smarty->assign('ma_variable', $ma_variable);
soit par :
$smarty->assign(array(
''ma_variable1' => $ma_variable1,
''ma_variable2' => $ma_variable2,
''ma_variable3' => $ma_variable3
));

etc.

#3
onico0

    PrestaShop Newbie

  • Members
  • Pip
  • 9 posts
Merci pour cette belle réponse clair et détaillée, tu as tout à fait répondu à ma question.

Après une nuit à jouer avec prestashop, j'ai remarqué qu'il y avait déjà moyen de bien personnaliser les TPL avec le contenu d'exemple mis en BDD à l'install, mais je suis sûr que ton explication me sera rapidement utile.

Encore un grand merci :)

J'ai aussi des problèmes avec l'import csv si tu sais m'aider ça me sauverait bien :)

#4
liandri

    PrestaShop Apprentice

  • Members
  • PipPip
  • 457 posts
de rien :)

bonne route