PluXml.org

Blog ou CMS à l'Xml

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

#1 16/05/2017 09:10:31

je-evrard
Pluxml Staff
Lieu : pau
Inscription : 08/05/2012
Messages : 1 128
Site Web

Déclarer des hooks contextuellement dans un plugin

Salut tout est dans le titre.

Je voudrais déclarer des hook uniquement dans le cas d'édition des pagers statiques, articles, catégories.

Voila ce que je fais dans le construct de mon plugin :

[== Indéfini ==]
# Déclarations des hooks
		if(defined('PLX_ADMIN')) {
			$checkadminpage = $_SERVER['REQUEST_URI'];
			if(preg_match('/(article.php\?a=)/', $checkadminpage) ||  preg_match('/(statique.php\?p=)/', $checkadminpage) || preg_match('/(categorie.php\?p=)/', $checkadminpage)) {
				$this->addHook('AdminPrepend', 'AdminPrepend');
				$this->addHook('AdminTopEndHead', 'AdminTopEndHeadVIW');
				$this->addHook('AdminFootEndBody', 'AdminFootEndBody');
			}
		}

Si quelqu'un a mieux je suis preneur.

a+

jéjé


Petit à petit l'oiseau fait son nid.
- Sites : Création web - Création artistique
- pluxml : Plugins - Simplebox - Visual Wizard
- Projet SPX : Vitrine - Blog
facebook

Hors ligne

#2 16/05/2017 09:40:58

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

Re : Déclarer des hooks contextuellement dans un plugin

Salut Jérôme

j'aurais fait un truc tout simple pour le test dans le regex

if(preg_match('/(article|statique|categorie)/', basename($_SERVER['SCRIPT_NAME']))) 

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

Hors ligne

#3 16/05/2017 21:11:40

memento
Membre
Inscription : 09/11/2008
Messages : 63

Re : Déclarer des hooks contextuellement dans un plugin

Bonsoir,
si je peux me permettre, je n'aurai pas utiliser une expression régulière pour faire ce type de test car c'est très lent et très gourmand en terme de ressources. La fonction php strpos() fait le même travail beaucoup plus vite et pour un moindre coût.

[== PHP ==]
# Déclarations des hooks
		if(defined('PLX_ADMIN')) {
			$checkadminpage = basename($_SERVER['SCRIPT_NAME']);
			if(strpos($checkadminpage, 'article.php?a=') !== false ||  strpos($checkadminpage, 'statique.php?p=') !== false || strpos($checkadminpage, 'categorie.php?p=') !== false) {
				$this->addHook('AdminPrepend', 'AdminPrepend');
				$this->addHook('AdminTopEndHead', 'AdminTopEndHeadVIW');
				$this->addHook('AdminFootEndBody', 'AdminFootEndBody');
			}
		}

Cordialement

Hors ligne

#4 17/05/2017 14:11:52

je-evrard
Pluxml Staff
Lieu : pau
Inscription : 08/05/2012
Messages : 1 128
Site Web

Re : Déclarer des hooks contextuellement dans un plugin

Je vais voir ça. Merci vous deux.


Petit à petit l'oiseau fait son nid.
- Sites : Création web - Création artistique
- pluxml : Plugins - Simplebox - Visual Wizard
- Projet SPX : Vitrine - Blog
facebook

Hors ligne

Pied de page des forums

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