SPIP-Contrib

SPIP-Contrib

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

290 Plugins, 198 contribs sur SPIP-Zone, 76 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

  • PHANTOM (HTML5UP)

    18 juillet – commentaires

    Squelette SPIP pour intégrer le modèle Phantom de HTML5UP. https://html5up.net/phantom Installation A l’activation, le plugin installe aussi les plugins suivants : crayons, favicon, metasplus+, Couleur d’objet, champs extras, SPIP reset centre (...)

  • ScolaSPIP 3

    21 mai 2012 – 448 commentaires

    Un plugin-squelette personnalisable pour sites Web d’établissements scolaires

  • Formulaire d’upload en html5

    27 avril 2015 – 93 commentaires

    Un formulaire d’upload en html5 pour l’interface admin de SPIP. Ce plugin ajoute un système d’upload moderne à SPIP. Il peut être utilisé pour l’upload de masse. Ce système est basé sur dropzonejs. Utilisation Espace privé de SPIP Dans l’espace (...)

  • Passer un site SPIP sous https://

    23 février 2017 – 42 commentaires

    Comment migrer simplement votre site SPIP de http:// vers https:// Le protocole https:// devient de plus en plus courant : C’est mieux pour la vie privée de tous La plupart des grands sites l’a déjà adopté Certains navigateurs commencent à afficher (...)

  • SPIP 3.2, Agenda et FullCalendar

    6 juin – 20 commentaires

    Nous avions publié un article sur la manière d’utiliser FullCalendar avec SPIP 3.0 afin d’afficher des évènements sous forme d’Agenda. La version de FullCalendar a changé avec SPIP 3.2. Le présent article est donc un tutoriel adapté à SPIP 3.2. Pour (...)