Dotclear

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

Annonce

13 février 2024 Sortie de Dotclear 2.29

#1 2010-09-20 21:18:48

Mathieu M.
Membre
Lieu : Rhône-Alpes
Inscription : 2009-09-14

Un exemple de thème avec du jQuery ?

Bonjour,

Je suis à la recherche d'un thème Dotclear (si existant) pour m'inspirer d'une fonction.

La fonction en question consiste à avoir une "visionneuse" d'articles dynamique. Plutôt qu'un long laïus incompréhensible, voir deux exemples :

- Ici : section "Articles", un conteneur contient l'image + résumé du dernier article et une "playlist" des articles suivants.
- Ou là : Idem.

Existe-il un thème Dotclear avec cette particularité là ? Parce que sinon je sens que je vais ramer à développer ça (ou du moins à le mettre en accointance avec Dotclear...) :-)


Merci ;-)

Hors ligne

#2 2010-09-21 04:03:08

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

Re : Un exemple de thème avec du jQuery ?

Je crois que le thème Corpoweeeb propose cela en option : http://lab.dotclear.org/wiki/theme/corpoweeeb

Hors ligne

#3 2010-09-21 07:42:36

Mathieu M.
Membre
Lieu : Rhône-Alpes
Inscription : 2009-09-14

Re : Un exemple de thème avec du jQuery ?

Merci je prends note.

Si quelqu'un connait un autre site sous Dotclear qui propose ce système, je suis preneur, ce qui est proposé sur Corpoweeeb ne correspond pas tout à fait à ce que je recherche.


Merci ;-)

Hors ligne

#4 2010-09-21 09:47:19

pierrevg
Membre
Inscription : 2005-04-13
Site Web

Re : Un exemple de thème avec du jQuery ?

Corpo propose plusieurs slides et seul un est visible sur le blog de démo.
Tu voudrais quoi précisément ?

Hors ligne

#5 2010-09-21 09:54:20

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

Re : Un exemple de thème avec du jQuery ?

pierrevg a écrit :

Corpo propose plusieurs slides

Oui, c'est ce que j'ai vu dans la doc sur le Lab, et il me semblait qu'une des options collait avec la demande ;)

Au passage félicitations pour cette doc, si tous les auteurs du Lab en faisaient autant...

Hors ligne

#6 2010-09-21 10:05:50

pierrevg
Membre
Inscription : 2005-04-13
Site Web

Re : Un exemple de thème avec du jQuery ?

Pas trop compris la hiérarchie des titres du wiki, donc je trouve ma doc peu lisible...
Et puis, il manque des illustrations.
Bref, je dois pouvoir faire mieux mais là je ne suis carrément pas motivé (raisons personnelles).

Hors ligne

#7 2010-09-22 12:56:40

Mathieu M.
Membre
Lieu : Rhône-Alpes
Inscription : 2009-09-14

Re : Un exemple de thème avec du jQuery ?

Salut,

pierrevg a écrit :

Corpo propose plusieurs slides et seul un est visible sur le blog de démo.
Tu voudrais quoi précisément ?

Ah, je me suis bêtement arrêté au premier slide, avec les clichés de ton animal à poils ;-)

Pour répondre à ta question, ce n'est pas tant les fonctionnalités qui ne me convenaient pas avec le slide de Corpoweeeb, mais plutôt sa présentation. Du coup je suis parti sur une fonctionnalité jQuery existante et sur jQuery UI afin de l'intégrer à Dotclear.

J'ai ramé un peu, mais le résultat commence à me satisfaire :-)

Puisque je suis ici, et pour ne pas m'éparpiller dans un nouveau billet, j'ai une question concernant cut_string... Je cherche à tronquer une description à X caractères, seulement lorsque ça "coupe", cut_string me zappe le formatage xhtml : <p>plop plop et plop</p> devient <p>plop plop et plop. Bref, la fermeture du <p> saute en l'air... J'ai testé encode_html et decode_html, mais j'ai du louper un détail puisque je n'arrive pas à mes fins...


HS : pierrevg, dans ta liste de sites musicaux, il te manque le meilleur (*) : http://www.laguitare.com/ :-)
(*) En toute modestie bien entendu...


Merci.

Hors ligne

#8 2010-09-22 13:06:36

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : Un exemple de thème avec du jQuery ?

Mathieu M. a écrit :

Puisque je suis ici, et pour ne pas m'éparpiller dans un nouveau billet, j'ai une question concernant cut_string... Je cherche à tronquer une description à X caractères, seulement lorsque ça "coupe", cut_string me zappe le formatage xhtml : <p>plop plop et plop</p> devient <p>plop plop et plop. Bref, la fermeture du <p> saute en l'air... J'ai testé encode_html et decode_html, mais j'ai du louper un détail puisque je n'arrive pas à mes fins...

On en parle ici : http://forum.dotclear.net/viewtopic.php?id=43112&p=1
Il doit même y avoir un moyen de jouer avec la fonction avec le plugin ExpAt...


Dyslexics have more fnu!

Hors ligne

#9 2010-09-22 13:36:27

Mathieu M.
Membre
Lieu : Rhône-Alpes
Inscription : 2009-09-14

Re : Un exemple de thème avec du jQuery ?

Le code proposé ne fait pas ce que je souhaite, hormis si je fais mal quelque chose (fort possible...).

Avec ton code, si j'utilise cut_string, le balise </p> saute quand même.

Hors ligne

#10 2010-09-22 15:16:31

pierrevg
Membre
Inscription : 2005-04-13
Site Web

Re : Un exemple de thème avec du jQuery ?

Mathieu M. a écrit :

HS : pierrevg, dans ta liste de sites musicaux, il te manque le meilleur (*) : http://www.laguitare.com/ :-)
(*) En toute modestie bien entendu...

Hu ?

Hors ligne

#11 2010-09-22 15:36:32

Mathieu M.
Membre
Lieu : Rhône-Alpes
Inscription : 2009-09-14

Re : Un exemple de thème avec du jQuery ?

Hors ligne

#12 2010-09-22 16:02:29

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : Un exemple de thème avec du jQuery ?

Avec ton code, si j'utilise cut_string, le balise </p> saute quand même.

Il faut lire tout le fil, et utiliser la nouvelle balise définie...


Dyslexics have more fnu!

Hors ligne

#13 2010-09-22 16:13:19

Mathieu M.
Membre
Lieu : Rhône-Alpes
Inscription : 2009-09-14

Re : Un exemple de thème avec du jQuery ?

Dsls, c'est bien ce que je fais, ce code dans _public.php :

$core->tpl->addValue('TrunkedEntryContent',array($core->tpl,'EntryContent'));
$core->tpl->addValue('TrunkedEntryExcerpt',array($core->tpl,'EntryExcerpt'));

$core->addBehavior('publicAfterContentFilter',array('MyFilter','afterContentFilter'));

class MyFilter {

	public static function text_cut($content)
	{
		static $tags = array ('div', 'span', 'b', 'u', 'i', 'a', 'ul', 'li');
		$pos = 0;
		$str_len = strlen($content);
		$str = $content.' <';
		$open_tags = array ();
		
		while ($pos < $str_len) {
			$pos = min(strpos($str, ' ', $pos), strpos($str, '<', $pos));
			if ($str[$pos] == '<') {
				if ($str[$pos + 1] == '/') {
					array_pop($open_tags);
				} else {
					$sub = substr($str, $pos + 1, min(strpos($str, ' ', $pos), strpos($str, '>', $pos)) - $pos - 1);
					if (in_array($sub, $tags)) { array_push($open_tags, $sub); }
				}
				$pos = strpos($str, '>', $pos) + 1;
			} else {
				$pos++;
			}
		}
		
		$str = substr($str, 0, $pos);
		
		if (count($open_tags) > 0) {
			foreach($open_tags as $value) { $str .= '</' . array_pop($open_tags) . '>'; }
		}
		
		return $str;
	}
	
	public static function afterContentFilter ($core,$tag,$args) {
		if (substr($tag,0,7)== 'Trunked') {
			$args[0]=self::text_cut($args[0]);
		}
	}
}

Et ça dans ma home.html :

<tpl:Entries selected="1" lastn="3">
	<div id="{{tpl:EntryID}}" class="ui-tabs-panel" style="">
		{{tpl:EntryFirstImage size="m" with_category="1"}}
        
		<div class="info">
		<h2><a href="{{tpl:EntryURL}}">{{tpl:EntryTitle encode_html="1"}}</a></h2>
		{{tpl:TrunkedEntryExcerpt cut_string="200"}}
        <span class="infoMore right border-radius"><a href="{{tpl:EntryURL}}" title="{{tpl:lang Continue reading}} : « {{tpl:EntryTitle encode_html="1"}} »">{{tpl:lang Continue reading}} »</a></span>
		</div>
	</div>
    </tpl:Entries>

Ca me retourne bien l'extrait coupé à 200 caractères, mais la fermeture du </p> ne s'effectue pas... J'ai loupé un truc ?


Merci ;-)

Hors ligne

#14 2010-09-22 16:56:40

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : Un exemple de thème avec du jQuery ?

Il faut ajouter 'p' à la liste $tags


Dyslexics have more fnu!

Hors ligne

#15 2010-09-22 16:58:37

Dsls
Modérateur couteau-suisse
Inscription : 2004-11-18
Site Web

Re : Un exemple de thème avec du jQuery ?

En fait, ça peut être optimisé, en changeant un peu la méthode :

public static function text_cut($content)
	{
		$pos = 0;
		$str_len = strlen($content);
		$str = $content.' <';
		$open_tags = array ();
		
		while ($pos < $str_len) {
			$pos = min(strpos($str, ' ', $pos), strpos($str, '<', $pos));
			if ($str[$pos] == '<') {
				if ($str[$pos + 1] == '/') {
					array_pop($open_tags);
				} else {
					$sub = substr($str, $pos + 1, min(strpos($str, ' ', $pos), strpos($str, '>', $pos)) - $pos - 1);
					array_push($open_tags, $sub);
				}
				$pos = strpos($str, '>', $pos) + 1;
			} else {
				$pos++;
			}
		}
		
		$str = substr($str, 0, $pos);
		
		if (count($open_tags) > 0) {
			foreach($open_tags as $value) { $str .= '</' . array_pop($open_tags) . '>'; }
		}
		
		return $str;
	}

Dyslexics have more fnu!

Hors ligne

#16 2010-09-22 23:38:57

Mathieu M.
Membre
Lieu : Rhône-Alpes
Inscription : 2009-09-14

Re : Un exemple de thème avec du jQuery ?

L'optimisation fonctionne à merveille, merci :-)

Roh, c'est pas beau à dire, mais j'aime beaucoup ce qui se construit avec ce thème... J'espère pouvoir vous présenter ça prochainement.

Hors ligne

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

Pied de page des forums

Sites map