var Phenix = function () {
Troll du Web depuis 1996

SPIP

DOMPDF, générer des PDF à partir de vos squelettes !

Ce plugin intègre la librairie DOMPDF à SPIP et fourni un API pour exporter directement le résultat d’un squelette SPIP en PDF.

API

Ce plugin fournit une fonction d’exportation du résultat d’un squelette qui s’utilise comme ceci :

  1. // Charger l'API
  2. $exporter_pdf = charger_fonction('exporter_pdf', 'inc');
  3. $exporter_pdf($squelette_ou_html, array $context);

Modifier la génération des URLs de #SPIP

SPIP dispose de quelques « schémas » d’URL par défaut. Dans la majorité des cas, ils conviennent aux goûts de chacun.

Cependant, il peut arriver que l’on ait envie de modifier la façon dans les URLs sont créées.
Dans mon cas, j’avais envie de changer les URLs Arborescentes qui créée par défaut un schéma objet/titre.

Cela ne me convenait pas dans le cas des auteurs, auteur/nom_auteur ne signifiait rien, je voulais un visiteur/nom_visiteur.

Ce qu’il faut savoir

SPIP possède une table dans laquelle il place toutes les urls du site. Sans surprise, elle a pour nom... spip_urls.
Une fois qu’une url est ajoutée dans cette base, elle n’en bougera plus. Même si on change de schéma.
Si l’on change le schéma des URLs, les anciennes continueront de fonctionner, en plus des nouvelles.

C’est l’un des rares cas où vider le cache ne suffit pas pour faire des tests, il faut aussi supprimer les URLs de la table. Je vous déconseille fortement de faire cela avec un site en production...

Utiliser les bons pipelines

Il existe 2 pipelines pour modifier les URLs. Toutes ne sont pas modifiables :

  • propres_creer_chaine_url pour les URLs Propres, les URLs Propres+.html et les URLs Libres.
  • arbo_creer_chaine_url pour les URLs Arborescentes.

Ces pipelines retournent un tableau du style :

  1. $flux = array(
  2. "data" => "article/test",
  3. "objet" => array(
  4. "url" => null,
  5. "date" => null,
  6. "id_parent" => null,
  7. "perma" => null,
  8. "titre" => "test",
  9. "lang" => null,
  10. "parent" => '0',
  11. "type_parent" => '',
  12. "type" => "article",
  13. "id_objet" => 24
  14. )
  15. );

L’url se trouve dans la cellule data, il suffit de la modifier !
La cellule objet contient des informations que l’on peut exploiter.

Exemple

Par défaut, les url arbo créent une url auteur/nom_de_l’auteur. Or, j’ai envie de changer et d’utiliser « visiteur » à la place de "auteur’, voici à quoi devrait ressembler mon pipeline :

  1. /**
  2.  * On bricole les URLs dans ce pipeline
  3.  *
  4.  * @param mixed $flux
  5.  * @access public
  6.  * @return mixed
  7.  */
  8. function prefix_arbo_creer_chaine_url($flux) {
  9. // On chope les auteurs pour créer des urls "visiteur"
  10. if ($flux['objet']['type'] == 'auteur') {
  11. // On inclut les fonctions d'édition d'url par sécurité
  12. include_spip('action/editer_url');
  13.  
  14. // Créer une URL "visiteur"
  15. $flux['data'] = 'visiteur/'.url_nettoyer($flux['objet']['titre'],_URLS_ARBO_MAX,_URLS_ARBO_MIN,'-',_url_arbo_minuscules?'strtolower':'');
  16. }
  17.  
  18. return $flux;
  19. }

J’ai repris la fonction url_nettoyer telle qu’elle était utilisée par le core.



Array_column

Attention :

Cette fonctionnalité a été ajoutée à spip_bonux (version 3.2.0).

Charge la fonction array_column de PHP 5.5 pour les versions inférieures.

PHP 5.5 introduit une nouvelle fonction fort utile : array_column, pour récupérer par sa clé une sous-colonne d’un tableau associatif en php.
Malheureusement, ce n’est pas la version de PHP la plus répandue à l’heure actuelle. Ce plugin résout le problème de la compatibilité en ajoutant cette fonction à SPIP si le serveur n’est pas en PHP 5.5.

Il est basé sur le travail de Ben Ramsey.


Foundation

Foundation est un framework CSS et Javascript très complet pour réaliser des sites sur une grille propre et homogène. Mais surtout, il permet de rendre un site responsive très facilement !

Ce plugin ajoute le framework Foundation sur l’espace public de SPIP. Les éléments Javascripts sont désactivés par défaut.