Virtuemart Breadcrumbs liens non SEF

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

  • [RÉGLÉ] Virtuemart Breadcrumbs liens non SEF

    Bonjour
    Virtuemart 3.0.9
    Liens SEF activés
    En faisant un override du mod_breadcrumbs pour y insérer les microdatas, je me suis rendu compte d'une chose que je n'avais pas remarqué sur les versions anterieures de virtuemart 3.

    Précision le fil d'ariane pour les pages joomla fonctionne parfaitement, donc amha le problème viens de virtuemart.

    Voilà le soucis :

    *Pour la page d'acceuil de la boutique :

    url SEF : www.mondomaine.com/nom-de-ma-boutique

    url du fil d'ariane : http://www.mondomaine.com/nom-de-ma-...uctsublayout=0

    *Pour les pages des catégories :

    url SEF : http://www.mondomaine.com/nom-de-ma-...e-ma-categorie

    url du fil d'ariane : http://www.mondomaine.com/nom-de-ma-...uctsublayout=0

    *Pour les pages produits :

    url SEF : http://www.mondomaine.com/nom-de-ma-...de-mon-produit

    url du fil d'ariane : www.mondomaine.com

    Je suppose que la source de tout ca est dans le router.php de virtuemart...j'ai bien regardé mais je ne m'y entends pas assez en php pour localiser exactement la/les lignes en cause...

    J'ai pensé à une solution de secours qui serai dans mod_breadcrumbs de ne pas appeler les liens avec href="' . $item->link . '" puisque virtuemart à l'air d'avoir des blèmes avec l'interprétation des itemid, mais avec les alias, sauf que pour la syntaxe je sèche...
    Dernière édition par -Tony- à 18/06/2015, 07h39

  • #2
    Re : Virtuemart Breadcrumbs liens non SEF

    En prenant comme exemple la facon dont sont appelées les url dans mod_menu j'ai donc voulu dire dans mod_breadcrumbs :

    Code PHP:
    $item->params->get('aliasoptions'),$path 
    ou

    Code PHP:
    $item->params->get('aliasoptions') . 
    a la place de

    Code PHP:
     $item->link 
    Mais ca ne marche pas...testé deux trois autres trucs aussi...

    Genre appeler
    Code PHP:
    require JModuleHelper::getLayoutPath('mod_menu''default_url'); 
    et remplacer
    Code PHP:
     $item->link 
    par
    Code PHP:
     $item->flink 
    Mais que dalle.

    fin bon...comme un gamin qui touche à tous les boutons sans savoir ce qu'ils font, lol.

    Commentaire


    • #3
      Re : Virtuemart Breadcrumbs liens non SEF

      Bonjour
      Je n'y arrive toujours pas....
      C'est dingue quand même, pour virtuemart les url du mod_menu sont ok mais pas celles du mod_breadcrumbs...

      Commentaire


      • #4
        Re : Virtuemart Breadcrumbs liens non SEF

        Réglé : https://forum.virtuemart.net/index.php?topic=130292.0


        Ce qui donne :

        Code PHP:
        <ul class="breadcrumbs<?php echo $moduleclass_sfx?>">
        <?php if ($params->get('showHere'1))
            {
                echo 
        '<li itemprop="breadcrumb" class="active">' JText::_('MOD_BREADCRUMBS_HERE') . '</li>';
            }
            
            
        // Get rid of duplicated entries on trail including home page when using multilanguage
            
        for ($i 0$i $count$i++)
            {
                if (
        $i == && !empty($list[$i]->link) && !empty($list[$i 1]->link) && $list[$i]->link == $list[$i 1]->link)
                {
                    unset(
        $list[$i]);
                }
            }

            
        // Find last and penultimate items in breadcrumbs list
            
        end($list);
            
        $last_item_key key($list);
            
        prev($list);
            
        $penult_item_key key($list);
            
        // Make a link if not the last item in the breadcrumbs
            
        $show_last $params->get('showLast'1);
            
        // Generate the trail
        $view JRequest::getCmd('view');
            foreach (
        $list as $key => $item) :
            if (
        $key != $last_item_key)
            {
                
        // Render all but last item - along with separator
                
        echo '<li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">';
                if (!empty(
        $item->link))
                {
        $item->link=str_replace'fournisseur/?categorylayout=default&amp;showcategory=1&amp;showproducts=1&amp;productsublayout=0'''$item->link);
        $item->link=str_replace'?productsublayout=0'''$item->link);
                    echo 
        '<a itemprop="url" href="' $item->link '" class="pathway"><span itemprop="title">' $item->name '</span></a>';
                }
                else
                {
                    echo 
        '<span>' $item->name '</span>';
                }

                echo 
        '</li>';
            }
            elseif (
        $show_last)
            {
        $monUrl "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 
                
        // Render last item if reqd.
                
        echo '<li itemscope itemtype="http://data-vocabulary.org/Breadcrumb" class="active">';
                echo 
        '<a itemprop="url" href="' $monUrl '" class="pathway"><span itemprop="title">' $item->name '</span></a>';
                echo 
        '</li>';
            }
            endforeach; 
        ?>
        </ul>

        Commentaire

        Annonce

        Réduire
        1 sur 2 < >

        C'est [Réglé] et on n'en parle plus ?

        A quoi ça sert ?
        La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

        Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

        Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
        Comment ajouter la mention [Réglé] à votre discussion ?
        1 - Aller sur votre discussion et éditer votre premier message :


        2 - Cliquer sur la liste déroulante Préfixe.

        3 - Choisir le préfixe [Réglé].


        4 - Et voilà… votre discussion est désormais identifiée comme réglée.

        2 sur 2 < >

        Assistance au forum - Outil de publication d'infos de votre site

        Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

        Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

        Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

        UTILISER À VOS PROPRES RISQUES :
        L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

        Problèmes connus :
        FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

        Installation :

        1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

        Archive zip : https://github.com/AFUJ/FPA/zipball/master

        2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

        3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

        4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

        5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

        6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
        et remplacer www. votresite .com par votre nom de domaine


        Exemples:
        Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
        Télécharger le script fpa-fr.php dans: /public_html/
        Pour executer le script: http://www..com/fpa-fr.php

        Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
        Télécharger le script fpa-fr.php dans: /public_html/cms/
        Pour executer le script: http://www..com/cms/fpa-fr.php

        En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

        Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
        Voir plus
        Voir moins
        Travaille ...
        X