A quoi ça sert
Ce plugin permet de déroger au comportement standard de SPIP qui efface automatiquement certains objets de la base de donnée (articles, breves... à la poubelle), avec un délai d’un jour ou deux.
Avec ce plugin, plus aucun objet n’est supprimé automatiquement. La poubelle garde tous les articles ou autres objets que vous y avez mis, et vous pouvez toujours revenir en arrière.
Pour télécharger et installer
Téléchargez l’archive à la fin de l’article, et installez la dans le dossier plugins/ de votre site SPIP, comme pour tous les autres plugins
Pour s’en servir
Un sous-menu « Corbeille » est ajouté dans le menu Configuration [1] de votre Site.
Il vous permet de voir le contenu de la corbeille, type par type, et de supprimer éventuellement les objets dont vous n’avez vraiment plus besoin.
Sur chaque élément à la corbeille, un lien « voir » vous permet d’aller éditer l’élément pour le ressortir éventuellement de la corbeille.
Vous pouvez aussi sélectionner les éléments à supprimer définitivement en cochant la case devant, et cliquer sur le bouton ’Effacer la selection’.
Vous pouvez également effacer tous les éléments d’un type dans la corbeille.
Dans les deux cas le plugin va forcer l’effaçage immédiat de ces objets SPIP de la base de donnée. Les relations entre les objets SPIP seront aussi effacés (tel que les associations auteurs-articles)
Contrairement aux versions antérieures de SPIP, aucune opération complémentaire manuelle n’est nécessaire.
Pour que la corbeille gére vos objets éditoriaux
Il fau bien sûr remplacer « patate » par le nom de votre objet, et « prefixe » par le préfixe de votre plugin dans le code qui suit.
1/ créer un squelette prive/listes/corbeille_patates.html
<B_corbeille>
<div class="liste">
[<h3 class="titrem">(#GRAND_TOTAL|singulier_ou_pluriel{patate:corbeille_patates_un,patate:corbeille_patates_tous})</h3>]
[<nav class='pagination'>(#PAGINATION)</nav>]
<ul class='liste-items checkables'>
<BOUCLE_corbeille(PATATES){statut='poubelle'}{pagination 5}{!par date}{recherche ?}>
<li class='item'>
<label for='patate-#ID_PATATE'><:corbeille:selectionner:></label>
<input type='checkbox' name='elements[]' id="patate-#ID_PATATE" value='#ID_PATATE'[ (#ID_PATATE|in_any{#ENV{elements}}|oui)checked='checked']/>
<h4>[##ID_PATATE - (#TITRE|sinon{<:info_sans_titre:>})]</h4>
<small>[(#DATE|affdate)][ (#DATE|heures)]:[(#DATE|minutes)]</small>
<p class='actions'><a href='#URL_ECRIRE{patate,id_patate=#ID_PATATE}'><:corbeille:voir_detail:></a></p>
</li>
</BOUCLE_corbeille>
</ul>
[<nav class='pagination'>(#PAGINATION{prive})</nav>]
</div>
</B_corbeille>
2/ déclarer le pipeline dans paquet.xml
<pipeline nom="corbeille_table_infos" inclure="prefixe_pipelines.php" />
3/ définir l’objet à supprimer dans le pipeline
/**
* Pipeline de la corbeille, permet de définir les objets à supprimer
*
* @param array $param Tableau d'objets
*
* @return array Tableau d'objets complété
*/
function prefixe_corbeille_table_infos($param){
$param['patates'] = array(
'statut' => 'poubelle',
'table'=> 'spip_patates',
'tableliee'=> array('spip_patates_liens', '...'),
);
return $param;
}
NB : définir dans ’tableliee’ les éventuelles tables qui contiennent des liens avec l’objet (spip_auteurs_liens, ...)
4/ définir les chaines de langue
Dans lang/patate_fr.php :
'corbeille_patates_un' => 'Une patate dans la corbeille',
'corbeille_patates_tous' => '@nb@ patates dans la corbeille',
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |