Dotclear

Vous n'êtes pas identifié(e).

Annonce

13 février 2024 Sortie de Dotclear 2.29

#1 2008-05-27 21:55:15

llaumgui
Membre
Lieu : Le Crès, France
Inscription : 2006-06-07
Site Web

Création d'un plugin ogg

Bonjour,

j'ai fait un plugin qui gère les vidéos Ogg basé sur ITheora. Le problème c'est pour l'intégrer au post.html. Je voudrais quelque chose comme :

<li class="{{tpl:AttachmentType}}">
        <tpl:AttachmentIf is_mp3="1">
          {{tpl:include src="_mp3_player.html"/}} -
        </tpl:AttachmentIf>
        <tpl:AttachmentIf is_flv="1">
         {{tpl:include src="_flv_player.html"/}}
       </tpl:AttachmentIf>
        <tpl:AttachmentIf is_ogg="1">
         {{tpl:include src="_itheora_player.html"/}}
       </tpl:AttachmentIf>
       <tpl:AttachmentIf is_ogg="0">
        <a href="{{tpl:AttachmentURL}}"
        title="{{tpl:AttachmentFileName}} ({{tpl:AttachmentSize}})">{{tpl:AttachmentTitle}}</a>
        </tpl:AttachmentIf>
  </li>

Y a t'il une solution pour enrichir la fonction AttachmentIf ?
Cordialement.

Hors ligne

#2 2008-05-27 22:25:31

Pep
Membre
Inscription : 2004-08-24
Site Web

Re : Création d'un plugin ogg

Il y a bien la possibilité d'ajouter un(des) comportement(s) via templateBeforeBlock.
Malheureusement, en l'état actuel, il ne me semble pas possible de jouer sur les blocs <tpl:XxxxIf />.

D'ailleurs, ça mériterait peut-être un ticket.


Who Cares ?

Hors ligne

#3 2008-05-27 22:31:12

Pep
Membre
Inscription : 2004-08-24
Site Web

Re : Création d'un plugin ogg

Et j'allais oublier : il te reste tout de même la possibilité de fournir par ton plugin un remplacement complet du bloc <tpl:AttachmentIf />


Who Cares ?

Hors ligne

#4 2008-05-28 09:12:49

osku
Membre
Lieu : 28
Inscription : 2005-06-15

Re : Création d'un plugin ogg

Pep a écrit :

Et j'allais oublier : il te reste tout de même la possibilité de fournir par ton plugin un remplacement complet du bloc <tpl:AttachmentIf />

J'allais le dire.
C'est la teschnik utilisé par le plugin Carnaval pour surcharger le tpl CommentIfMe ;-)
Et ça marche plutôt bien :-)

Hors ligne

#5 2008-05-29 05:55:24

llaumgui
Membre
Lieu : Le Crès, France
Inscription : 2006-06-07
Site Web

Re : Création d'un plugin ogg

Pep a écrit :

Et j'allais oublier : il te reste tout de même la possibilité de fournir par ton plugin un remplacement complet du bloc <tpl:AttachmentIf />

Je voulais pas en arriver là... Le truc c'est que DC 2.0 est freez ? Ca sera donc pour DC 2.1 ?

Hors ligne

#6 2009-05-11 18:26:41

battle_benny
Membre
Inscription : 2008-11-16

Re : Création d'un plugin ogg

Bonsoir tout le monde,

J'aimerais moi aussi modifier les éléments de template pour les pièces jointes. Je cherche une méthode pour pour ajouter des tests is_css ou is_js pour me permettre de lier des CSS et des javascripts dans mes billets tout en les proposant en piece jointe. L'idée étant de modifier le billet si des pièces sont jointes au billet selon le type de la pièce jointe et ainsi de faire des démonstrations de scripts ou de mise en forme css directement dans le corps du billet, ce que je n'ai pas pu faire jusqu'à aujourd'hui.

Si quelqu'un à une idée de comment faire je suis preneur !

Merci à vous.

Hors ligne

#7 2009-05-12 05:00:01

Philippe
Stagiaire
Lieu : Toulon
Inscription : 2004-06-13
Site Web

Re : Création d'un plugin ogg

Bonjour

