Code Monkey home page Code Monkey logo

Comments (5)

abelass avatar abelass commented on August 28, 2024

from immeubles.

izo avatar izo commented on August 28, 2024

from immeubles.

abelass avatar abelass commented on August 28, 2024

en fait c'est normal. Car le menu de langue de base de spip ne prevoit plas l'objet immeuble

from immeubles.

abelass avatar abelass commented on August 28, 2024

Si je comprends bien tu utilises menu_langues_liens. Donc insère à la ligne 24: https://zone.spip.net/trac/spip-zone/browser/spip-zone/_plugins_/menu_langues_liens/formulaires/menu_lang.html#L24
le code suivant, ça devrait le faire.

<BOUCLE_immeubles(IMMEUBLES){id_immeuble}>
#SET{ListeTraductions, #ARRAY{}}
<BOUCLE_TraductionImmeubleCourant(IMMEUBLES){traduction}{lang !IN #CONFIG{menu_lang_liens/langues_invisibles,#ARRAY}}>
#SET_MERGE{ListeTraductions,#GET{ListeTraductions},#ARRAY{#LANG,#URL_IMMEUBLE}}
</BOUCLE_TraductionImmeubleCourant>
</BOUCLE_immeubles>

from immeubles.

abelass avatar abelass commented on August 28, 2024

J'imagine que c'est de nouveau une question de variables qui ne passe pas.

Je ne sais pas ou et comment tu as intégré le menu langue.

De toute façon remplace le par

[(#INCLURE{fond=formulaires/menu_lang,env})]

et ça devrait marcher

je l'ai testé avec en surchgargeant formulaires/menu_lang.html avec le suivant contenu

[(#REM) 
	Stocker les traductions eventuelles de la rubrique en cours si le plugin Tradrub est installe (permet l'utilisation du
	critere traduction sur les rubriques)
]
<BOUCLE_tradrub(CONDITION){si #PLUGIN{tradrub}}>
	<BOUCLE_rubrique(RUBRIQUES){id_rubrique}>
		#SET{ListeTraductions, #ARRAY{}}
		<BOUCLE_TraductionRubriqueCourante(RUBRIQUES){traduction}{lang !IN #CONFIG{menu_lang_liens/langues_invisibles,#ARRAY}}>
			#SET_MERGE{ListeTraductions,#GET{ListeTraductions},#ARRAY{#LANG,#URL_RUBRIQUE}}
		</BOUCLE_TraductionRubriqueCourante>
	</BOUCLE_rubrique>
</BOUCLE_tradrub>

[(#REM) 
	Stocker les traductions eventuelles de l'article en cours
]
<BOUCLE_article(ARTICLES){id_article}>
#SET{ListeTraductions, #ARRAY{}}
<BOUCLE_TraductionArticleCourant(ARTICLES){traduction}{lang !IN #CONFIG{menu_lang_liens/langues_invisibles,#ARRAY}}>
	#SET_MERGE{ListeTraductions,#GET{ListeTraductions},#ARRAY{#LANG,#URL_ARTICLE}}
</BOUCLE_TraductionArticleCourant>
</BOUCLE_article>

<BOUCLE_immeubles(IMMEUBLES){id_immeuble}>
#SET{ListeTraductions, #ARRAY{}}
<BOUCLE_TraductionImmeubleCourant(IMMEUBLES){traduction}{lang !IN #CONFIG{menu_lang_liens/langues_invisibles,#ARRAY}}>
#SET_MERGE{ListeTraductions,#GET{ListeTraductions},#ARRAY{#LANG,#URL_IMMEUBLE}}
</BOUCLE_TraductionImmeubleCourant>
</BOUCLE_immeubles>


[(#REM)
	Y-a-t'il plus d'une langue à afficher (moins les langues "invisibles") ?
	Si oui, on affiche le menu de langue
	Si non, rien
	
	Si _MLL_LANGUES_MULTILINGUE est definie, on utilise la variable meta langues_multilingue (langues à disposition des rédacteurs, comportement natif de SPIP).
	Sinon, on utilise langues_utilisees (langues reellement utilisees dans les articles).
	
	Les langues "invisibles" sont les langues que le webmestre peut choisir de ne pas afficher dans le menu,
	a partir du formulaire de configuration du plugin.
	
	Note : 'explode' est une fonction PHP : http://php.net/manual/fr/function.explode.php, utilisee ici pour renvoyer un tableau contenant
	les langues utilisees, a partir de la variable meta 'langues_utilisees'. Ce tableau est compare avec le tableau des langues invisibles
	avec la fonction PHP 'array_diff' http://www.php.net/manual/fr/function.array-diff.php qui renvoie elle-meme un tableau.
]

[(#VAL{_MLL_LANGUES_MULTILINGUE}|defined|et{#VAL{_MLL_LANGUES_MULTILINGUE}|constant|=={true}}|?{
	#SET{mll_langues,langues_multilingue}
,
	#SET{mll_langues,langues_utilisees}
})]
[(#SET{langues_a_afficher,[(#CONFIG{#GET{mll_langues}}|explode{","}|array_diff{#CONFIG{menu_lang_liens/langues_invisibles, #ARRAY}})]})]
#SET{liste,#CONFIG{menu_lang_liens/formatliste,bloc}}
#SET{format,#CONFIG{menu_lang_liens/format,abrege}}
#SET{separateur,#CONFIG{menu_lang_liens/separateur,''}}
[(#GET{liste}|=={liste}|?{#SET{separateur,#CONFIG{menu_lang_liens/separateur,''}},''})]

[(#REM) on supprime la langue courante si jamais c'est configuré pour cela]
<BOUCLE_PlusieursLanguesUtilisees(POUR){tableau #GET{langues_a_afficher}}{1,1}>
<[(#GET{liste}|=={liste}|?{ul,div})] id="menu_lang">[(#REM)

	On liste les langues utilisees dans le site
	
]<BOUCLE_ListeLangues(POUR){tableau #GET{langues_a_afficher}}>[(#GET{format}|=={'complet'}|?{[(#SET{nom_langue,[(#VALEUR|traduire_nom_langue)]})],[(#SET{nom_langue,[(#VALEUR)]})]})][
	(#GET{liste}|=={liste}|oui)<li [(#COMPTEUR_BOUCLE|=={1}|oui)class="first"] [(#COMPTEUR_BOUCLE|=={#TOTAL_BOUCLE}|oui)class="last"]>
	][(#REM)
		
		Si la langue n'est pas celle en cours, on fait un lien qui fait 2 actions :
		- fixer le cookie de langue sur la langue demandee
		- rediriger sur l'article dans la langue demandee si opportun
		  sinon, revenir sur la page en cours
		
		url_absolue pour éviter des problèmes en urls arbo
	]
	[[[[(#GET{separateur})](#GET{liste}|=={liste}|non)](#COMPTEUR_BOUCLE|>{1}|oui)][<a href="[(#SELF|parametre_url{action,converser}|parametre_url{var_lang,#VALEUR}|parametre_url{redirect,#GET{ListeTraductions}|table_valeur{#VALEUR}|sinon{#SELF}|url_absolue})]" rel="alternate" lang="#VALEUR"[(#GET{format}|=={'abrege'}|oui) title="[(#VALEUR|traduire_nom_langue|attribut_html)]"] class="langue_#VALEUR">(#GET{nom_langue})</a>](#VALEUR|=={#ENV{lang}}|non)][
	(#REM)
	
		Si la langue est celle en cours, afficher celle-ci en gras, sans lien

		][[[[[(#GET{separateur})](#GET{liste}|=={liste}|non)](#COMPTEUR_BOUCLE|>{1}|oui)]<strong class="langue_#VALEUR" title="[(#VALEUR|traduire_nom_langue|attribut_html)]">(#GET{nom_langue})</strong>](#VALEUR|=={#ENV{lang}}|oui|et{#CONFIG{menu_lang_liens/langue_courante_invisible}|non})][
	(#GET{liste}|=={liste}|oui)</li>
]</BOUCLE_ListeLangues>
</[(#GET{liste}|=={liste}|?{ul,div})]>
</BOUCLE_PlusieursLanguesUtilisees>
#FILTRE{trim}

from immeubles.

Related Issues (1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.