PluXml.org

Blog ou CMS à l'Xml

Vous n'êtes pas identifié(e).

#1 20/04/2015 14:59:25

aruhuno
Membre
Lieu : Claye-Souilly (77)
Inscription : 13/07/2011
Messages : 254
Site Web

Attribut "active" au menu

Bonjour à tous !

Je viens vers vous afin de savoir si il est possible de rendre actif le lien "home" lorsque qu'aucun des liens du menu est actif ? En gros, imaginons que nous sommes sur un article d'une catégorie non-présente dans le menu ; peut-on alors rendre l'élément cat-home actif ?

En vous remerciant d'avance pour vos réponses.


"Parce que la connaissance appartient à tout le monde...", Inios.

Hors ligne

#2 20/04/2015 15:37:37

Stéphane
Responsable du projet
Lieu : pas loin de Metz
Inscription : 07/08/2007
Messages : 6 117
Site Web

Re : Attribut "active" au menu

Salut

comment utilises-tu l'appel de la fonction catList.
C'est pour savoir comment sont renseignés les paramètres de la fonction dans le cas de ton thème

(même si je doute pouvoir donner une réponse positive à ta question)


Mes articles et tutoriels pour PluXml
Pluxopolis mon site sur PluXml, mais pas seulement...
Twitter: @pluxopolis

Hors ligne

#3 20/04/2015 15:52:51

aruhuno
Membre
Lieu : Claye-Souilly (77)
Inscription : 13/07/2011
Messages : 254
Site Web

Re : Attribut "active" au menu

Hum, suis pas sûr de comprendre, mais voilà mon menu :

<div id="menu">
	<ul>
		<li class="maintitle"><a href="<?php $plxShow->urlRewrite() ?>">inios</a></li>
		<?php
			$plxShow->catList($plxShow->getLang('HOME'),'<li class="#cat_id"><a href="#cat_url" class="#cat_status" title="">#cat_name</a></li>');
			$plxShow->staticList('','<li class="#static_id"><a href="#static_url" class="#static_status" title="">#static_name</a></li>');
		?>
	</ul>
</div>

Dernière modification par aruhuno (20/04/2015 15:53:09)


"Parce que la connaissance appartient à tout le monde...", Inios.

Hors ligne

#4 20/04/2015 15:56:00

Stéphane
Responsable du projet
Lieu : pas loin de Metz
Inscription : 07/08/2007
Messages : 6 117
Site Web

Re : Attribut "active" au menu

Merci. en fait je voulais savoir si le 1er parametre de catList était renseigné car c'est lui qui conditionne cat-home
dans ton cas oui

$plxShow->catList($plxShow->getLang('HOME'), ...);

Mes articles et tutoriels pour PluXml
Pluxopolis mon site sur PluXml, mais pas seulement...
Twitter: @pluxopolis

Hors ligne

#5 21/04/2015 10:09:32

Stéphane
Responsable du projet
Lieu : pas loin de Metz
Inscription : 07/08/2007
Messages : 6 117
Site Web

Re : Attribut "active" au menu

Salut

Alors j'ai ça a te proposer en espérant que ça réponde à ta demande

1) créer un dossier catList dans le dossier plugins de PluXml de manière à avoir /plugins/catList
2) créer dans /plugins/catList un fichier infos.xml et copie dedans le code suivant

<?xml version="1.0" encoding="UTF-8"?>
<document>
	<title><![CDATA[catList]]></title>
	<author><![CDATA[Stéphane F.]]></author>
	<version>1.0</version>
	<date>21/04/2015</date>
	<site>http://pluxopolis.net</site>
	<description><![CDATA[Modification du comportement de la fonction plxShow::catList]]></description>
	<requirements></requirements>
</document>

3) créer dans /plugins/catList un fichier catList.php et copie dedans le code suivant

<?php
class catList extends plxPlugin {

	public function __construct($default_lang) {
		parent::__construct($default_lang);
		$this->addHook('plxShowLastCatList', 'plxShowLastCatList');
	}

	public function plxShowLastCatList() {
		echo '<?php
			$active=false;
			if($this->catId()=="home" OR ($this->plxMotor->mode=="categorie" AND $this->plxMotor->aCats[$this->plxMotor->cible]["menu"]=="non")) {
				$active = true;
			}
			if($extra != "") {
				$name = str_replace("#cat_id","cat-home",$format);
				$name = str_replace("#cat_url",$this->plxMotor->urlRewrite(),$name);
				$name = str_replace("#cat_name",plxUtils::strCheck($extra),$name);
				$name = str_replace("#cat_status",($active?"active":"noactive"), $name);
				$name = str_replace("#art_nb","",$name);
				echo $name;
			}
			$extra="";
		?>';
	}

}
?>

4) active le plugin catList qui devrait apparaître dans la liste de tes plugins inactifs

ça devrait faire maintenant ce que tu veux
(attention de bien sauvegarder les fichiers au format UTF-8 (sans bom) si tu utilises notepad++ par exemple)


Mes articles et tutoriels pour PluXml
Pluxopolis mon site sur PluXml, mais pas seulement...
Twitter: @pluxopolis

Hors ligne

#6 21/04/2015 11:26:34

aruhuno
Membre
Lieu : Claye-Souilly (77)
Inscription : 13/07/2011
Messages : 254
Site Web

Re : Attribut "active" au menu

Bonjour,

Je viens d'essayer et non, ça ne change rien ><
J'espère m'être bien exprimer, mais dans le doute, imaginons que je suis sur cette page, je voudrait que "Accueil" soit en "class='active'".

Voilou, merci de ton aide !


"Parce que la connaissance appartient à tout le monde...", Inios.

Hors ligne

#7 21/04/2015 12:41:51

Stéphane
Responsable du projet
Lieu : pas loin de Metz
Inscription : 07/08/2007
Messages : 6 117
Site Web

Re : Attribut "active" au menu

C'est ça le problème je ne comprends pas bien dans quel cas tu veux que Accueil soit avec active


Mes articles et tutoriels pour PluXml
Pluxopolis mon site sur PluXml, mais pas seulement...
Twitter: @pluxopolis

Hors ligne

#8 20/08/2015 21:29:06

Pierre
Membre
Lieu : La belle province
Inscription : 22/06/2014
Messages : 1 025

Re : Attribut "active" au menu

Je présume que le désir est d'avoir la classe activée dans le CSS pour que le style lui donne sa "surbrillance" par exemple comme dans le thème démo http://chorale.shost.ca/index.php?article39/premium  qui colore l'item de menu actif.  Je ne pense pas que ça nécessite le plugin mentionné. 

Désolé si j'enfonce mon pied dans ma bouche.  Je n'ai pas mes outils sous la main.


#titanic {
    float: none;
    bottom: 0;
}

Hors ligne

Pied de page des forums

A propos Nous soutenir Contact Twitter Google+
Copyright © 2006-2017 PluXml.org, tous droits réservés