Commit 5123e22e authored by Guillaume Porte's avatar Guillaume Porte 😶
Browse files

Modification de la fonction max.html:buildMenu() pour ajouter le préfixe de la...

Modification de la fonction max.html:buildMenu() pour ajouter le préfixe de la langue dans l'URL si le paramètre correspondant @qhowLang="true" est présent dans le fichier de config de l'édition (dans <edition>)
parent be931272
Loading
Loading
Loading
Loading
+16 −7
Original line number Diff line number Diff line
@@ -173,25 +173,34 @@ as element(link)*
};


declare %private function max.html:buildMenu(
        $projectId as xs:string,
        $menuId as xs:string,
        $fragmentId as xs:string ?)
declare %private function max.html:buildMenu($projectId as xs:string,$menuId as xs:string,$fragmentId as xs:string ?)
as item()+
{
    let $params := map {'projectId' : $projectId, 'selectedTarget' : $menuId||'.html', 'baseURI' : max.util:getRelativeRootPath(())}
    let $params := map {'projectId' : $projectId, 'selectedTarget' : $menuId||'.html', 'baseURI' : max.config:getBaseURI()}
    let $showLang := max.config:getProjectLangParam($projectId)

    (:menu translation:)
    let $translatedXmlMenu :=
        copy $c := doc("../editions/" || $projectId || "/" || $max.cons:MENU_FILE)
        modify (
            for $i in $c//entry
            let $label := max.i18n:getText($projectId, "menu." || $i/id)
            return insert node <label>{$label}</label> into $i
            let $target := 
                if($showLang="true")
                then(max.i18n:getLang($projectId) || '/' || data($i/target))
                else(data($i/target))

            return
            (
                replace node $i/target with <target>{$target}</target>,
                insert node <label>{$label}</label> into $i
            )

        )
        return $c
    (:menu xslt transform:)
    let $xslMenu := max.util:getProjectMenuXSL($projectId)
    return xslt:transform($translatedXmlMenu, $xslMenu, $params),max.html:buildI8nMenu($projectId)
    return xslt:transform($translatedXmlMenu, $xslMenu, $params)

};