PluXml.org

Blog ou CMS à l'Xml

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

#1 05/01/2018 18:15:50

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

Rajout d'un lien dans l'admin des pages statiques pour chaque page

Bonjour,

Dans 'admin des pages statiques (core/admin/statiques.php) j'aimerais rajouter un lien spécial pour chaque page via mon plugin.

Au lieu d'avoir Action "Editer" / "Voir" pour chaque page j'aimerais avoir :

"Editer" "Editer vw" "Voir"

En gros rajouter un autre lien d'édition avec un paramettre dans le lien de l'url

[== Indéfini ==]
...core/admin/statique.php?p=xxx&vw=true

Comment le faire simplement sachant que dans le code ça me parait pas évident via un hook.

J'ai pensé a utliser jquery aussi.

Merci de votre aide, de vos lumières ou de vos idées.

Cordialement,

jéjé

PS : le plaisir c'est le partage

Dernière modification par je-evrard (05/01/2018 18:16:23)


Petit à petit l'oiseau fait son nid.
- Sites : Création web - Création artistique
- pluxml : Plugins - Visual Wizard - facebook vw

Hors ligne

#2 05/01/2018 22:28:40

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 1 060
Site Web

Re : Rajout d'un lien dans l'admin des pages statiques pour chaque page

Bonjour,

Voici un début de réponse à ton problème, sans JQuery  big_smile  :

[== PHP ==]
<?php
if(!defined('PLX_ROOT')) { exit('la VW, c\'est fantastique'); }

class volkswagen extends plxPlugin {

	public function __construct($defaultLang) {
		parent::__construct($defaultLang);
		parent::addHook('AdminStaticsFoot' , 'AdminStaticsFoot');
	}

	public function AdminStaticsFoot() {
		/* rajouter la règle suivante dans css/admin.css du plugin pour décoller les liens
		 * #statics-table tbody td:last-of-type a {
		 *     margin: 0 1rem;
		 * }
		 * */
?>
<script type="text/javascript">
	(function() {
		const lastCells = document.querySelectorAll('#statics-table tbody tr:not(:last-of-type) td:last-of-type');
		for(var i=0, iMax=lastCells.length; i<iMax; i++) {
			const cell = lastCells[i];
			const editBtn = cell.querySelector('a[href^="statique.php?p="]');
			if(editBtn != null) {
				const newBtn = document.createElement('A');
				newBtn.href = editBtn.href + '&vw=true';
				newBtn.textContent = 'VW';
				cell.insertBefore(newBtn, cell.lastChild);
			}
		}
	})();
</script>
<?php
	}

}
?>

C'est un premier jet pour te "mettre le pied à l'étrier".
Le petit Pb à régler est quand il y a des pages inactives. C'est pas très compliqué à régler. Juste un peu de temps
Note qu'il y a une règle CSS en commentaire à rajouter dans le plugin.

Je désapprouve de séparer les liens dans les dernières cellules par des espaces insécables (&nbsp;).
Sémantiquement cela n'a aucune signification. C'est juste pour faire joli. donc on emploie une règle CSS. Cela conserve la possibilité aux cellules d'arranger leurs contenus en fonction des largeurs disponibles.

Hors ligne

#3 06/01/2018 22:31:43

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

Re : Rajout d'un lien dans l'admin des pages statiques pour chaque page

Merci bazooka07 por ta réponse rapide. Je regarde ça. ++


Petit à petit l'oiseau fait son nid.
- Sites : Création web - Création artistique
- pluxml : Plugins - Visual Wizard - facebook vw

Hors ligne

#4 07/01/2018 16:19:43

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

Re : Rajout d'un lien dans l'admin des pages statiques pour chaque page


Petit à petit l'oiseau fait son nid.
- Sites : Création web - Création artistique
- pluxml : Plugins - Visual Wizard - facebook vw

Hors ligne

#5 08/01/2018 11:22:50

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 1 060
Site Web

Re : Rajout d'un lien dans l'admin des pages statiques pour chaque page

D'après ta vidéo, il semble que tu n'utilises pas la dernière version de PluXml (release 5.6)

Dans le tableau "Identifiant page" est devenu "n°"
Dals la colonne "ordre", les nombres sont cadrés à droite maintenant.

Dans la manipulation du DOM avec Javascript, il est effectivement plus facile d'ajouter un nouvel élément avec un autre :

[== JavaScript ==]
                   cell.insertBefore(newBtn, editBtn);

Hors ligne

Pied de page des forums

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