Faire un lien vers une catégorie, un produit ou une page du CMS
Started by Pierre-Henri, Jun 24 2010 04:50 PM
Bonjour,
Je débute dans l'intégration de chartes graphiques sous Prestashop.
Je cherche à créer des liens vers des produits ou des catégories mais en respectant la structure des liens. J'imagine que, comme dans Zencart avec la fonction zen_href_link(), il est possible de trouver l'URL réécrite d'un produit, d'une catégorie ou d'une page de CMS via une fonction et les paramétres qui vont bien ?
Si oui, quelle est cette fonction et ses différents paramètres.
Merci pour vos réponses.
pH
Je débute dans l'intégration de chartes graphiques sous Prestashop.
Je cherche à créer des liens vers des produits ou des catégories mais en respectant la structure des liens. J'imagine que, comme dans Zencart avec la fonction zen_href_link(), il est possible de trouver l'URL réécrite d'un produit, d'une catégorie ou d'une page de CMS via une fonction et les paramétres qui vont bien ?
Si oui, quelle est cette fonction et ses différents paramètres.
Merci pour vos réponses.
pH
Je me réponds à moi-même sur l'un des points car j'ai trouvé la solution pour les pages de CMS.
Je ne sais pas si c'est la meilleure méthode mais en tout cas, elle fonctionne.
pH
Je ne sais pas si c'est la meilleure méthode mais en tout cas, elle fonctionne.
$page_link = CMS::getLinks(2, array(4)); // 2 : Id de la langue courante. array(4) : Id de la page
$smarty->assign('cms_about_us', $page_link['link']);
pH
From 1277401764:
Je me réponds à moi-même sur l'un des points car j'ai trouvé la solution pour les pages de CMS.
Je ne sais pas si c'est la meilleure méthode mais en tout cas, elle fonctionne.
pH
Je ne sais pas si c'est la meilleure méthode mais en tout cas, elle fonctionne.
$page_link = CMS::getLinks(2, array(4)); // 2 : Id de la langue courante. array(4) : Id de la page
$smarty->assign('cms_about_us', $page_link['link']);
pH
Bonsoir P.H
ça me semble correcte, juste une questin pkoi :
$page_link = CMS::getLinks(2, array(4)); // 2 : Id de la langue courante. array(4) : Id de la page
$smarty->assign('cms_about_us', $page_link['link']);
au lieu de :
$page_link = CMS::getLinks(2, array(4)); // 2 : Id de la langue courante. array(4) : Id de la page
$smarty->assign('cms_about_us', $page_link);
à quoi sert le ['link'] ???
Ferronnerie Artisanale CM2F
Création de Mobilier et Fermetures en Fer Forgé
Création de Mobilier et Fermetures en Fer Forgé
Car $page_link est un Array pardi ! :)
un print_r() de $page_link donne les valeurs suivantes :
[code]Array ( [0] => Array ( [id_cms] => 4 [link_rewrite] => 'lien-seo-friendly' [meta_title] => 'Balise META <title>' [link] => 'Lien absolu vers la page' ) ) [/quote]
pH
un print_r() de $page_link donne les valeurs suivantes :
[code]Array ( [0] => Array ( [id_cms] => 4 [link_rewrite] => 'lien-seo-friendly' [meta_title] => 'Balise META <title>' [link] => 'Lien absolu vers la page' ) ) [/quote]
pH
ok merci,
je pensais que comme tu avais renseigné l'ID de l apage " 4 ", fallait pas préciser
merci pour ta réponse, en plus je pense jamais à vérifier avec un simple print_r() ;-)
Bonne continuation P.H
je pensais que comme tu avais renseigné l'ID de l apage " 4 ", fallait pas préciser
merci pour ta réponse, en plus je pense jamais à vérifier avec un simple print_r() ;-)
Bonne continuation P.H
Ferronnerie Artisanale CM2F
Création de Mobilier et Fermetures en Fer Forgé
Création de Mobilier et Fermetures en Fer Forgé
En fait, j'ai trouvé une petite erreur. Le Array contient en fait un Array. Je dois donc donner la clé 0 pour accéder à la première ligne qui contient les informations de la page de CMS.
Le code correct est donc
Par-ailleurs, j'ai simplifié le code PHP et utilisé Smarty pour accéder à ma valeur de mon Array. Ce qui semble être la méthode la plus correcte pour Prestashop.
Ce qui donne donc dans le fichier PHP (Exemple : header.php)
Et dans le fichier TPL (Exemple : header.tpl)
pH
Le code correct est donc
$page_link = CMS::getLinks(2, array(4));
$smarty->assign('cms_about_us', $page_link[0]['link']);
Par-ailleurs, j'ai simplifié le code PHP et utilisé Smarty pour accéder à ma valeur de mon Array. Ce qui semble être la méthode la plus correcte pour Prestashop.
Ce qui donne donc dans le fichier PHP (Exemple : header.php)
$page_link = CMS::getLinks(2, array(4)); // 2 : Id de la langue courante. array(4) : Id de la page
$smarty->assign('cms_about_us', $page_link['link']);
Et dans le fichier TPL (Exemple : header.tpl)
Qui sommes-nous ?
pH
P.H,
ce que je sasie pas, c'est si tu veux uniquement faire un lien vers une page CMS , depuis un TPL, tu n'as pas vraiment besoin de passer par du code PHP tu peux le rentrer simplement comme un lien normal :
Qui sommes-nous ?
le "1" étant l'ID de ta page CMS et "Qui_sommes_nous", la réécriture url que tu as rentré lors de la création de ta page CMS.
je fais comme çà perso, si je veux mettre des liens CMS à différents endroit, pour faire simple,
Maintenant, si tu veux faire un module, un menu , faut voir pour récupérer toutes ou partie des pages CMS par exemple
ce que je sasie pas, c'est si tu veux uniquement faire un lien vers une page CMS , depuis un TPL, tu n'as pas vraiment besoin de passer par du code PHP tu peux le rentrer simplement comme un lien normal :
Qui sommes-nous ?
le "1" étant l'ID de ta page CMS et "Qui_sommes_nous", la réécriture url que tu as rentré lors de la création de ta page CMS.
je fais comme çà perso, si je veux mettre des liens CMS à différents endroit, pour faire simple,
Maintenant, si tu veux faire un module, un menu , faut voir pour récupérer toutes ou partie des pages CMS par exemple
Ferronnerie Artisanale CM2F
Création de Mobilier et Fermetures en Fer Forgé
Création de Mobilier et Fermetures en Fer Forgé
Le problème de coller le lien en dur dans le TPL, c'est que tôt ou tard, il faudra repasser dessus pour telle ou telle raison (changement du domaine principal du site, changement des balises META, ...).
Il me semble bien plus logique d'utiliser les fonctions présentes dans Prestashop plutôt que de faire le "porc" dans les TPL... Simple avis ;)
pH
Il me semble bien plus logique d'utiliser les fonctions présentes dans Prestashop plutôt que de faire le "porc" dans les TPL... Simple avis ;)
pH
Bonjour,
j'ai un problème au niveau de l'url rewriting dans le template de mon site au niveau du module "variouslink", est-ce que cette méthode corrigerait le problème et si oui, que faut-il mettre dans les liens href du .tpl?
Merci.
Arnaud.
j'ai un problème au niveau de l'url rewriting dans le template de mon site au niveau du module "variouslink", est-ce que cette méthode corrigerait le problème et si oui, que faut-il mettre dans les liens href du .tpl?
Merci.
Arnaud.
Bonjour,
"est-ce que cette méthode corrigerait le problème"
Le mieux est d'essayer ;)
"si oui, que faut-il mettre dans les liens href du .tpl"
Pourrais-tu donner plus de précisions ?
pH
"est-ce que cette méthode corrigerait le problème"
Le mieux est d'essayer ;)
"si oui, que faut-il mettre dans les liens href du .tpl"
Pourrais-tu donner plus de précisions ?
pH
merci de me répondre ;)
actuellement, dans mon variouslink.tpl, j'ai des liens sous cette forme :
{l s='Terms and conditions of use' mod='blockvariouslinks'}
Le problème c'est que quand je clique dessus dans mon footer, il m'affiche la page www.monsite.com/cms.php?id_cms=3
alors que moi je voudrais que le navigateur affiche directement l'url avec le rewriting, d'autant plus que ça fonctionne très bien pour le reste :)
Mais voila m'sieur, je sais po comment faire :(
Merci.
actuellement, dans mon variouslink.tpl, j'ai des liens sous cette forme :
Le problème c'est que quand je clique dessus dans mon footer, il m'affiche la page www.monsite.com/cms.php?id_cms=3
alors que moi je voudrais que le navigateur affiche directement l'url avec le rewriting, d'autant plus que ça fonctionne très bien pour le reste :)
Mais voila m'sieur, je sais po comment faire :(
Merci.
Bonjour,
merci pour cette méthode qui permet de linker proprement une page CMS d'après son identifiant.
Y a-t-il un équivalent pour linker une catégorie d'après son identifiant ? ...
(ou encore mieux: linker une catégorie d'après son titre, à l'aide d'une expression régulière ou autre ?)
merci pour cette méthode qui permet de linker proprement une page CMS d'après son identifiant.
Y a-t-il un équivalent pour linker une catégorie d'après son identifiant ? ...
(ou encore mieux: linker une catégorie d'après son titre, à l'aide d'une expression régulière ou autre ?)



Back to top









