source: spip-zone/_plugins_/polyhierarchie_configurable/trunk/polyconf_pipelines.php @ 77630

Last change on this file since 77630 was 77630, checked in by rastapopoulos@…, 6 years ago

Un petit (en tout cas pour l'instant) plugin, qui contiendrait des options/configurations supplémentaires pour Polyhiérarchie, pour l'utiliser plus finement, souvent en remplacement de mots-clés.

Pour l'instant seulement une config globale qui permet d'ajouter le choix de liaison dans un bloc sur tout type d'objet (comme le bloc mot, le bloc GIS, etc).

Comme pour l'instant la table de liaison n'est pas standard (id_parent, au lieu de id_rubrique), on ne peut pas vraiment utiliser l'API des liens. Donc j'utilise le formulaire standalone fourni par Polyhiérarchie. C'est moins pratique, mais pour l'instant ça marche.

L'idée, plus tard, ce serait peut-être d'avoir des options plus fines, par exemple par secteur (comme pour des groupes de mots-clés). Que tel secteur puisse être attaché à tels objets, et par qui (la même config que les groupes quoi).

File size: 1.2 KB
Line 
1<?php
2/**
3 * Utilisations de pipelines par Polyhiérarchie configurable
4 *
5 * @plugin     Polyhiérarchie configurable
6 * @copyright  2013
7 * @author     Les Développements Durables
8 * @licence    GNU/GPL v3
9 * @package    SPIP\Polyconf\Pipelines
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) return;
13       
14/**
15 * Utilisation du pipeline afficher_contenu_objet
16 *
17 * - Insertion d'un sélecteur de rubriques dans les objets configurés pour ça
18 *
19 * @pipeline afficher_contenu_objet
20 *
21 * @param array $flux
22 *     Données du pipeline
23 * @return array
24 *     Données du pipeline
25 */
26function polyconf_afficher_complement_objet($flux) {
27        include_spip('inc/config');
28       
29        // Ajouter un bloc de liaison avec les rubriques sur les objets configurés pour ça
30        if (
31                $table = table_objet_sql($flux['args']['type'])
32                and in_array($table, lire_config('polyhier/lier_objets', array()))
33        ) {
34                $id = $flux['args']['id'];
35                $infos = recuperer_fond('prive/objets/editer/polyhierarchie', array(
36                        'objet'=>$flux['args']['type'],
37                        'id_objet'=>$id,
38                        'editable'=>autoriser('associerrubrique', $flux['args']['type'], $id) ? 'oui':'non'
39                ));
40                $flux['data'] .= $infos;
41        }
42       
43        return $flux;
44}
45
46?>
Note: See TracBrowser for help on using the repository browser.