Utiliser la médiathèque dans vos plugins &laquo; objet &raquo; - commentaires Utiliser la médiathèque dans vos plugins « objet » 2011-07-29T01:02:31Z https://contrib.spip.net/Utiliser-la-mediatheque-dans-vos-plugins-objet#comment448231 2011-07-29T01:02:31Z <p>Avec SPIP 3.0.0-alpha, pour un plugin avec le prefixe monobjet :</p> <ul class="spip"><li> dans monobjet_autoriser.php, inserer une fonction : <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>function autoriser_monobjet_joindredocument_dist($faire, $type, $id, $qui, $opt) {</code></pre></div></li><li> dans la page privé de l'objet (prive/squelettes/contenu/monobjet.html), ajouter : <div class="precode"><pre class="spip_code spip_code_block language-spip" dir="ltr" style="text-align:left;" data-language="spip"><code>#PIPELINE{afficher_complement_objet, #ARRAY{args,#ARRAY{ type,monobjet, id,#ID_MONOBJET}, data,'<div class="nettoyeur"></div>'}}</code></pre></div></li></ul> <p>Et c'est tout : on a accès a l'ajout de documents sur monobjet.</p> <p>Attention, pour que ca soit bien propre, dans la fonction de nettoyage de la base de donnée en cas de désinstallation du plugin monobjet, ne pas oublier d'effacer les lignes dans spip_documents_liens :</p> <div class="precode"><pre class="spip_code spip_code_block language-php" dir="ltr" style="text-align:left;" data-language="php"><code>function monobjet_vider_tables($nom_meta_base_version) { sql_delete( 'spip_documents_liens', 'objet='.sql_quote('monobjet') );</code></pre></div> <p>Et sinon, depuis l'espace public on peut utiliser</p> <ul class="spip"><li> <code class="spip_code spip_code_inline" dir="ltr">#FORMULAIRE_JOINDRE_DOCUMENT</code></li><li> <code class="spip_code spip_code_inline" dir="ltr">[(#INCLURE{fond=inclure/documents_monobjet,id_monobjet})]</code>, en prenant bien soin de creer le fichier de portfolio inclure/documents_monobjet</li></ul>