SPIP-Contrib

SPIP-Contrib

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

288 Plugins, 197 contribs sur SPIP-Zone, 119 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

  • SpipClear 2.1

    18 avril 2009 – 138 commentaires

    Un squelette de blog parmi les autres, entièrement pompé (avec la permission du concepteur) sur le thème par défaut de DotClear.

  • Mailsubscribers

    16 janvier 2013 – 328 commentaires

    Ce plugin permet de gérer les inscriptions (ou abonnements) à la diffusion de contenu par email. Mailsubscribers permet de gérer les inscriptions par Opt-in simple ou double et la désinscription par URL. Ce plugin gère également plusieurs listes de (...)

  • Minidoc : différentes vues pour les documents attachés

    3 février – commentaires

    Minidoc est un plugin pour SPIP 3.1 qui ajoute aux listes de documents attachés à des objets éditoriaux (tel que les articles), des boutons permettant de changer le type d’affichage de ces listes. Il a été intégré dans le plugin Médias inclu avec SPIP (...)

  • Agenda 2.0

    3 novembre 2008 – 1095 commentaires

    Voici la version pour SPIP 2.0 du Plugin Agenda pour SPIP 1.9.2, avec une interface remaniée pour encore plus de plaisir. Pour une documentation concernant l’utilisation d’Agenda 3 pour SPIP 3, veuillez pour l’instant vous référer à SPIP 3, Agenda (...)

  • Diaporama responsive avec Nivo Slider

    15 septembre 2015 – commentaires

    Un diaporama responsive basé sur « Nivoslider ». Introduction Cette contribution est une adaptation liée à Nivo-Slider (http://contrib.spip.net/Nivo-Slider-3747). Ce dernier plugin disponible n’étant pas responsive, nous l’avons refait une adaptation (...)