Bascule FR-EN sur les articles inopérante

Bonjour,

C'est peut-être moi qui ne fait pas les choses comme il faut, et si tel est le cas, excusez le bleu que je suis ! voilà:

J'ai écrit des articles en français (FR) et que je traduis en anglais (EN), mais lorsque je veux basculer de FR à EN ou l'inverse, le site me renvoie vers la Homepage plutôt que de rester sur le même article mais dans l'autre langue.

Prenons par exemple l'article N° 0002 en français; cet article traduit en anglais porte aussi le n°0002 (plus simple pour m'y retrouver quand il y en aura beaucoup), et j'ai bien rentré "0002" dans la case "Dépendance" en bas dans l'administration où l'on rédige les articles.

Voici l'admin de l'article en français avec "0002" dans la case dépendance en bas:
https://mega.nz/file/V64GSKZI#a2AKlg-mnsfgBdBmmOHITya_StmvHDuoTRSHCSs0a4Q

évidemment on retrouve aussi "0002" dans la case "Dependancies" si l'on va sur l'admin en anglais où j'ai rédigé l'article en anglais.

Donc lorsque je suis sur le site et que je lis l'article en FR, je m'attends à me retrouver sur l'article en anglais si je clique sur le drapeau anglais: or le site me renvoie sur la Homepage en anglais...

C'est quoi que je ne fais pas comme il faut ?... (est-il indispensable que les articles en français et en anglais aient des numéros différents ??).

Merci pour vos lumières, :)

Mots clés:

Réponses

  • nounours18200nounours18200 Member
    septembre 2023 modifié

    C'est quoi que je ne fais pas comme il faut ?... (est-il indispensable que les articles en français et en anglais aient des numéros différents ??).

    Edit du 10.09.2023: j'ai essayé de donner des Numéros différents à l'article en français (0004, pair pour le français) et à l'article en anglais (005, impair pour l'anglais), mais Pluxml se comporte toujours pareil: il me renvoie sur la Homepage quand je change de langue (au lieu de basculer vers l'article en anglais comme je m'y attends).

    Est-ce normal ?

  • septembre 2023 modifié

    Bonjour,

    Non, cette version du plugin ne bascule pas automatiquement vers une page d'une autre langue qui aurait le même identifiant.

    Cependant, cette version te permet d'associer des articles de différente langue.
    1. dans l'administration (voir les drapeaux en bas de la page édition des articles) et indiquer l'identifiant (numéro de l'article)
    2. Insérer au thème dans le fichier article.php(et la série article-xx.php si il y a) le hook <?php eval($plxShow->callHook('MyMultiLingue', 'artlinks')) ?> C'est ça que tu as zappé ;)

    Ceci fait, chaque article ayant un article associé dans une autre langue, affichera un lien avec un drapeau vers celui-ci .

    Pour les pages statiques, même chose mais avec le hook <?php eval($plxShow->callHook('MyMultiLingue', 'staticlinks')) ?> à inserer dans les templates.

    A priori, le renvoi automatique vers une pages avec le même identifiant dans une autre langue était trop rigide et sujet à de nombreux risque de bug et d'incohérence ( un article n'est peut-être pas disponible dans une autre langue ou totalement diffèrent car rédiger à une date différente ou par un autre rédacteur.) Le choix d'associer volontairement une page à une autre semble plus sûr ou du moins permet de garder le contrôle. ;)

    Donc pour avoir la version d'une autre langue, il faut avoir inserer dans les fichiers du thème les hooks correspondant, associer les pages par langue et identifiants dans l'admin, et enfin cliquer sur le lien avec le drapeau de la page associé en question .

    En cliquant sur les drapeaux de langues du header, cela à pour effet de renvoyer le visiteur vers la version du site dans cette autre langue Il y a d'ailleurs la possibilité de sélectionné un thème différents par langue, cela devrait aider à réduire la confusion entre version française/anglaise et traduction en français/anglais.

    cdt

    edit A partir de l'administration , chaque langue correspond aussi à une version différente du site et pas à une traduction du site. ;)
    Le plugin te permet donc de gérer depuis une seule installation de PluXml , plusieurs sites en différente langue et pas de traduire un site dans une ou plusieurs autres langues.


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • Merci infiniment pour ta réponse qui devrait débloquer mon problème !

    Je ne pourrai cependant me replonger dedans que la semaine prochaine, car mon père vient de décéder cette nuit, et je dois évidemment donner la priorité aux obsèques...

    Avec mes excuses pour ce délai,

  • Toutes mes condoléances, désolé d'apprendre ça cela.


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • nounours18200nounours18200 Member
    septembre 2023 modifié

    Merci pour tes condoléances (c'est difficile mais je n'ai pas le choix...).

    J'ai relu ta réponse et je comprends mieux le principe de fonctionnement que je commençais à deviner.

    Je vais donc rajouter la ligne:

    <?php eval($plxShow->callHook('MyMultiLingue', 'artlinks')) ?>

    à "article.php",

    mais je ne suis pas sûr: dois-je aussi la rajouter à "article-full-width.php" ??
    Edit de 15h59:
    J'ai rajouté la ligne au fichier "article.php" et évidemment ça ajoute les drapeaux à la fin ce qui n'est pas pratique...
    J'ai ensuite essayé de la rajouter ici:

    <?php include __DIR__.'/header.php'; ?>

      
    

    <

    div class="container">

          
    

    <

    div class="grid">

              
    

    <

    div class="content col sml-12 med-9">

                  
    

    <

    article class="article" id="post-<?php echo $plxShow->artId(); ?>">

                      
    

    <

    header>

                          <span class="art-date">
                              <time datetime="<?php $plxShow->artDate('#num_year(4)-#num_month-#num_day'); ?>">
                                  <?php $plxShow->artDate('#num_day #month #num_year(4)'); ?>
                              </time>
                          </span>
    

    <?php eval($plxShow->callHook('MyMultiLingue', 'artlinks')) ?>

    <

    h2>

    mais ça fait planter luxml: la page article s'affiche entièrement blanche...

    J'aimerais que les drapeaux s'affichent juste après la 1er ligne donnant le titre ---> capture ci-jointe: où dois-je rajouter la ligne dans le fichier "article.php" ??? (purée quelle galère de ne pas parler le php aussi bien que l'anglais :'(

    Pour les pages statiques, même chose mais avec le hook <?php eval($plxShow->callHook('MyMultiLingue', 'staticlinks')) ?> à inserer dans les templates.

    Je suis allé voir dans le dossier "data\templates" , et il n'y a aucun fichier le répertoire est vide). Que dois-je faire ?

    J'attends ta réponse avant de faire les modifs, comme ça je ferai les 2 en même temps.

    Mille mercis

  • oups,

    Quand je parle de templates, je parles des fichiers d'un thème, où l'on trouve un gabarit(template) pour des portions et données différentes extraite par PluXml avant affichage. donc le fichier statique.php est lui aussi dans le répertoire du thème ;)

    mais je ne suis pas sûr: dois-je aussi la rajouter à "article-full-width.php" ??

    Si aucun de tes articles n'utilise ce template/gabarit, c'est en effet inutile.

    Si plus tard tu désactive le plugin où réutilise le même thème(une copie) pour un(e) autre site/installation, les hook ajoutés n'afficheront rien et resterons inactifs .

    courage ;)
    Cdt


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • septembre 2023 modifié

    Bonjour,

    je viens de voir ton edit (le forum à tout cassé lol )

    Alors, pour mettre le hook juste sous le titre (dans article.php) il faut placer le hook juste aprés le titre :

            <h2>
                <?php $plxShow->artTitle(); ?>
            </h2>
            <?php eval($plxShow->callHook('MyMultiLingue', 'artlinks')) ?>
    

    Pour le placer à coté, tu peut reprendre les class de PluCss utilisé par le thème en créant un nouveau conteneur pour le titre et le hook:

    exemple:

        <div class="grid">
            <h2 class="col sml-12 med-9">
                <?php $plxShow->artTitle(); ?>
            </h2>
            <?php eval($plxShow->callHook('MyMultiLingue', 'artlinks')) ?>
        </div>
    

    Pour les pages statique , dans le fichier static.php , même idée avec le hook des statiques:

    • dessous
        <header>
            <h2>
                <?php $plxShow->staticTitle(); ?>
            </h2>
            <?php eval($plxShow->callHook('MyMultiLingue', 'staticlinks')) ?>
        </header>
    
    • à coté, comme il n'y a que le titre dans <header> on peut lui ajouté directement la class grid.
        <header class="grid">
            <h2 class="col sml-12 med-9">
                <?php $plxShow->staticTitle(); ?>
            </h2>
            <?php eval($plxShow->callHook('MyMultiLingue', 'staticlinks')) ?>
        </header>
    


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • nounours18200nounours18200 Member
    septembre 2023 modifié
    Pour le placer à coté, tu peut reprendre les class de PluCss utilisé par le thème en créant un nouveau conteneur pour le titre et le hook:
    
    exemple:
    
        <div class="grid">
            <h2 class="col sml-12 med-9">
                <?php $plxShow->artTitle(); ?>
            </h2>
            <?php eval($plxShow->callHook('MyMultiLingue', 'artlinks')) ?>
        </div>
    

    Je n'ai pas de problème pour rajouter ça dans le fichier "plucss.css" situé dans "themes\defaut\css" si c'est bien de ce fichier qu'il s'agit, mais je ne sais pas à quel endroit du fichier le rajouter ???

    Voici mon fichier "plucss.css" actuel:
    https://mega.nz/file/tuBQTA6a#acDIJbMEaq4ZBLOfAwjBoArUSRzsGZ5cqOgLtLt-ebo

    Peux-tu m'indiquer où rajouter le code que tu m'as donné ? (je suis prudent car quand j'avais essayé de modifier "article.php", je me retrouvais avec un affichage tout blanc !).

    On verra ensuite pour les pages statiques...

    Mille mercis comme d'hab,

  • septembre 2023 modifié

    Rebonjour,
    Tu semble avoir très peu d'expérience avec le codage ou du moins, j'ai l'impression que je te parle une langue étrangère :)
    Les class utilisées sont celles de PluCss, il ne faut pas toucher à ce fichier .
    Les modif et ajouts sont à faire dans les fichiers du thème que tu utilises et en particulier les fichiers article.php et static.php

    Je vais tenter de faire plus simple.
    Utilises tu le thème par défaut de PluXml 5.8.9 (depuis cette archive de pluxml ici : https://www.pluxml.org/download/pluxml-latest.zip ) ? ou un autre thème, ou celui d'une autre version de PluXml (dans ce cas donne moi le lien de téléchargement)?

    En partant du thème que tu utilises, j'y ajouterais les hooks pour que le thème reste fonctionnel.

    par exemple le thème par défaut de la version 5.8.9 modifié que tu peut récupérer ici : https://re7net.com/testtemp/defaut.zip

    Si tu as fait d'autre modif sur ton thème, alors fait un zip et donne moi son lien en MP (depuis ton site, pas un hébergeur qui récolte des infos sur leurs visiteurs) , je te renverrai un lien avec le thème modifié (depuis l'un de mes site) ici ou en MP si tu préfères.

    cdt


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • Tu semble avoir très peu d'expérience avec le codage ou du moins, j'ai l'impression que je te parle une langue étrangère :)

    Ce n'est pas une impression: je ne pige absolument rien au PHP ! :'( (et pourtant je code beaucoup, mais en général dans l'électronique: des systèmes télécommandant des cartes électroniques complètes, en infrarouge et par des applications smartphone, des Firmwares par ex, où je fais des choses assez complexes, en C++ généralement).

    Utilises tu le thème par défaut de PluXml 5.8.9

    Oui : j'ai fait exprès de garder le thème par défaut car je me doutais qu'il y aurait des adaptations à faire...
    La seule adaptation que j'ai faite pour l'instant c'est le fichier "article.php" pour le multilingue, mais je t'ai préparé un .zip complet.

    En partant du thème que tu utilises, j'y ajouterais les hooks pour que le thème reste fonctionnel.

    Génial ! c'est inespéré, mille mercis !

    Mais il faudra que tu me dises précisément toutes les modifs que tu aura faites, afin que j'essaie de comprendre !! (ce qui n'est pas gagné...)

    Je t'envoie le lien du ZIP par MP; as-tu besoin des identifiants administrateur ?

    (c'est un tout petit site que je suis en train de prototyper, donc pas de risques, et puis on doit pouvoir changer le pwd si mon associé devient craintif... ;)

  • septembre 2023 modifié

    Je t'envoie le lien du ZIP par MP; as-tu besoin des identifiants administrateur ?

    non, pas besoin pour un fichier à télécharger .
    Si c'est le thème par défaut, alors , le lien de l'archive du theme par defaut modifié https://re7net.com/testtemp/defaut.zip devrait suffire

    Fichiers modifiés:

    • header.php (lien vers version du site en fr et en
    • article.php et article-full-width.php dans la balise header avec ajout des class grid et col ...
    • static.php et static-full-width.php idem

    Cdt

    edit:
    Les modif sont simplement l'insertion du hook : un copier / coller dans la structure HTML la ou tu souhaites à priori afficher le lien

    Il y a aussi la modif de la structure HTML ou j'ajoute un div avec la class grid autour du titre (le <h2>) sur lequel je rajoute les class 'col sml-12 med-9' et le hook.
    Les class ajouté sont des class et règles CSS déjà ecrite dans le fichier PluCss.css. Je réutilise des portions de styles déjà écrites.


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

  • Mille mercis: je reviens vers toi dès que possible (je dois m'occuper de choses pas très amusantes suite au décès de mon père),

  • @ gcyrillus-nomade :

    ça marche nickel sur les articles (bravo) mais pas sur les pages statiques : je suppose qu'il y a un truc supplémentaire à faire ???

  • Bonjour
    Oui, pour les statiques, c'est comme les articles, il faut remplir le champs avec le numéro de la statique rédigée dans l'autre langue. ;)


    Cordialement,
    gcyrillus

    Mon site PluXml: https://re7net.com | Plugins: https://ressources.pluxopolis.net/banque-plugins/index.php?all_versions | demos sur free http://gcyrillus.free.fr/new | Thèmes: tester et télécharger @ https://pluxthemes.com
    Indiquez [RESOLU] dans le titre de votre question une fois le soucis réglè, Merci

Connectez-vous ou Inscrivez-vous pour répondre.