$this->app->redirect() conserve les ancres

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • $this->app->redirect() conserve les ancres

    Bonjour,

    j'ai un souci avec la redirection, dans mon code j'utilise redirect, comme ceci :
    Code PHP:
    if (intval($productid)) {
    $this->app->redirect(Route::_('index.php?option=com_gixcomp&v iew=user&layout=user_product_edit&id=' $this->app->input->getInt('id'0)));
    return;
    }
    ​ 

    mon souci, c'est que peut importe ce que je mets comme url, la redirection se fait correctement, mais emporte avec elle l'ancre de la page actuelle.
    pourtant mon url est propre, bien vérifiée bien sur avec un var_dump, je m'arrache les cheveux ...

    Quelqu'un connait ce souci ? ca ne m'était jamais arrivé

    Merci d'avance

  • #2
    Salut
    Je t'invite a consulter cette page


    Puis a utiliser ce genre de code ( jamais tester)
    Code PHP:
    use Joomla\CMS\Uri\Uri;
    use 
    Joomla\CMS\Factory;

    $currentUrl Uri::getInstance()->toString();
    $urlSansAncre Uri::getInstance($currentUrl)->removeFragment()->toString();

    Factory::getApplication()->redirect($urlSansAncre);​ 
    Voila vers quoi je m'orienterai.

    ++

    Commentaire


    • #3
      a quoi ressemble ton url après redirection?

      Commentaire


      • #4
        Bonjour,

        merci pour vos réponses.​
        Désolée pour le temps de réponse, je n'ai pas recu le mail me prévenant de nouveaux messages.

        Envoyé par Wismer Voir le message
        Salut
        Je t'invite a consulter cette page


        Puis a utiliser ce genre de code ( jamais tester)
        Code PHP:
        use Joomla\CMS\Uri\Uri;
        use 
        Joomla\CMS\Factory;

        $currentUrl Uri::getInstance()->toString();
        $urlSansAncre Uri::getInstance($currentUrl)->removeFragment()->toString();

        Factory::getApplication()->redirect($urlSansAncre);​ 
        Voila vers quoi je m'orienterai.

        ++
        Pour la doc, c'est une doc Joomla 3 et je suis sur joomla 5, mais même en joomla 3 la fonction removeFragment n'est pas présente sur la doc, le test confirme avec une erreur :
        0 - Call to undefined method Joomla\CMS\Uri\Uri::removeFragment()

        voici la doc pour joomla 4/5:



        Envoyé par Nioupixel Voir le message
        a quoi ressemble ton url après redirection?
        Peut importe l'url que je met, elle garde l'ancre, même en mettant la racine, en gros l'url après redirection est : "/#ancre"
        je n'ai pourtant pas l'ancre dans ma redirection, et j'ai désactivé tout js qui pourrait interférer après redirection c'est vraiment bizarre

        J'ai quand même trouvé une alternative en attendant, si je mets une autre ancre, ca évite l'ancienne
        Code PHP:
                    if (intval($productid)) {
                        
        $this->app->redirect(Route::_('index.php?option=com_gixcomp&view=user&layout=user_product_edit&id=' $this->app->input->getInt('id'0)) . '#0');
                        return;
                    }
        ​ 
        Dernière édition par Minie à 07/07/2024, 09h25

        Commentaire


        • #5
          avec un accès FTP et un lien vers le site à l'endroit en question je pourrais débugger mais sans pourvoir faire des tests difficile de t'aider comme ça

          Commentaire

          Annonce

          Réduire
          Aucune annonce pour le moment.

          Partenaire de l'association

          Réduire

          Hébergeur Web PlanetHoster
          Travaille ...
          X