Je ne sais pas si j'ai bien compris ton problème, mais tu peux déjà mettre tout le js ou les css que tu veux dans un billet. En wiki, il suffit de l'entourer ainsi :

///html

là ton script ou ton style

///

Cela peut être utilisé par exemple pour ajouter une carte Google dans un billet, etc.

Hors ligne

#8 2009-05-12 05:56:41

battle_benny
Membre
Inscription : 2008-11-16

Re : Création d'un plugin ogg

en fait le code wiki que tu donnes permet de mettre du code js ou css dans le billet mais parfois ça ne suffit pas (il suffit de vouloir reprendre un plugin jquery dans le billet pour se rendre compte que copier 15k de js minifié dans le billet rends sa relecture compliquée ... )

L'idée que j'ai est d'utiliser le template Attachment (et AttachmentIf) pour tester si le fichier joint est un CSS ou un JS afin de l'inclure dans le <head> du template de mon thème pour les billets.

Hors ligne

#9 2009-05-12 10:55:40

Moe
Responsable du mini-bar
Lieu : France
Inscription : 2004-09-19
Site Web

Re : Création d'un plugin ogg

battle_benny, voici un code a insérer dans le fichier _public.php de ton thème, avec un exemple d'utilisation de la balise :

/*
example :

<tpl:Attachments>
   <tpl:AttachmentIfType type="text/css">
     	<style type="text/css">
	@import url({{tpl:AttachmentURL}});
	</style>'
   </tpl:AttachmentIfType>
   <tpl:AttachmentIfType type="text/javascript">
     	<script type="text/javascript" src="{{tpl:AttachmentURL}}"></script>
   </tpl:AttachmentIfType>
</tpl:Attachments>

*/

$core->tpl->addBlock('AttachmentIfType',
	array('myCustomTags','AttachmentIfType'));

class myCustomTags
{
	public static function AttachmentIfType($attr,$content)
	{
		return '<?php if ($attach_f->type == \''.$attr['type'].'\') : ?>'.
			$content.
			'<?php endif; ?>';
	}
}

Tu ne peux pas utiliser cette balise pour appeler une librairie comme jQuery si tu insères plusieurs fichiers .js par billet car la libraire sera appelée plusieurs fois. jQuery est déjà appelé sur ton thème donc ça ne devrait pas être un problème.

Hors ligne

#10 2009-05-12 20:09:17

battle_benny
Membre
Inscription : 2008-11-16

Re : Création d'un plugin ogg

Merci Moe pour ce code express !!

J'ai testé rapidement sur mon univers de dev et les fichiers sont parfaitement attachés dans le head de mon template post :). Il ne me reste plus qu'à tester tout ça en combinaison dans un cas réel pour te retourner mon expérience sur tout ça.

Quoi qu'il en soit j'aurais déjà une question : si je joins plus d'un fichier js à mon billet à priori cela ne pose pas de problème (du moins tant que je fais attention à ne pas joindre 2 fois le même fichier ou la librairie Jquery elle même puisqu'elle est déjà inclue avec DC2 et les plugins les utilisent déjà. Il en va de même pour les CSS j'imagines (sauf que là pas de restrictions) ?

j'envoi un retour sous peu (probablement ce weekend).

Hors ligne

#11 2009-05-12 20:56:31

Moe
Responsable du mini-bar
Lieu : France
Inscription : 2004-09-19
Site Web

Re : Création d'un plugin ogg

Pour les CSS, c'est un peu aléatoire car les fichiers ne seront pas forcément dans l'ordre que tu veux, ça risque de jouer sur l'héritage en cascade des propriétés. Sinon je ne vois pas d'autre problème, au pire les règles se contrediront.

Hors ligne

#12 2009-06-13 14:46:07

battle_benny
Membre
Inscription : 2008-11-16

Re : Création d'un plugin ogg

J'avais un peu zappé le retour, cela dit après quelques utilisations, ça marche parfaitement :)

j'ai pas de problèmes finalement avec les CSS (il faut de toute façon faire attention à l'héritage même si je n'ajoutes qu'un CSS) et pour les scripts pas de soucis, ça passait déjà à mon 1er essai, ça marche toujours bien.

Hors ligne

Vous n'êtes pas identifié(e).

Pied de page des forums

Sites map