Edition pages statiques et plugins

flipflipflipflip Member
septembre 2013 modifié dans Discussions générales
Bonjour,

Attention c'est un poil technique ;)

J'ai créé un plugin (une galerie exactement) qui permet d'associer une galerie à une page statique via une une liste déroulante (ajouté par le hook AdminStatic) lorsqu'on est en édition de page statique. L'identifiant est écrit dans le fichier data/configuration/statiques.xml ce qui donne
<statique number="002" active="1" menu="oui" url="scuptures" template="static-accueil.php"><group><![CDATA[]]></group><name><![CDATA[Sculptures]]></name><meta_description><![CDATA[]]></meta_description><meta_keywords><![CDATA[]]></meta_keywords><title_htmltag><![CDATA[]]></title_htmltag><galerie><![CDATA[0001]]></galerie></statique>

Maintenant je vais sur la page statiques.php qui liste toute les pages statiques, imaginons que je fais une modification du nom d'une des pages. Tout est ok sauf que la valeur "galerie" devient vide. Forcement puisqu'elle n'apparait pas dans le formulaire.
print_r avant validation
...
    [002] => Array
        (
            [name] => Sculptures
            [title_htmltag] => 
            [meta_description] => 
            [meta_keywords] => 
            [group] => 
            [url] => scuptures
            [active] => 1
            [menu] => oui
            [template] => static-accueil.php
            [readable] => 1
            [galerie] => 0001
...
        )

print_r après validation
...
    [002] => Array
        (
            [name] => Sculptures
            [title_htmltag] => 
            [meta_description] => 
            [meta_keywords] => 
            [group] => 
            [url] => scuptures
            [active] => 1
            [menu] => oui
            [template] => static-accueil.php
            [readable] => 1
            [galerie] => 
        )
...

La solution serait de mettre dans un champ masqué la valeur de galerie mais pas de bol il n'y a pas de hook pour intéragir sur la liste. Je propose l'ajout de trois hooks :
Un pour gérer l'entête du tableau
<th><?php echo L_STATICS_MENU ?></th>
			
			<?php
			# Hook Plugins
			eval($plxAdmin->plxPlugins->callHook('AdminStaticsListHeader'));
			?>

Un pour ajouter un champ avant les liens Editer - Voir
# Hook Plugins
			eval($plxAdmin->plxPlugins->callHook('AdminStaticsListBody'));

Et un pour gérer le pied du tableau
plxUtils::printSelect($new_staticid.'_menu', array('oui'=>L_DISPLAY,'non'=>L_HIDE), '1');
			?>
			</td>
			<?php
			# Hook Plugins
			eval($plxAdmin->plxPlugins->callHook('AdminStaticsListFooter'));
			?>
			<td>&nbsp;</td>

J'ai un string de l'array

Connectez-vous ou Inscrivez-vous pour répondre.