SPIP-Contrib

SPIP-Contrib

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

278 Plugins, 195 contribs sur SPIP-Zone, 71 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

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');

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. )

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);

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(...)

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. }

Voir en ligne : Les Développements Durables


Envoyer un message

Ça discute par ici

  • MediaBox

    10 mai 2010 – 303 commentaires

    Aperçu La MediaBox est une Boîte multimédia polyvalente et personnalisable. Le plugin est basé sur la librairie moderne ColorBox, qui a été enrichie et adaptée pour SPIP. Par défaut, mediabox propose 5 habillages. Il est assez facile d’en créer de (...)

  • Smileys

    10 janvier 2003 – 41 commentaires

    Idéal pour les forums, ce filtre peut s’appliquer sur tous vos squelettes. Il vous suffira de modifier vos squelettes et plus précisement les balises SPIP de vos squelettes auxquelles vous souhaitez appliquer ce (...)

  • Faire des citations dans SoyezCreateurs

    20 janvier 2010 – commentaires

    Le but de cet article est de vous montrer comment faire des citations dans un squelette Soyez Créateurs. Comment faire cela Tout d’abord le principe est à peu près le même que celui de la création d’un article. Il faut que vous créez un article dans (...)

  • SPIP 3.0

    19 mai 2012 – 91 commentaires

    Nous avons le plaisir de vous annoncer la sortie de SPIP 3.0 ! Cette nouvelle version vous permet toujours de publier du contenu pour internet et de créer des sites avec une grande facilité. De nombreuses évolutions facilitent son utilisation (...)

  • ScolaSPIP pour SPIP3

    21 mai 2012 – 216 commentaires

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