PluXml.org

Blog ou CMS à l'Xml

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

#1 12/02/2017 20:24:56

bronco
Membre
Lieu : Près de Rouen
Inscription : 09/09/2013
Messages : 94
Site Web

Caméléon: un thème différent par catégorie/page statique

Bonjour à tous,
J'ai fait un plug in pour Cyrille qui voulait faire du multisite sans gérer plusieurs instances de pluXML.
Il suffit de créer un dossier de thème pour chaque catégorie ou page statique qu'on souhaite distinguer des autres.
On peut ainsi changer radicalement la mise en page, les «widgets», les sidebars et leur contenu...

Il y a un descriptif pluscomplet là http://warriordudimanche.net/article048 … -statiques

et pour le téléchargement c'est là : http://repo.warriordudimanche.net/ZIPFILES/Cameleon.zip

Si ça peut servir à quelqu'un ;-)

Hors ligne

#2 12/02/2017 21:25:49

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

Re : Caméléon: un thème différent par catégorie/page statique

Salut Bronco

J'ai vu dans les sources de ton plugin que tu utilises l'instruction php glob.
Pour info, il me semble que glob est blacklisté par free.fr.
Donc pour ceux qui voudrait utiliser ce plugin sur leur hébergement free, il y a de forte chance que le plugin ne fonctionne pas

tu peux à la place utiliser ce genre de code qui fonctionne partout pour les lister les themes dispos et valides dans le dossier themes.

        $dossier = 'themes/';
	$files = plxGlob::getInstance($dossier, true);
		if($styles = $files->query("/[a-z0-9-_\.\(\)]+/i", "", "sort")) {
			foreach($styles as $k=>$v) {
				if(is_file($dossier.$v.'/infos.xml')) {
			              .....
				}
			}
		}

Ici le dossier theme est codé en dur, ce qui est maladroit car le chemin est configurable dans les parametres de PluXml.
Il faudrait donc faire référence à la valeur au paramètres racine_themes stocké dans le fichier renvoyé par path('XMLFILE_PARAMETERS')


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

Hors ligne

#3 12/02/2017 23:07:57

bronco
Membre
Lieu : Près de Rouen
Inscription : 09/09/2013
Messages : 94
Site Web

Re : Caméléon: un thème différent par catégorie/page statique

Oui, en effet, ces modifications sont tout-à-fait pertinentes (en particulier le chemin vers themes que je m'étais promis d'améliorer plus tard ;-)
Merci !

[EDIT] j'ai fait une modif en ce sens ;-) merci encore

Dernière modification par bronco (12/02/2017 23:46:02)

Hors ligne

#4 13/02/2017 14:28:16

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

Re : Caméléon: un thème différent par catégorie/page statique

Salut Bronco

Encore quelques remarques tongue

1) cette ligne qui ne semble plus servir, elle peux être supprimée

$theme_folders=glob('themes/*');

2) dans le fichier infos.xml, enlève les entités html, tu peux laisser les caractères avec accent
Exemple: th&egraveme => thème
Sinon dans l'admin sur l'écran de gestion des plugins on lit th&egraveme  et pas thème

3) c'est peut etre volontaire mais dans le fichier infos.xlm tu as écris httpwarriordudimanche.net au lieu de http://warriordudimanche.net

4) j'ai ce warning dans l'admin

( ! ) Warning: Invalid argument supplied for foreach() in \PluXml\plugins\Cameleon\Cameleon.php on line 25

toujours tester avant un foreach si le tableau utilisé est renseigné, sinon il y a toujours un risque d'avoir ce genre warning

if($theme_folders) {
  foreach($theme_folders as $t=>$nb){
    ...
  }
}

     
5) remplace la ligne

$files = plxGlob::getInstance($this->theme_path, true);

par

$files = plxGlob::getInstance(PLX_ROOT.$this->theme_path, true);

explication:

$this->theme_path renvoie le chemin "themes/", or ce dossier n'est pas accessible à partir de l'admin si tu ne précises pas devant PLX_ROOT.

donc l'instruction suivante ne renverra rien

$theme_folders = $files->query("/[a-z0-9-_\.\(\)]+/i", "", "sort");

donc array_flip va planter car cette instruction attend un tableau comme paramètre (paramètre vide ici car aucun dossier présent dans $files)

