Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

[Résolu] Gabarit différent selon rubrique
#1

Citation :----------------------------------------------

Cms Version: 1.11.4

Installed Modules:

CMSMailer: 5.2.1
CMSPrinting: 1.0.3
FileManager: 1.4.3
MenuManager: 1.8.5
MicroTiny: 1.2.5
ModuleManager: 1.5.5
News: 2.12.10
Search: 1.7.7
ThemeManager: 1.1.7
TinyMCE: 2.9.12


Config Information:

php_memory_limit:
process_whole_template:
output_compression:
max_upload_size: 2000000
url_rewriting: none
page_extension:
query_var: page
image_manipulation_prog: GD
auto_alias_content: true
locale:
default_encoding: utf-8
admin_encoding: utf-8
set_names: true


Php Information:

phpversion: 5.3.13
md5_function: On (Vrai)
gd_version: 2
tempnam_function: On (Vrai)
magic_quotes_runtime: Off (Faux)
E_STRICT: 0
E_DEPRECATED: 8192
memory_limit: 128M
max_execution_time: 30
output_buffering: 1
safe_mode: Off (Faux)
file_uploads: On (Vrai)
post_max_size: 8M
upload_max_filesize: 2M
session_save_path: C:/Program Files (x86)/wamp/tmp (0777)
session_use_cookies: On (Vrai)
xml_function: On (Vrai)
xmlreader_class: On (Vrai)


Server Information:

Server Api: apache2handler
Server Db Type: MySQL (mysqli)
Server Db Version: 5.5.24
Server Db Grants: Trouvé un privilège "GRANT ALL" qui semble être adapté


----------------------------------------------

Bonjour,

Je souhaite faire de sorte que mon gabarit (simplex) change selon les rubriques du site mais ne souhaite pas dupliquer ce
gabarit en autant de rubriques car c'est une source d'erreur.

J'ai mis les images que je souhaite afficher dans uploads/images/banner/ et les ai appelées 1.jpg, 2.jpg, 3.jpg et 4.jpg
J'ai essayé d'abord dans le gabarit
:

Code :
[== Indéfini ==]
    <div class='banner_rubrique{$node->hierarchy|truncate:1:""}'>

et

Code :
[== CSS ==]
.banner_rubrique1 {
    background-image: url([root_url]/uploads/images/banner/1.jpg);
}
.banner_rubrique2 {
    background-image: url([root_url]/uploads/images/banner/2.jpg);
}
.banner_rubrique3 {
    background-image: url([root_url]/uploads/images/banner/3.jpg);
}
.banner_rubrique4 {
    background-image: url([root_url]/uploads/images/banner/4.jpg);
}
Mais celà ne marche pas.


J'ai essayé ensuite

Code :
[== Indéfini ==]
<div><img src='{root_url}/uploads/images/banner/{$node->hierarchy|truncate:1}.jpg'/>
            </div>

Sans succès.
Je précise que je cherche sur le forum depuis midi !!! Il doit y avoIr les éléments pour trouver la solution, mais là, je bloque.
Merci de votre aide.
#2

marche pas ? ca fait quoi exactement parce que c'est ce genre de tricks qu'on utilise pourtant ....

$node->hierarchy donne quoi ?
#3

Bonjour,
dans les CSS, c'est double-crochet : [[root_url]]

