Yann74 Posted September 8, 2015 Share Posted September 8, 2015 Bonjour J'essai d'appliquer un style css particulier à certaines pages qui commencent par telles ou telles URL, j'ai essayé de mettre le code suivant dans le header.tpl sans succès : <?php $requested_page = $_SERVER['REQUEST_URI']; if ($requested_page === "URL" || $requested_page === "URL") { echo '<link rel="stylesheet" type="text/css" href="{$css_dir}orders.css">'; } ?> La page est bien détectée mais il y a la fin du code Php qui est affiché dans le leader, mais le style spécifique n'est pas appliqué... Link to comment Share on other sites More sharing options...
Facebreak Posted September 8, 2015 Share Posted September 8, 2015 Je pense que le mieux étant de faire appelle à un dev PHP... http://facebreak.gdnh.eu/ Link to comment Share on other sites More sharing options...
Baba deCode Posted September 8, 2015 Share Posted September 8, 2015 Bonsoir, Pourquoi mettre du php dans un tpl ? dans ton header.tpl tu fais du smarty. pour la page order-opc: {if $page_name == 'order-opc'} <link rel="stylesheet" type="text/css" href="{$css_dir}orders.css"> {/if} pour connaitre le nom d une page tu fais: {$page_name} cdt Link to comment Share on other sites More sharing options...
Yann74 Posted September 8, 2015 Author Share Posted September 8, 2015 (edited) Merci pour ce retour ! Je savais pas qu'il fallait faire du smarty dans les fichiers tpl :-) En revanche je ne comprends pas bien l'utilisation de {$page_name} En fait, ce que je souhaite faire, c'est appliquer un css particulier à toute les pages liées au tunnel d'achat, c'est à dire toute les pages avec le bandeau des étapes "01. Récapitulatif", "02. Connexion" etc... jusqu'au paiement. C'est pour cela que je pensais utiliser l'URL pour donner un style avec une fonction Php, mais peut-être avez-vous une autre solution ? Edited September 8, 2015 by Yann74 (see edit history) Link to comment Share on other sites More sharing options...
Baba deCode Posted September 8, 2015 Share Posted September 8, 2015 La variable smarty {$page_name} indique le nom de la page (logique hein) Il faut que tu identifie le nom des pages pour ton tunnel (en laissant {$page_name} dans le header ca affichera le nom de la page) ensuite tu fais une condition: {if $page_name == 'page1'} <link rel="stylesheet" type="text/css" href="{$css_dir}orders.css"> {elseif $page_name == 'page2'} <link rel="stylesheet" type="text/css" href="{$css_dir}orders.css"> {elseif $page_name == 'page3'} <link rel="stylesheet" type="text/css" href="{$css_dir}orders.css"> {elseif $page_name == 'page4'} {/if} Link to comment Share on other sites More sharing options...
Yann74 Posted September 9, 2015 Author Share Posted September 9, 2015 (edited) Avec ta méthode, j'ai pu voir le fichier tpl du tunnel : order-steps.tpl Dedans, j'ai directement mis du style : <style></style>, celui-ci s'applique bien sur toute les étapes du tunnel d'achat, sauf une page : si un internaute n'a pas de compte, il en crée un, et au moment de valider son inscription il arrive directement sur la page des adresses pour qu'il en enregistre une afin de continuer l'achat. L'adresse URL de cette page est : mondomaine.com/fr/adresse?back=order.php%3Fstep%3D1 Alors que la même page, sans être entré dans le tunnel d'achat est : mondomaine.com/fr/adresse Une idée ? Edited September 9, 2015 by Yann74 (see edit history) Link to comment Share on other sites More sharing options...
Yann74 Posted September 10, 2015 Author Share Posted September 10, 2015 (edited) Alors finalement j'ai trouvé une autre solution avec le javascript, voici le script utilisé pour celles et ceux qui seraient intéressés : if(window.location.search.substring(1)=="back=order.php%3Fstep%3D1"){ $('head').append('<link href="{$css_dir}tunnel-order.css" rel="stylesheet" type="text/css" />'); } else{ } Par contre impossible de trouver un moyen pour que si l'URL contient uniquement "back=order.php" et pas obligatoirement "back=order.php%3Fstep%3D1" le link s'ajoute quand même... Pareil, si le Prestashop est paramétré pour charger le Javascript à la fin, celui-ci sera aussi chargé à la fin, en fonction des éléments CSS chargés par le link, cela peut se voir lors du chargement de page par l'internaute. Alors je cherche un moyen pour donner une exception à cette règle de chargement. Edit : mon Prestashop n'est même pas encore paramètre pour charger le Javascript à la fin et pourtant, quand ma page se charge, les éléments que je souhaite cacher avec le css rajouté avec le javascript s'affichent puis disparaissent. Ce qui est dérangeant c'est qu'ils s'affichent avant de disparaitre, ils devraient même pas s'afficher. Je cherche un moyen pour ça :-) Edited September 10, 2015 by Yann74 (see edit history) Link to comment Share on other sites More sharing options...
ventesites Posted September 10, 2015 Share Posted September 10, 2015 que se passe t'il si l'utilisateur a désactivé javascript? Link to comment Share on other sites More sharing options...
Yann74 Posted September 10, 2015 Author Share Posted September 10, 2015 Et bien si l'utilisateur a désactivé le Javascript, mon script ne fonctionne plus Link to comment Share on other sites More sharing options...
ventesites Posted September 10, 2015 Share Posted September 10, 2015 logique... à mon avis il vaut mieux ne pas utiliser javascript mais smarty Link to comment Share on other sites More sharing options...
Yann74 Posted September 10, 2015 Author Share Posted September 10, 2015 Effectivement, j'aimerais bien... Avec la solution de Alexandre-KM ça aurais été possible, mais le souci c'est que la page qui s'appelle adresse est accessible via deux url : - mondomaine.com/fr/adresse et - mondomaine.com/fr/adresse?back=order.php%3Fstep%3D1 Pour le premier lien, l'internat va dans son espace client, et clique sur "ajouter une adresse" pour arriver sur cette page, rien à voir avec le tunnel d'achat donc. Mais pour le deuxième lien, c'est si un internaute n'a pas d'adresse enregistrée qu'il va arriver sur cette page. Lorsqu'il commence les étapes de la validation de sa commande (les fameuses 5 étapes), s'il n'a pas de page enregistrée, il va arriver sur cette page pour ajouter une adresse. Il est donc bien toujours dans le processus de passation de commande. "Heureusement" les deux liens sont différents. Le premier n'a rien à voir avec le processus de commande, le deuxième a tout à voir avec le processus de commande. En utilisant le smarty, savez-vous de quelle manière pourrais-je arriver à faire ce que je souhaite ? :-( Link to comment Share on other sites More sharing options...
rudnik34 Posted February 6, 2016 Share Posted February 6, 2016 Really great post for this web site.<a href="http://pirateruncomptefaceb00k.com/">pirater un compte facebook</a> Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now