Vous n'êtes pas identifié(e).
13 février 2024 Sortie de Dotclear 2.29
Pages : 1
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
Je crois que le thème Corpoweeeb propose cela en option : http://lab.dotclear.org/wiki/theme/corpoweeeb
Hors ligne
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
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
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
Salut,
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
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
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
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
Hors ligne
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
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
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
Pages : 1
Vous n'êtes pas identifié(e).