[SPXWMENU] : menu administrable

2»

Réponses

  • je-evrardje-evrard Member
    décembre 2015 modifié
    Bonjour djinlemage,

    Peux-tu donner l'url pour regarder la structure html, css, js s'il te plait ? Je pense a un problème de css.

    a+

    jeje
  • Merci de ton retour et bonne année :)

    Voici le lien vers mon site test :

    http://testdjin.net23.net/

    Et voici ma config :

    638000ConfMenu.png

    Ai je fais une erreur ?

    Merci
  • @je-evrard As tu trouve quelque chose ?
  • @djinlemage

    Tu as une erreur javascript dans ta console ce qui ne permet pas au menu de s'initialiser normalement (bootsrap ici)

    Uncaught TypeError: jQuery(...).magnificPopup is not a function

    Sinon la stucture html est correct et le plugin semble fonctionner normallement.

    a+

    jéjé
  • Wouha merci !

    Aurais u une idée sur comment résoudre ce souci ?
    Je n'ai que des connaissance limité ...

    Avec quel outil as tu vu ça ?

    Merci
  • je-evrardje-evrard Member
    avril 2016 modifié
    Bonjour,

    Mise a jour en version 1.5

    **** v 1.5. ****
    - mod help plugin for pluxml 5.5
    **** v 1.4. ****
    - BUG : $classselect=' class="active" '; ligne 46 menu bootstrap bug
    - add bootstrappro

    Vous avez maintenant la possibilité de configurer le menu bootsrap finement avec un shortcode de ce type (menu_type= bootstrappro et ses nombreuses propriétées)

    [== HTML ==]
    [SPXWMENU id=001 menu_type='bootstrappro' bspro_navbar_collapse_type='nav' bspro_navbar_collapse='' bspro_navbar_nav='nav nav-pills' bspro_navbar_nav_id='mainNav' bspro_bcaret='' bspro_dropdown='dropdown' bspro_dropdown_menu = 'dropdown-menu' bspro_dropdown_submenu = 'dropdown-submenu' ]
    

    La structure du menu pouvant se faire sur 3 niveaux

    bootstrapprostructure.jpg

    Le menu en action sur la nouvelle version de mon site (en cours) : ici

    Voir l'aide du plugin.


    a+

    jeje
  • je-evrardje-evrard Member
    mai 2016 modifié
    Bonjour,

    Si vous voulez remplacer le menu du thème par default de la 5.5 par un menu personnalisé controlé par ce plugin rien de plus simple :

    - intaller le plugin et préparer votre menu (voir l'aide du plugin nécessite spxwmenu, spxdatas et spxshorcodes bien sur)

    - modifier le css du thème (default/css/theme.css) par default en rajoutant à la fin :
    [== Indéfini ==]
    /* made by jeje */
    .nav {
        height: auto;
    }
    .nav .open > a, .nav .open > a:hover, .nav .open > a:focus {
        background-color: #eeeeee;
        border-color: #428bca;
    	color:grey;
    }
    .dropdown-toggle:focus {
      color:grey;
    }
    .nav > li > a:hover,
    .nav > li > a:focus {
     color:grey;
    }
    

    Et enfin dans header.php du thème par default (default/header.php)

    Remplacer
    [== Indéfini ==]
    <nav class="nav" role="navigation">
    		<div class="responsive-menu">
    			<label for="menu"><?php $plxShow->lang('MENU'); ?></label>
    			<input type="checkbox" id="menu">
    			<ul class="menu expanded">
    				<?php $plxShow->staticList($plxShow->getLang('HOME'),'<li class="#static_status" id="#static_id"><a href="#static_url" title="#static_name">#static_name</a></li>'); ?>
    				<?php $plxShow->pageBlog('<li id="#page_id"><a class="#page_status" href="#page_url" title="#page_name">#page_name</a></li>'); ?>
    			</ul>
    		</div>
    		
    </nav>
    

    Par
    [== Indéfini ==]
    <nav class="nav" role="navigation">
    	[SPXWMENU id=001 menu_type='bootstrap' ]
    </nav>
    

    L'id étant votre id de menu widget (voir la doc du plugin)

    Enjoy !
  • **** v 1.6. ****
    - issue : fix issue for help

    Vous pouvez mettre à jour facilement via le spxplugindowloader
  • DudyDudy Member
    Ciao Jerome
    je viens d'installer SPXdatas spxmenu spxshortcode, tu c'est bien passé, mais quand j'essaye de créer mon menu j'ai cette ligne d'erreur
    Warning: Illegal string offset 'value' in /xxx/Pluxml/plugins/spxdatas/spxdatas.php on line 763
    et à la ligne 763 il y a ce script
    [== PHP ==]
    # return a html field
    	public function getHTMLfield($acolumn,$avalue,$number_id) {	
    		$aoption = $acolumn["option"];
    		$name = $acolumn["name"];
    		$reado = $acolumn["reado"];
    		$value = $avalue["value"];
    		$type = $aoption[0];
    
    un idée stp?
    merci
  • je-evrardje-evrard Member
    juin 2016 modifié
    Salut dudy,

    Et en changeant par ceci :
    [== Indéfini ==]
    ...
    
    $aoption = $acolumn["option"];
    $name=$acolumn["name"];
    $reado=$acolumn["reado"];
    $value="";
    if (isset($avalue["value"]))
    	$value=$avalue["value"];
    $type = $aoption[0];
    
    ...
    

    Tu peux me dire si ça marche. Merci.
  • je-evrardje-evrard Member
    juin 2016 modifié
    Je vais prendre l'habitude de travailler avec ça

    config.php de core/lib/
    [== Indéfini ==]
    define('PLX_DEBUG', true);
    define('PLX_VERSION', '5.5');
    
    # Gestion des erreurs PHP
    if(PLX_DEBUG) error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);
    

    :)
  • DudyDudy Member
    merci Je
    ça à l'air de marcher
    je vais créer mon menu et je te dirais
    merci de ta disponibilité
  • DudyDudy Member
    juste une question pour personnaliser les couleurs et le reste sur quel css dois-je travailler??
  • PPmarcelPPmarcel Member
    août 2016 modifié
    Salut Jérôme,

    J'ai un soucis, sans doute pas inhérent au plugin lui-même. Je fais des menus avec 2 sous-niveaux : "Autour du globe" > "France" > "Région X".

    Pour se faire, j'ai groupé les pages statiques "Région X" dans un groupe "France", puis j'ai mis ce groupe comme item du menu.
    Pour la navigation en mode "desktop", j'ai activé le déroulement des menus avec le survol de la souris -> aucun soucis.

    Le problème, c'est que si je clique sur "France" je me vois renvoyé sur "/#".
    Depuis la home page ça me ramène en haut de page. Depuis un article ça me ramène en haut de la home page.

    Or lorsqu'on consulte le site depuis un téléphone ou une tablette, le menu devient justement tactile. On se retrouve à changer involontairement de page.

    Est-ce que on pourrait neutraliser ce comportement ?

    Tu peux tester sur mon site : http://maoli.fr
  • Salut Jérôme,

    Tu crois que c'est du ressort du plugin ?
  • je-evrardje-evrard Member
    septembre 2016 modifié
    Hello,

    Désolé pour cette réponse tardive mais je suis pas mal occupé en ce moment. Le boulot c'est pas toujours facile.

    la structure du menu est la suivante
    [== Indéfini ==]
    <a class="dropdown-toggle" data-toggle="dropdown" href="http://maoli.fr/#">France<b class="caret"></b></a>
    

    et effectivement il y a un lien dans ce contexte qu'il faudrait désactiver et le remplace par javascript:void(0) ou un truc dans le style. Le plugin est donc en cause.

    Essaye de modifier la class spxwmenu/lib/class.spxmenu.bootstrap.php

    ligne 25
    [== Indéfini ==]
    $out.= '<a href="#" class="dropdown-toggle" data-toggle="dropdown">'.$amaenutmp[$i]["title"].'<b class="caret"></b></a>';
    

    par
    [== Indéfini ==]
    $out.= '<a href="javascript:void(0)" class="dropdown-toggle" data-toggle="dropdown">'.$amaenutmp[$i]["title"].'<b class="caret"></b></a>';
    

    idem pour la ligne 107
    [== Indéfini ==]
    $out='<li class="dropdown" ><a class="dropdown-toggle" data-toggle="dropdown" href="#">'.$t.'<b class="caret"></b></a>';
    

    par
    [== Indéfini ==]
    $out='<li class="dropdown" ><a class="dropdown-toggle" data-toggle="dropdown" href="javascript:void(0)">'.$t.'<b class="caret"></b></a>';
    

    jéjé
  • PPmarcelPPmarcel Member
    septembre 2016 modifié
    Salut,

    Merci de ta réponse.

    Tel quel cela n'a pas marché : sous chrome tout du moins ça m'emmène sur la page /javascript:void(0) ==> 404.

    En revanche comme tu m'as montré où trifouiller, j'ai testé une autre solution basée sur onclick trouvée sur stackoverflow :
     25    $out.= '<a href="#" class="dropdown-toggle" onclick="return false;" data-toggle="dropdown">'.$amaenutmp[$i]["title"].'<b class="caret"></b></a>';
    ...
    107    $out='<li class="dropdown" ><a class="dropdown-toggle" data-toggle="dropdown" href="#" onclick="return false;">'.$t.'<b class="caret"></b></a>';
    

    Ca fonctionne, mais je crois me souvenir qu'il y a des cas où onclick n'est pas interprété par certains navigateurs par mesure de protection.

    Au fait bravo pour ta promotion dans le staff, c'est amplement mérité ! ;)
    J'ai hâte de voir le fruit de ta collaboration avec Stéphane.
  • PPmarcel a écrit:
    Au fait bravo pour ta promotion dans le staff, c'est amplement mérité ! wink
    J'ai hâte de voir le fruit de ta collaboration avec Stéphane.

    Merci. On en reparle bientot sur.
  • Oh ben oui dis donc...Felicitations :)

    J'ai du rate l'intronisation !
  • Salut je-evrard,

    il y a a première vue un manque pour l'activation ou pas d'une entité du menu, quand on désactive cela ne fais rien.

    J'ai ajouté ça a la ligne 225 dans spxwmenu.php ça fonctionne.
    [== PHP ==]
    if (!$amenu[$i]["actif"])
       continue;
    

    merci pour tes plugins.
  • Merci.

    J'ai rajouté ça pour que ça coupe la branche level 0 en cas de désactivation et une prise en compte de la désactivation des éléments du level 1.

    Fonction : getMenu(...)
    [== Indéfini ==]
    if ($amenu[$i]["level"]=="0" && $amenu[$i]["actif"]){
    	array_push($amaenutmp,$amenu[$i]);
    	$countl1++;
    	$blevel0_actif = true;
    } else if ($amenu[$i]["level"]=="0") {
    	$blevel0_actif = false;
    }
    			
    if ($amenu[$i]["level"]=="1" && $amenu[$i]["actif"] && $blevel0_actif == true){
    	if (count ($amaenutmp[$countl1-1]["sub"]) == 0) $amaenutmp[$countl1-1]["sub"]=array();
    	array_push($amaenutmp[$countl1-1]["sub"],$amenu[$i]);
    }
    

    Mise a jour donc en 1.7.

    **** v 1.7. ****
    - miss : add active or desactive menu and submenu

    a+

    jeje
  • Salut,

    J'essaye d'utiliser SPXWMENU.

    J'ai créé 2 menus et je n'arrive pas à les faire afficher :
    [list=*]
    [*]ni par un appel dans le theme[/*]
    [*]ni par un appel depuis une page statique, par du code PHP[/*]
    [/list]

    Est-il normal qu'il n'y ait pas de fonctions getMenuID ni getMenuTitle dans le code de spxwmenu.php ?


    PS : J'ai essayé avec SPXShortCode mais il plante ... voir par ailleurs.
  • AisykAisyk Member
    Bonjour,

    J'ai créé un menu mais pas moyen d'afficher autre chose que " [SPXWMENU id=001 menu_type='bootstrap' ] " quel est le soucis ?

    Mon id de menu est bien 001 comme indiqué dans la documentation...
  • PPmarcelPPmarcel Member
    mai 2018 modifié
    Aisyk a écrit:
    Bonjour,

    J'ai créé un menu mais pas moyen d'afficher autre chose que " [SPXWMENU id=001 menu_type='bootstrap' ] " quel est le soucis ?

    Mon id de menu est bien 001 comme indiqué dans la documentation...

    Bonjour,

    Je pense qu'il te manque le plugin SPXSHORTCODES qui sert justement à interpréter cette balise et à appeler le plugin correspondant.
  • je-evrard, serait-il possible d'ajouter un peu personnalisation dans les menus ?

    Je pense particulièrement à du texte (non cliquable) et des séparateur, comme sur ce site https://startbootstrap.com/ (menu "Themes" et son texte "Template & Theme Categories").

    Sur mon site personnel, je cherche à faire une sélection menu avec une zone ou j'aurais un intitulé et un ensemble de pages statiques et une autre avec un autre titres et les pages statiques correspondantes.
  • PPmarcelPPmarcel Member
    décembre 2018 modifié
    Bonjour,

    Suite à une montée en version vers PHP7.2, j'ai maintenant des erreurs qui sortent avec le plugin comme quoi une variable $s serait introuvable lorsque je vais sur ma page de contact :
    2018/12/28 10:36:57 [error] 27488#27488: *210 FastCGI sent in stderr: "PHP message: PHP Notice:  Undefined variable: s in /srv/www/blog/plugins/spxwmenu/spxwmenu.php on line 268
    PHP message: PHP Notice:  Undefined index: field in /srv/www/blog/plugins/spxdatas/spxdatas.php on line 1845
    PHP message: PHP Notice:  Undefined index: order in /srv/www/blog/plugins/spxdatas/spxdatas.php on line 1864
    PHP message: PHP Notice:  Undefined index: limit in /srv/www/blog/plugins/spxdatas/spxdatas.php on line 1882
    [...]
    2018/12/28 10:36:57 [error] 27488#27488: *210 FastCGI sent in stderr: "w/blog/plugins/spxdatas/spxdatas.php on line 1845
    PHP message: PHP Notice:  Undefined index: order in /srv/www/blog/plugins/spxdatas/spxdatas.php on line 1864
    PHP message: PHP Notice:  Undefined index: limit in /srv/www/blog/plugins/spxdatas/spxdatas.php on line 1882
    PHP message: PHP Notice:  Undefined index: offset in /srv/www/blog/plugins/spxdatas/spxdatas.php on line 1888
    [...]
    

    J'ai déjà corrigé des erreurs déjà remontées avec spxtinymce.
    As-tu une idée sur comment réparer ce problème ?

    Note: ça n'empêche pas le plugin de fonctionner correctement, mais ça blinde les logs.
  • Bonjour,

    Essaye de désactiver les rapports d'erreurs de notice :
    [== Indéfini ==]
    // Report all errors except E_NOTICE
    // This is the default value set in php.ini
    error_reporting(E_ALL & ~E_NOTICE);
    

    Je n'ai pas prévu de mise à jour de ce plugin pour le moment.

    Cordialement,

    jerome
  • En tout cas c'est mieux, merci pour ta réponse rapide.
Connectez-vous ou Inscrivez-vous pour répondre.