du coup tu auras cette erreur: Warning: array_flip() expects parameter 1 to be array, boolean given in \PluXml\plugins\Cameleon\Cameleon.php on line 22

en utilisant PLX_ROOT ça retournera à partir de l'admin "../../themes/" et "./themes/" coté visiteur. ça fonctionnera du coup dans les 2 contextes


Merci pour ce plugin. Testé, il fait super bien le job


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

Hors ligne

#5 13/02/2017 19:45:00

bronco
Membre
Lieu : Près de Rouen
Inscription : 09/09/2013
Messages : 94
Site Web

Re : Caméléon: un thème différent par catégorie/page statique

Mea culpa: quand on fait un truc vite fait à la pelle de chantier en étant appelé toutes les 47 secondes par un membre de la famille, voilà ce que ça donne: un bout de code plein d'approximations !
Merci à nouveau pour ces corrections ! j'ai modifié.

Hors ligne

#6 13/02/2017 20:28:17

niqnutn
Membre
Inscription : 21/09/2015
Messages : 319
Site Web

Re : Caméléon: un thème différent par catégorie/page statique

en y réfléchissant, ça me fait penser à http://wiki.pluxml.org/index.php?page=I … h%C3%A8mes.
ça pourrait être intéressant d'avoir ce genre de plugin pour faire une démo avec plusieurs thèmes.

par contre, si on se base sur la catégorie, qu'est ce qui se passe quand on en utilise plusieurs catégories ?

Hors ligne

#7 14/02/2017 00:25:17

bronco
Membre
Lieu : Près de Rouen
Inscription : 09/09/2013
Messages : 94
Site Web

Re : Caméléon: un thème différent par catégorie/page statique

Justement: chaque catégorie qui possède un dossier theme à son nom provoque le changement de thème... sinon, le thème par défaut est utilisé

Hors ligne

#8 15/02/2017 01:44:00

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 526
Site Web

Re : Caméléon: un thème différent par catégorie/page statique

Oui, mais si tu as deux catégories et deux dossiers theme avec les mêmes noms ?


Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#9 15/02/2017 10:24:20

bronco
Membre
Lieu : Près de Rouen
Inscription : 09/09/2013
Messages : 94
Site Web

Re : Caméléon: un thème différent par catégorie/page statique

Ben tu cherches les ennuis ^^
Si tu as deux catégories du même nom, à part le fait que ça semble con au premier abord ^^, elles pointeront vers le même dossier...
lol

Hors ligne

#10 15/02/2017 11:30:39

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 526
Site Web

Re : Caméléon: un thème différent par catégorie/page statique

T'es con  big_smile

Je reprends mon explication : plouf plouf.

