SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

289 Plugins, 197 contribs sur SPIP-Zone, 152 visiteurs en ce moment

Accueil > Contributeurs > RastaPopoulos

RastaPopoulos


Ohloh profile for RastaPopoulos

Attention

Toute demande directement envoyée à moi uniquement, et non pas sur le forum public dédié à chaque contribution, se verra facturée 75 € HT de l’heure. Merci de votre attention. :)

Moi

Je suis potentiellement humain.
Je ne sais rien faire.
J’aime le fromage.
C’est tout.

Bloc-notes SPIP 3

Redirection lors de la migration depuis un très vieux SPIP
Ce sont les plugins-dist qui merdoient. Renommer le dossier, faire la migration du noyau tout seul, puis remettre le dossier et terminer la migration des plugins.

Les fonctions sur les objets :

  1. // Dans ce fichier
  2. include_spip('base/objets.php');
  3. // Lister tous les vrais objets
  4. $objets = lister_tables_objets_sql();
  5. // Connaître la clé primaire d'un objet
  6. $cle_objet = id_table_objet('patate');

Télécharger

Les icônes à créer pour un objet :

  • patate-16/24/32.png
  • patate-add-16/24/32.png
  • patate-del-16/24/32.png
  • patate-new-16/24/32.png

Les chaînes de langue reconnues automatiquement pour un objet (càd sans les déclarer dans le pipeline « tables_objets_sql ») :

  1. 'icone_creer_patate' => 'Ajouter une nouvelle patate',
  2. 'icone_modifier_patate' => 'Modifier cette patate',
  3. 'info_1_patate' => 'Une patate',
  4. 'info_aucun_patate' => 'Aucune patate',
  5. 'info_nb_patates' => '@nb@ patates',
  6. 'titre_patate' => 'Patates',
  7. 'titre_patate' => 'Patate',
  8. 'titre_logo_patate' => 'Logo de cette patate',
  9. )

Télécharger

Les fonctions CVT génériques :

  1. include_spip('inc/editer');
  2.  
  3. // Charger une édition (tout est facultatif)
  4. formulaires_editer_objet_charger('patate', $id_patate, $id_rubrique, $id_trad, $retour, 'fonction_config', $row, $hidden);
  5.  
  6. // On peut créer une fonction pour précharger les champs
  7. // Ça doit être dans inc/precharger_patate.php
  8. include_spip('inc/precharger_objet'); // Fonction générique de préchargement
  9. function inc_precharger_article_dist($id_article, $id_rubrique=0, $lier_trad=0) {
  10. return precharger_objet('patate', $id_patate, $id_rubrique, $lier_trad, 'titre');
  11. }
  12.  
  13. // Vérifier une édition (tableau pour les champs obligatoires)
  14. formulaires_editer_objet_verifier('patate', $id_patate, array('titre', 'obligatoire'));
  15.  
  16. // Traiter une édition (tout est facultatif)
  17. formulaires_editer_objet_traiter('patate', $id_patate, $id_rubrique, $id_trad, $retour, 'fonction_config', $row, $hidden);
  18. // Ça appelle l'action/editer_patate.php
  19. action_editer_patate_dist($id_patate);

Télécharger

Action pour modifier les champs dans une action editer_patate :

  1. $erreur_eventuelle = objet_modifier_champs(...);
  2. // au lieu de l'ancien
  3. modifier_contenu(...)

Télécharger

Déclarer une fonction alternative pour trouver les jointures de recherche
Lorsqu’on déclare des tables jointes dans lesquelles faire des recherches, SPIP essaye de trouver tout seul comment joindre la table. Mais lorsque ça ne correspond pas à un cas par défaut, il est possible de déclarer des fonctions alternatives pour faire la jointure nous-même.

  1. // Par exemple si pour une recherche sur un article, j'ai déclaré qu'il faut aussi chercher dans les patates liées, alors SPIP va chercher dans l'ordre :
  2. inc_rechercher_joints_article_patate[_dist]($table, $table_lie, $ids_trouves, $serveur)
  3. inc_rechercher_joints_objet_patate[_dist]($table, $table_lie, $ids_trouves, $serveur)
  4. inc_rechercher_joints_article_objet_lie[_dist]($table, $table_lie, $ids_trouves, $serveur)
  5.  
  6. // Dans cette fonction on doit renvoyer un tableau avec la clé de chaque table et le résultat d'un SELECT trouvant les objets ayant un lien avec les $ids_trouves
  7.  
  8. // Exemple : Polyhiérarchie a une table standard spip_rubriques_liens MAIS utilise un champ "id_parent" plutôt qu'un champ "id_rubrique", et donc SPIP ne sait pas faire la jointure tout seul. On utilise donc :
  9. function inc_rechercher_joints_objet_rubrique_dist($table, $table_liee, $ids_trouves, $serveur){
  10. $cle_depart = id_table_objet($table);
  11. $s = sql_select(
  12. "id_objet as $cle_depart, id_parent as id_rubrique",
  13. 'spip_rubriques_liens',
  14. array("objet='$table'", sql_in('id_parent', $ids_trouves)),
  15. '','','','',$serveur
  16. );
  17. return array($cle_depart, 'id_rubrique', $s);
  18. }

Télécharger

Voir en ligne : Les Développements Durables

Envoyer un message

Ça discute par ici

  • Enluminures typographiques V3

    25 juillet 2009 – 203 commentaires

    Les Enluminures typographiques V3 permettent d’ajouter au Porte plume les raccourcis typographiques présents dans le Plugin Barre Typographique Enluminée. C’est une extension du PortePlume. Pour la documentation d’usage, se reporter à celle du (...)

  • Hyperspace : squelette responsive

    8 mars 2016 – 46 commentaires

    Description Ce squelette distribué en plugin est un portage pour SPIP du thème responsive « Hyperspace », proposé sur le site . Voir la démo originale : Sites utilisant le plugin : C’est une base de départ pour l’intégration d’un site simple de (...)

  • Escal-V3 et Escal-V4

    16 février 2012 – 320 commentaires

    Un jeu de squelettes proposant un affichage en 2 ou 3 colonnes avec un large choix de noisettes à insérer ou pas, fortement paramétrable depuis l’espace privé. Présentation A l’instar de sa petite soeur plugin Escal-V2 dont elle reprend toutes les (...)

  • Planning simple

    9 septembre 2015 – commentaires

    Ce plugin permet de créer et imprimer un emploi du temps de façon simple. Il dispose de deux méthodes, l’une est d’écrire une liste des évènements dans le corps de l’article, l’autre requiert le plugin agenda. Le plugin planning simple permet (...)

  • Réservation d’événements

    16 mars 2015 – 348 commentaires

    Ce plugin permet d’offrir aux visiteurs de s’inscrire pour un évènement du plugin Agenda et de gérer les réservations enregistrées. Installation Le plugin s’installe comme n’importe quel plugin. il nécessite : Agenda API de vérification Facteur (...)