Je suis toujours à la recherche de « trucs » très simples mais difficiles à mémoriser si on ne les utilise pas souvent. Donc au lieu de chercher à chaque fois sur le net je me suis dit qu’il serait utile de les centraliser à un même endroit. Voici donc diverses astuces pour ceux qui font de la programmation, intégration ou tout simplement qui utilisent Prestashop.
Créer des liens
page categorie
{$link->getCategoryLink('12')} //lien non rewrite {$link->getCategoryLink($category->id_category, $category.link_rewrite)} // lien rewrite
page produit
{$link->getProductLink($product->id)} //lien non rewrite {$link->getProductLink($product->id,$product->link_rewrite)} //lien rewrite
pages classiques
{$link->getPageLink('ma-page.php', true)}
pages contact (remplacez contact par le nom du controller pour faire un lien vers d’autres pages).
{$link->getPageLink('contact', true)}
page mon compte / ou connection
{$link->getPageLink('my-account', true)
page cms
{$link->getCMSLink(4)} //sans rewrite {$link->getCMSLink($cmspages.id_cms, $cmspages.link_rewrite)|escape:'htmlall':'UTF-8'}" // avec rewrite
Ou plus simplement avec mon override pour prestashop 1.4
{$link->getCMSLink(8, null, false, null, true)}
page categorie cms
{$link->getCMSCategoryLink('12', 'page-categorie-cms')}
page fournisseur
{$link->getSupplierLink('12', 'page-fournisseur')}
page fabricant
{$link->getManufacturerLink('12', 'page-fabricant')}
Page générée par un module
{$link->getModuleLink('nomdemonmodule','nomducontroller',['key'=>'value'])|escape:'html'}
Globals smarty
$base_dir { dossier racine de votre boutique } $base_dir_ssl { dossier racine de votre boutique en utilisant le protocole HTTPS } $this_path { chemin courant d’un dossier ou d’un fichier } $this_path_ssl { chemin courant d’un dossier ou d’un fichier en utilisant le protocole HTTPS } $content_dir { dossier racine de votre boutique en fonction de vos réglages SSL } $img_ps_dir { dossier racine des images “/img/” } $img_dir { dossier images dans le thème utilisé } $css_dir { dossier des css dans le thème utilisé } $js_dir { dossier JavaScript dans le thème utilisé } $tpl_dir { dossier racine du thème } $modules_dir { dossier racine des modules } $mail_dir { dossier racine des gabarits d’email } $lang_iso { code ISO du langage courant } $come_from { adresse de la page précédente [absolue] } $shop_name { nom de la boutique } $cart_qties { nombre total de produit dans la commande } $cart { contenu de la commande} $currencies { liste des monnaies disponibles } $currency->sign { le symbole de la monnaie courante } $id_currency_cookie { id de la monnaie sélectionnée [ dépend du cookie] } $currency { monnaie active } $cookie { cookie actif } $languages { liste des langues disponibles } $logged { permet de savoir si un utilisateur est connecté } $page_name { nom de la page courante } $customerName { nom du client connecté [dépend de la session] } $priceDisplay { informations sur les tarifs courant affichés [dépend de la monnaie] }
Merci à supersonique pour cette liste.
Divers
Nom de la page courante
{$page_name} //sous smarty basename($_SERVER['PHP_SELF']); //dans un fichier php sous PS 1.4 $this->page_name //dans un controller sous PS 1.5 et plus
Assigner dans smarty une valeur « traduisible » à une variable
{assign var="name" value={l s='Choose your module' mod='productscategory'}}
Télécharger les précédentes versions de prestashop
https://code.google.com/p/prestashop/downloads/list
ou la
http://www.prestashop.com/fr/versions-developpeurs
Pour l’instant évidemment très peu de chose dans cette « liste » mais elle s’étoffera au fur et à mesure que j’aurai besoin de ce genre d’astuce.