{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
#4

A oui ... déjà bien vu l'aveugle ... Big Grin
#5

Merci de vos réponses.

Voici le css
Code :
[== CSS ==]
.banner_rubrique1 {
    background-image: url([[root_url]]/uploads/images/banner/1.jpg);
}
.banner_rubrique2 {
    background-image: url([[root_url]]/uploads/images/banner/2.jpg);
}
.banner_rubrique3 {
    background-image: url([[root_url]]/uploads/images/banner/3.jpg);
}
.banner_rubrique4 {
    background-image: url([[root_url]]/uploads/images/banner/4.jpg);
}

et le gabarit

Code :
[== Indéfini ==]
<div class='banner_rubrique{$node->hierarchy|truncate:1:""}'></div>

J'ai essayé çà aussi

Code :
[== Indéfini ==]
     <div>  <img src='{root_url}/uploads/images/banner{$node->hierarchy|truncate:1:""}.jpg'  />
            </div>

Il faut absolument que je comprenne ce truc là !

je ne sais pas comment afficher la valeur de $node->hierarchy. Il y a longtemps que j'ai fait du php dans une balise pour faire un echo, je ne me souviens plus.

j'ai fait une balise utilisateur nommée {echo}dans <?php ni fin de php j'ai mis
Code :
[== PHP ==]
echo ($node->hierarchy);
dedans. J'ai mis {echo} dans ma page ou j'applique le gabarit...çà ne me ramène rien... Ce n'est peut être pas comme çà, qu'il faut faire.


{$node->hierarchy|truncate:1:""} j'ai vu çà dans une réponse d'airlibre mais je ne sais pas ce que veulent dire """"???

Merci
#6

tu pars dans tous les sens ...

dans l'ordre : le css est il bien généré ? (firebug est ton ami, "clic droit">"afficher la source" également)

que génère {$node->hierarchy} dans ton gabarit du menu ? normalement un chiffre..

essai par exemple dans la boucle

{foreach from=$nodelist item=node}
...
##{$node->hierarchy}##
..
{/foreach}

Vas pas plus loin, cherchons déjà à voir si les bases fonctionnent. Normalement ca doit générer

##1##
##2##
##3##
##1##
##2##

et ainsi de suite
#7

Merci de ta réponse.

Le css est bien généré.

J'ai mis ton code dans le gabarit du menu.

Cà m'affiche

##1.1##
##2.1##
##3.1##
##1##


C'est bizarre, surtout pour la dernière rubrique qui devrait être 4 !

Merci de cette piste en tout cas.
#8

J'ai n'ai pas précisé que mes rubriques 2 et 3 sont des entêtes de section. C'est peut-être là que çà coince ?
#9

je ne penses pas que cela soit sources de soucis.

maintenant regardons {$node->hierarchy|truncate:1:""}

ca fait quoi ? la doc te donnera beaucoup d'information sur le sujet http://www.smarty.net/docs/en/language.m...uncate.tpl

1.1 => 1
2.1 => 2
3.1 => 3
1 => 1

On conserve donc le premier chiffre de la hiérarchie. A noter un soucis avec 99.9, cela retournerai 9 et non 99 Smile mais passons... c'est déjà bien suffisant pour neuf niveaux de hiérarchies différentes

regarde donc maintenant le code généré par <div class='banner_rubrique{$node->hierarchy|truncate:1:""}'></div>

tu devrais obtenir au moins

<div class='banner_rubrique1'></div>
<div class='banner_rubrique1'></div>
<div class='banner_rubrique2'></div>
<div class='banner_rubrique3'></div>

dans l'ordre ou dans le désordre, c'est pas le problème dans l'immédiat.
#10

Mon souci n'est toujours pas réglé

Le code généré par
Code :
[== Indéfini ==]
<div class='banner_rubrique{$node->hierarchy|truncate:1:""}'></div>


retourne

<div class='banner_rubrique4'></div>

alors que je teste sur une page de hierarchie 2 (j'ai gardé le code {$node->hierarchy|truncate:1:""} dans le gabarit du menu !

Je n'ai rien en background. La css est bien liée au gabarit pourtant.
C'est une histoire de fous !

Je continue à chercher.
#11

as-tu un lien a nous donner? On pourrait déjà voir pourquoi le code CSS ne s'applique pas, même si la hiérarchie n'est pas celle que tu attends.

{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
#12

Merci de ta réponse.
Ben non car je travaille sur wampserveur pour le moment.
#13

okay donc le pb est différent pour moi...ce n'est pas le code {$node->hierarchy|truncate:1:""} qui ne fonctionne pas, c'est juste que tu t'attends a avoir un numéro qui n'est pas celui retourné, c'est différent !

je penses que si tu as une différence entre la trace avec le test et le résultat réél <div class='banner_rubrique4'></div> , ça s'explique par le fonctionnement du template de menu.

Il fonctionne par boucle, il peut donc facilement construire de manière "désordonné" ton HTML avant de te retourner le résultat, laissant des traces qui fausse ta compréhension, et surtout tes attentes Wink

je plus simple serait que nous aillons nous même accès au résultat même si tu es sur wamp pour l'instant.

Ouvre toi un compte gratuit chez firstheberg (avec pub), ça sera un bon moyen de nous laisser zieuter et arrêter de faire des hypothèses à partir de ce que tu nous racontes Wink
#14

Merci encore de ta réponse. Ton aide m'est bien précieuse.Ok, je vais faire çà et te tiens au courant. merci.
#15

je suis en train de prendre un hébergement. (Cà me permettra de migrer des sites qui sont sur un serveur dédié obsolète). Puis je te parrainer ? Si çà t'apporte quelque chose, envoies moi un message privé.
#16

rien du tout personnellement même si mes serveurs sont chez eux. Mais tu peux ajouter "cmsmadesimple", ça ajoutera toujours du poids pour notre partenariat avec eux Smile

http://www.cmsmadesimple.fr/hebergement_cmsmadesimple
#17

OK çà marche Smile
#18

Bon,
Finallement pour le moment je l'ai mis sur le serveur final mais je vais déplacer mes autres sites chez techcrea. Je suis en contact avec Mr Nicolle. Cool

Comment te donner le lien car je ne veux pas mettre ce lien à la portée de tous (par rapport à mon client) et que mes ports remontent sur les moteurs de recherche ? :/

J'ai créé des gabarits différents pour mes rubriques mais çà ne me plait pas. C'est une source d'erreur.
Merci encore Bess et Jissey, vous êtes des excellents pédagogues.
#19

envoie le par la page contact du site Wink
#20

Tu mets ton site en maintenance (paramètres globaux>>paramètres de maintenance)et on te donne nos adresse IP pour les exclure.

{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
#21

il y a également la méthode de le mettre dans un sous répertoire, ou encore poser un .htpasswd ou encore plus simplement un fichier robots.txt avec ce qu'il faut dedans pour faire comprendre aux indexeurs de passer leur chemin
#22

Bon je vais vous envoyer le lien.
Je suis vraiment bouchée Sad : je n'arrive pas à trouver la page contact du site !!! Quel est l'url ? Merci.
#23

t'as essayé /contact ? ou les liens en bas de ce site ?

http://www.cmsmadesimple.fr/contact
#24

copie envoyée en email

Bon je me suis connecté, je comprend mieux ton problème

Ce n'est pas possible dans cette manière : tu choppe le numéro de hiérarchie dans le menu, dans une boucle (= multiplie changement de la valeur) et tu souhaites l'utiliser en dehors de ce code dans ton entête de gabarit.

Ce serait plus simple (et fonctionnel de faire une condition, non pas sur le menu, mais sur la hierarchie de la page courante !

donc non pas {$node->hierarchy|truncate:1:""} dans le code du menu mais plus {$friendly_position|truncate:1:""}

Alors ce code je ne connais pas par coeur je t'assure. Pour retrouver ce genre d'info je code à la fin d'un template <!-- {get_template_vars}--> cela me donne les variables dispo dans le template

exemple (regarde le code source en bas de page) http://www.tonsite.ndd/index.php?page=gestion-de-projet

A toi de jouer je penses Smile
#25

Grand merci. Je vais m'y remettre cet après midi. Il faut que j'y arrive !! Je vous tiens au courant. :p
Sujet fermé


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)