Si tu as un article dans la catégorie A et dans la catégorie B (c'est possible avec PluXml) ET que tu as deux dossiers dans ton dossier themes qui s'appellerio categorie_a et categorie_b, c'est quel thème qui va s'afficher ? Celui par défaut ou un mix des deux thèmes ? Si c'est ça, je brûle un cierge chaque matin pour glorifier ton nom (ça je le fais déjà mais faut pas le dire).


Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#11 15/02/2017 11:41:31

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

Re : Caméléon: un thème différent par catégorie/page statique

Moi je parie sur Jerry  cool


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

Hors ligne

#12 15/02/2017 14:47:06

bronco
Membre
Lieu : Près de Rouen
Inscription : 09/09/2013
Messages : 94
Site Web

Re : Caméléon: un thème différent par catégorie/page statique

big_smile
En fait, le soucis semble être que la catégorie de $plxShow->catId() en mode article soit "home" quand l'article est multi catégorie... Je réfléchis pour voir...

Hors ligne

#13 15/02/2017 15:15:13

bronco
Membre
Lieu : Près de Rouen
Inscription : 09/09/2013
Messages : 94
Site Web

Re : Caméléon: un thème différent par catégorie/page statique

Bon, j'ai modifié le plugin en conséquence, à la scie sauteuse et dans les interruptions intempestives: si un article est multiclassé, c'est la première catégorie disposant d'un dossier thème qui sera utilisée.

Hors ligne

#14 15/02/2017 16:30:09

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 526
Site Web

Re : Caméléon: un thème différent par catégorie/page statique

Ben voilà quand tu veux  devil


Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#15 15/02/2017 16:33:08

bronco
Membre
Lieu : Près de Rouen
Inscription : 09/09/2013
Messages : 94
Site Web

Re : Caméléon: un thème différent par catégorie/page statique

On dirait Cyrille big_smile

Hors ligne

#16 15/02/2017 16:38:33

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 526
Site Web

Re : Caméléon: un thème différent par catégorie/page statique

C'est presque pareil sans "le" à la fin (comprenne qui pourra) !  big_smile


Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#17 15/02/2017 16:56:09

bronco
Membre
Lieu : Près de Rouen
Inscription : 09/09/2013
Messages : 94
Site Web

Re : Caméléon: un thème différent par catégorie/page statique

Hinhinhin ^^ Voilà un LE qui fait toute la différence  big_smile

Hors ligne

#18 16/02/2017 17:42:09

cyrille
Membre
Lieu : Saint Pierre La Mer
Inscription : 30/11/2010
Messages : 159
Site Web

Re : Caméléon: un thème différent par catégorie/page statique

bon je reviens de Barcelone, tu te demandes vraiment pourquoi y a des profs d'espagnol, y a que des français là bas. C'est où la nouvelle version ?

Hors ligne

#19 16/02/2017 18:10:16

bronco
Membre
Lieu : Près de Rouen
Inscription : 09/09/2013
Messages : 94
Site Web

Re : Caméléon: un thème différent par catégorie/page statique

big_smile Je dis la même chose aux élèves...
Je serais bien tenté de te répondre «dans ton cul» mais ça ne ferait pas avancer le bouzin ^^
Sinon, c'est la même adresse...

Hors ligne

#20 16/02/2017 18:17:27

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

Re : Caméléon: un thème différent par catégorie/page statique

big_smile  big_smile  big_smile
excellent !!!
m'avez bien faire rire sur ce coup tongue


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

Hors ligne

#21 16/02/2017 19:20:39

zetrader
Membre
Lieu : Paris et Valencia
Inscription : 14/01/2010
Messages : 231
Site Web

Re : Caméléon: un thème différent par catégorie/page statique

cyrille a écrit :

bon je reviens de Barcelone, tu te demandes vraiment pourquoi y a des profs d'espagnol, y a que des français là bas. C'est où la nouvelle version ?

Moi je suis à Valence (la 3ème plus grande ville d'Espagne), il y a déjà beaucoup moins de français qu'à Barcelone wink
Je suis allé visiter Barcelone en été 2015, je me suis fait un peu la même réflexion que toi, je n'arrêtais pas d'entendre parler français autour de moi dans la rue, ici et là, quand on a l'habitude d'entendre parler espagnol autour de soi, cela surprend...

Hors ligne

#22 16/02/2017 23:22:37

cyrille
Membre
Lieu : Saint Pierre La Mer
Inscription : 30/11/2010
Messages : 159
Site Web

Re : Caméléon: un thème différent par catégorie/page statique

Stéphane a écrit :

big_smile  big_smile  big_smile
excellent !!!
m'avez bien faire rire sur ce coup tongue

et le jour où on diffuse nos logs jabber on aura certainement des textes complets à faire étudier aux développeurs sur les relations entre la MOA et la MOE.

Hors ligne

#23 16/02/2017 23:23:42

cyrille
Membre
Lieu : Saint Pierre La Mer
Inscription : 30/11/2010
Messages : 159
Site Web

Re : Caméléon: un thème différent par catégorie/page statique

bronco a écrit :

big_smile Je dis la même chose aux élèves...
Je serais bien tenté de te répondre «dans ton cul» mais ça ne ferait pas avancer le bouzin ^^
Sinon, c'est la même adresse...

bon ben je vais faire avancer le bouzin pour voir ce que les nouvelles corrections de monsieur ont réussi à casser

Hors ligne

#24 26/02/2017 21:40:08

michelw
Membre
Inscription : 08/04/2015
Messages : 121

Re : Caméléon: un thème différent par catégorie/page statique

Bonsoir,
J'ai pour l'instant simplement installé votre plugin mais avec le thème w3css http://wendling.xyz/ la page d'accueil et les page faq carte de site et contact sont décolorées. Auriez-vous une solution?

Hors ligne

Pied de page des forums

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