Dotclear

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

Annonce

#1 Re : [dc2] Thèmes » [Nouveau thème : Éditorial] Support et discussion » Aujourd'hui 08:13:55

Le thème passe en version 1.4. Cette nouvelle mouture ajoute :

- un fichier de template external.html pour les pages connexes
- un lien vers le "haut de page" selon la suggestion de geba
- la correction d'un bug sur la taille des images incluses dans un billet signalé par ben_griffith

#2 Re : [dc2] Thèmes » [Nouveau thème : Éditorial] Support et discussion » Hier 13:11:37

Si tu n'utilises pas de pages (au sens dotclear) ou que tu ne veux pas l'image sur celles-ci non plus, le plus simple est de masquer l'image avec

.dc-page .post-featured-media {display:none}

Sinon, il faudra modifier un peu le fichier external.html pour inclure un autre fichier de template que _simple-entry.html, je t'expliquerai si besoin.

#3 Re : [dc2] Questions et aide » insertion lien et image impossible avec l'éditeur de billets » Hier 10:24:22

Avec dcCKEditor, il faut aussi vérifier que, dans inc/config.php,  la valeur DC_ADMIN_URL soit strictement identique à l'adresse d'administration du blog.

Pour le certificat sur dotaddict, il était périmé, c'est réparé maintenant.

PS : sous Linux Mint aussi :)

#4 Re : [dc2] Questions et aide » insertion lien et image impossible avec l'éditeur de billets » Hier 07:05:54

Bonjour,

Une première chose à faire est de vérifier si tu as un bloqueur de publicités dans ton navigateur. Si c'est le cas, désactive-le pour la page d'administration du blog.

Si cela ne résout pas le problème, il faudrait nous en dire plus sur l'éditeur utilisé dans l'admin pour la saisie des billets

#5 Re : [dc2] Thèmes » [Nouveau thème : Éditorial] Support et discussion » Hier 07:02:13

Peux-tu créer un fichier nommé external.html dans editorial/tpl avec ce contenu

{{tpl:extends parent="__layout.html"}}

<tpl:Block name="head-title">
    <title>{{tpl:EntryTitle encode_html="1"}} - {{tpl:BlogName encode_html="1"}}</title>
</tpl:Block>

<tpl:Block name="meta-entry">
    <meta name="author" content="{{tpl:BlogEditor encode_html="1"}}" />
    <meta name="date" content="{{tpl:BlogUpdateDate iso8601="1"}}" />
</tpl:Block>

<tpl:Block name="head-linkrel">
    <link rel="contents" href="{{tpl:BlogArchiveURL}}" title="{{tpl:lang Archives}}" />
    <link rel="alternate" type="application/atom+xml" title="Atom 1.0" href="{{tpl:BlogFeedURL type="atom"}}" />
</tpl:Block>

<tpl:Block name="body-tag">

    <body id="page-top" class="dc-page">
</tpl:Block>

<tpl:Block name="main-content">
  
  {{tpl:include src="_simple-entry.html"}}
  
</tpl:Block>

et revenir me dire si ça marche ?

#6 Re : [dc2] Thèmes » [Nouveau thème : Éditorial] Support et discussion » 2021-05-14 10:22:07

PS : sauf erreur, il y a peut-être une confusion dans le gestionnaire de médias. Le champ "Titre du fichier" correspond à l'attribut alt de l'image. Le champ "Description du fichier" est le texte qui apparaîtra dans <figcaption> si on insère une <figure>

#7 Re : [dc2] Bugs » Affichage dotaddict.org/ » 2021-05-14 09:59:11

Ouep, je viens de voir aussi : le certificat Let'sEncrypt n'est plus valide depuis le 13 mai. Je préviens les cuistots ;)

#8 Re : [dc2] Thèmes » [Nouveau thème : Éditorial] Support et discussion » 2021-05-14 09:57:29

Normalement, une balise <img> n'a pas besoin d'un d'attribut title. Si elle est dans un lien, cet attribut sera sur la balise <a> (voir ici)...

Mais je crois comprendre le besoin : si tu veux avoir l'infobulle au survol de l'image avec la description (alt) tu peux ajouter l'attribut dans le template, par exemple pour _entry-featured.html

<img src="{{tpl:FeaturedMediaImageURL size="o"}}" alt="{{tpl:FeaturedMediaTitle}}" title="{{tpl:FeaturedMediaTitle}}" />

#9 Re : [dc2] Thèmes » [Nouveau thème : Éditorial] Support et discussion » 2021-05-14 07:57:24

Bonjour geba. Je rajouterai le lien vers le haut de page dans la prochaine version, c'est une bonne idée.

En ce qui concerne les mises à jour du thème, il ne devrait pas y en avoir souvent, sauf bug détecté comme celui signalé par ben_griffith ci-dessus et qui sera corrigé dans la 1.4. Les prochaines mises à jour concerneront un configurateur sur lequel je travaille en ce moment. Je m'efforcerai de ne pas modifier de fichier de template pour cela et préviendrai ici plus en détail si j'y ai été contraint.

Si tu pars de la dernière version publiée (1.3) le seul ajout que tu devrais reporter dans la css est le max-width pour les images incluses dans le corps des billets. Soit si tu modifies uniquement la css en ajoutant

.dc-post .post-excerpt img,
.dc-post .post-content img {
  max-width: 100%;
  border-radius: 0.375em;
}

et si tu compiles les fichiers scss, dans assets/sass/dotclear/ _dotclear.scss la modification sera

.dc-post .post-excerpt img,
.dc-post .post-content img {
  max-width: 100%;
  border-radius: _size(border-radius);
}

Pour ta question sur ta copie du thème, je ne vois malheureusement pas d'autre solution que de mettre à jour l'original et reporter dans la copie les modifications, si elles t'intéressent. Pour ma part, je ne mets plus à jour lorsque j'ai modifié beaucoup de fichiers dans la copie et que je suis satisfait du résultat (...)

Edit : ... mais le thème sera supporté, comme mes autres thèmes et plugins, et si tu as des questions lors d'une mise à jour ou une configuration, n'hésite pas à demander ici ;)

#10 Re : [dc2] Questions et aide » Inclure un fichier de template dans une balise » 2021-05-13 09:28:29

J'ai fait quelques modifications selon le conseil de nikrou, mais ce n'est pas encore ça^^

J'ai ajouté la balise de type block le behavior dans mon _public.php

$core->addBehavior('coreBlogBeforeGetPosts', ['featuredPostTpl', 'coreBlogBeforeGetPosts']);

public static function coreBlogBeforeGetPosts($params)
    {
        global $core;

        $editorial_user = $core->blog->settings->themes->get($core->blog->settings->system->theme . '_featured');
        $editorial_user = @unserialize($editorial_user);

        $featuredPostURL = $editorial_user['static_home_url'];

        if ($core->url->type == 'default' && $featuredPostURL !== '') {
            $params['post_url'] = $featuredPostURL;
        }
    }

et modifié home.html pour y inclure cette balise

{{tpl:extends parent="__layout.html"}}

<tpl:Block name="main-content">
    <tpl:coreBlogBeforeGetPosts>
        <div class="posts">
            <tpl:Entries>
                <!-- # First page -->
                <tpl:SysIf current_mode="default">
                    <tpl:LoopPosition start="1" length="1">
                        {{tpl:include src="_entry-featured.html"}}
                    </tpl:LoopPosition>
                    <tpl:LoopPosition start="2">
                        {{tpl:include src="_entry-short.html"}}
                    </tpl:LoopPosition>
                </tpl:SysIf>
                <!-- # Next pages -->
                <tpl:SysIf current_mode="!default">
                    {{tpl:include src="_entry-short.html"}}
                </tpl:SysIf>
            </tpl:Entries>
        </div>

        <tpl:Entries>
            <tpl:EntriesFooter>
                {{tpl:include src="_pagination.html"}}
            </tpl:EntriesFooter>
        </tpl:Entries>
    </tpl:coreBlogBeforeGetPosts>
</tpl:Block> <!-- # main-content -->

Les fichiers de template home-default.html et home-featured-post.html ne sont donc plus appelés. Mais rien ne s'affiche (pas d'erreur ou warning).

Je croyais que coreBlogBeforeGetPosts, telle quelle, permettrait de n'afficher au moins, sur la page d'accueil, que le billet choisi. Mais rien. Et si aucun billet n'est choisi, pas d'affichage non plus. Je creuse...

#11 Re : [dc2] Questions et aide » Inclure un fichier de template dans une balise » 2021-05-13 07:20:20

Merci pour la piste, je vais essayer (quand j'aurai compris comment l'appliquer^^) de m'en inspirer

#12 Re : [dc2] Questions et aide » Inclure un fichier de template dans une balise » 2021-05-13 07:03:18

nikrou a écrit :

En revanche tu dois pouvoir injecter l'url dans la recherche des billets en utilisant le Behavior qui va bien

Merci d'avoir regardé nikrou. Pourrais-tu préciser ce que tu entends par le "Behaviorkivabien" ?

#13 Re : [dc2] Thèmes » [Nouveau thème : Éditorial] Support et discussion » 2021-05-13 06:43:28

@geba : en effet, 1100 billets à reprendre n'est pas une mince affaire...

@ben_griffith : About the issue you just raised, do you mean for the images included in post-content ? If so, I did not try including a very big image. I will. Thank you for this advice. Edit : you were right, I added the css rule that was needed. It will be in the next version. Thanks again :)

As to the lack of the theme in Blog appearance, you may be right in assuming it is because of the accent in Éditorial. I will check further and eventually whine in the right ears ;)

#14 Re : [dc2] Questions et aide » Inclure un fichier de template dans une balise » 2021-05-13 06:32:38

J'ai un peu avancé et repris depuis le début. J'arrive maintenant à servir le template voulu pour la page d'accueil avec le code suivant

home.html

<tpl:Block name="main-content">
    <tpl:editorialDefaultIf>
        {{tpl:include src="home-default.html"}}
    </tpl:editorialDefaultIf>
    <tpl:editorialFeaturedIf>
        {{tpl:include src="home-featured-post.html"}}
    </tpl:editorialFeaturedIf>
</tpl:Block>

et dans _public.php, avec deux nouvelles balises de type block

if (!defined('DC_RC_PATH')) { return; }

l10n::set(dirname(__FILE__).'/locales/'.$_lang.'/main');

$core->tpl->addBlock('editorialDefaultIf', ['featuredPostTpl', 'editorialDefaultIf']);
$core->tpl->addBlock('editorialFeaturedIf', ['featuredPostTpl', 'editorialFeaturedIf']);

$core->tpl->addValue('featuredPostURL', ['featuredPostTpl', 'featuredPostURL']);


class featuredPostTpl
{
    public static function editorialDefaultIf($attr, $content)
    {
        global $core;

        $editorial_user = $core->blog->settings->themes->get($core->blog->settings->system->theme . '_featured');
        $editorial_user = @unserialize($editorial_user);

        $featuredPostURL = $editorial_user['static_home_url'];

        if ($featuredPostURL =='') {
            return $content;
            
        } else {
            return;
        }

    }

    public static function editorialFeaturedIf($attr, $content)
    {
        global $core;

        $editorial_user = $core->blog->settings->themes->get($core->blog->settings->system->theme . '_featured');
        $editorial_user = @unserialize($editorial_user);

        $featuredPostURL = $editorial_user['static_home_url'];

        if ($featuredPostURL !='') {
            return $content;
            
        } else {
            return;
        }

    }
    
    public static function featuredPostURL($attr)
    {
        global $core;
        
        $editorial_user = $core->blog->settings->themes->get($core->blog->settings->system->theme . '_featured');
        $editorial_user = @unserialize($editorial_user);

        $featuredPostURL = $editorial_user['static_home_url'];
		return
		'<?php echo "'.$featuredPostURL.'"; ?>';       
    }
}

Les deux fichiers home-default.html et home-featured-post.html sont maintenant servis avec succès selon le choix opéré dans l'administration du thème : affichage standard (à la une le billet le plus récent) ou affichage personnalisé (à la une le billet choisi par l'utilisateur).

L'affichage standard fonctionne, mais pas l'affichage personnalisé, à cause de la balise {{tpl:entryFeaturedPost}} dans home-featured-post.html, qui est elle-même incluse dans la balise  <tpl:Entries>

<tpl:Entries url="{{tpl:featuredPostURL}}">

Il semble que cette inclusion ne soit pas possible, car dans le cache de templates (cbtpl) elle est rendue telle quelle et non interprétée

$params['post_url'] = '{{tpl:featuredPostURL}}';

ce qui provoque une erreur car ce n'est évidemment pas l'url du billet. Précisons que la balise fonctionne en dehors de la boucle tpl:Entries...

Me voilà encore bien embêté, toute piste serait la bienvenue :D

#15 [dc2] Questions et aide » Inclure un fichier de template dans une balise » 2021-05-12 17:08:54

Philippe
Réponses : 7

Bonjour,

Je bricole un nouveau thème (Éditorial) et j'essaie d'ajouter un configurateur. Les options du thème permettent d'afficher sur la page d'accueil :

- soit la liste des billets, avec le plus récent mis en valeur et les autres à la suite
- soit un billet particulier mis en valeur, puis à la suite les autres billets

Il me faut donc, en fonction du choix opéré par l'utilisateur dans la configuration du thème, servir une page home.html différente

Côté administration du thème, je parviens à enregistrer l'option choisie, mais côté public je coince. J'ai créé une balise de template qui devrait permettre de choisir un fichier de template différent pour la page d'accueil, mais je ne parviens pas à inclure le fichier correspondant au choix

Voici où j'en suis (le thème est basé sur le jeu de templates dotty):

home.html

{{tpl:extends parent="__layout.html"}}

<tpl:Block name="main-content">
{{tpl:editorialEntriesList}}
</tpl:Block>

J'ai ensuite deux templates home-default.html et home-featured-post.html

home-default.html

<div class="posts">
    <tpl:Entries>
        <!-- # First page -->
        <tpl:SysIf current_mode="default">
            <tpl:LoopPosition start="1" length="1">
                {{tpl:include src="_entry-featured.html"}}
            </tpl:LoopPosition>
            <tpl:LoopPosition start="2">
                {{tpl:include src="_entry-short.html"}}
            </tpl:LoopPosition>
        </tpl:SysIf>
        <!-- # Next pages -->
        <tpl:SysIf current_mode="!default">
            {{tpl:include src="_entry-short.html"}}
        </tpl:SysIf>
    </tpl:Entries>
</div>

<tpl:Entries>
    <tpl:EntriesFooter>
        {{tpl:include src="_pagination.html"}}
    </tpl:EntriesFooter>
</tpl:Entries>

home-featured-post.html

<div class="posts">
    <tpl:Entries">
        <!-- # First page -->
        <tpl:SysIf current_mode="default">
            <tpl:Entries url="{{tpl:featuredPostURL}}">
                {{tpl:include src="_entry-featured.html"}}
            </tpl:Entries>
            <tpl:EntryIf url="!{{tpl:featuredPostURL}}">
                {{tpl:include src="_entry-short.html"}}
            </tpl:EntryIf>
        </tpl:SysIf>
        <!-- # Next pages -->
        <tpl:SysIf current_mode="!default">
            <tpl:EntryIf url="!{{tpl:featuredPostURL}}">
                {{tpl:include src="_entry-short.html"}}
            </tpl:EntryIf>
        </tpl:SysIf>
        </tpl:Entries>
</div>

<tpl:Entries>
    <tpl:EntriesFooter>
        {{tpl:include src="_pagination.html"}}
    </tpl:EntriesFooter>
</tpl:Entries>

et enfin le fichier _public.php qui contient la balise de template {{tpl:editorialEntriesList}} appelée par home.html

if (!defined('DC_RC_PATH')) { return; }

l10n::set(dirname(__FILE__).'/locales/'.$_lang.'/main');

$core->tpl->addValue('editorialEntriesList', ['featuredPostTpl', 'editorialEntriesList']);
$core->tpl->addValue('featuredPostURL', ['featuredPostTpl', 'featuredPostURL']);

class featuredPostTpl
{
    public static function editorialEntriesList($attr)
    {
        global $core;

        $editorial_user = $core->blog->settings->themes->get($core->blog->settings->system->theme . '_featured');
        $editorial_user = @unserialize($editorial_user);

        $featuredPostURL = $editorial_user['static_home_url'];

        if ($featuredPostURL =='') {
            return '<?php echo "<p>default</p>" ?>';
            $core->tpl->includeFile(dirname(__FILE__) . '/tpl/home-default.html');
            
        } else {
            return '<?php echo "<p>home featured post</p>" ?>';
            $core->tpl->includeFile(dirname(__FILE__) . '/tpl/home-featured-post.html');
            
        }

    }

    

    public static function featuredPostURL($attr)
    {
        global $core;
        
        $editorial_user = $core->blog->settings->themes->get($core->blog->settings->system->theme . '_featured');
        $editorial_user = @unserialize($editorial_user);

        $featuredPostURL = $editorial_user['static_home_url'];
        return $featuredPostURL;
    }
}

Ce qui marche : si l'utilisateur a choisi l'affichage par défaut, la page d'accueil affiche "default", s'il a choisi l'affichage d'un billet particulier la page d'accueil affiche "home featured post". La balise est donc bien interprétée et renvoie le paragraphe voulu selon le réglage choisi. Mais l'inclusion du template correspondant n'est pas effectuée, sur la ligne :

$core->tpl->includeFile(dirname(__FILE__) . '/tpl/home-default.html');

Quelqu'un pourrait-il me dire ce que je fais mal ?

#16 Re : [dc2] Installation et hébergement » OVH et index.php » 2021-05-07 05:41:44

Je n'ai jamais vu ça sur les mutualisés de chez eux...

#17 [dc2] Thèmes » [Nouveau thème : Éditorial] Support et discussion » 2021-05-06 12:28:28

Philippe
Réponses : 17

Ce thème nécessite le plugin Featured Media pour associer une image à chacun de vos billets. Si le plugin n'est pas installé, ou si aucune image n'est associée à un billet, une image générique la remplacera.

Conseils d'utilisation pour un meilleur résultat :

- associer à vos billets une image de grande taille, d'une largeur minimum de 1200px, et d'une hauteur minimum de 400px, quel que soit le ratio
- régler la largeur des miniatures moyennes (taille m) de la médiathèque à 600px

La page d'accueil affiche en grand à la une le billet le plus récent, et les autres à la suite dans des blocs plus petits.

Pour le voir en action, visitez le site de démonstration.

Le thème est disponible sur dotaddict.

#18 Re : [dc2] Installation et hébergement » OVH et index.php » 2021-05-04 16:30:35

C'est au cas où l'hébergement ne fait pas tout seul la redirection du site non sécurisé vers le site sécurisé. Normalement cette redirection est faite dans le virtual host, mais si tu n'y as pas accès et si ton hébergeur ne le fait pas automatiquement, c'est bon à ajouter, pour éviter que le site réponde sur les deux adresses

#19 Re : [dc2] Installation et hébergement » OVH et index.php » 2021-05-03 13:36:34

J'ai ça sur OVH, Gandi, et aussi en local (ça doit marcher partout^^):

Options -Indexes

<IfModule mod_rewrite.c>
	RewriteEngine on
	RewriteBase /
	
	# Pretty URLs
	RewriteCond %{REQUEST_FILENAME} !-f 
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteRule ^(.*)$ index.php?$1 [L,QSA]
</IfModule>

(le paramètre QSA est là pour que la recherche fonctionne, sinon ça merdoie sur les autres pages que la première)

Sinon, paramètres du blog réglés comme toi : URL du blog

https://www.exemple.com/

Format des URLs : query_string

#20 Re : [dc2] Plugins » Problème avec CkEditor » 2021-04-27 08:49:05

Bonjour.

En premier lieu, avec dcCKEditor, il faut vérifier que la valeur de DC_ADMIN_URL dans /dotclear/inc/config.php est strictement la même que l'URL d'administration du blog. Aussi, si tu utilises un bloqueur de publicités (AddBlock ou uBlock Origin) il est conseillé de le désactiver pour l'admin du blog.

#21 Re : [dc2] Questions et aide » Widgets de la page /blog/archive » 2021-04-27 08:22:23

geba a écrit :

J'ai dû mal m'exprimer précédemment. Le widget est placé dans le volet supplémentaire en pied de page. Il y est bien pour la page Archive, mais apparaît aussi sous les autres widgets dans le volet d'extra. Aussi, il pourrait être intéressant de regarder la page Archive du blog de mon profil.

Je vois le problème sur la page archive. Juste au-dessus du code de ce widget dans le code source, il y a <div class="widgets blogcustom__widgets" id="blogcustom"> ce qui indique que, dans archive.html, tu as laissé la balise {{tpl:Widgets type="custom"}} qui permet d'afficher les widgets du "Volet supplémentaire". Le widget "Liens de souscription" étant dans ce volet, l'affichage est normal

Retire dans archive.html la partie

<tpl:IfWidgets type="custom">
    <div class="widgets blogcustom__widgets" id="blogcustom">
         <h2 class="blogcustom__title">{{tpl:lang Custom menu}}</h2>
        {{tpl:Widgets type="custom"}}
    </div> <!-- End #blogcustom -->
</tpl:IfWidgets>

#22 Re : [dc2] Questions et aide » Widgets de la page /blog/archive » 2021-04-27 08:08:29

Lomalarch a écrit :

Il me semble, de mémoire, que les widgets custom, dans Berlin, sont appelé dans le footer et pas dans la sidebar…

Bon sang, mais c'est bien sûr :D

#23 Re : [dc2] Questions et aide » Widgets de la page /blog/archive » 2021-04-27 07:10:49

Correction : aucun widget ne peut être placé dans le "Volet supplémentaire" dans Berlin, en effet :

les fichiers de template home, category, etc. héritent de __layout.html
layout.html inclut le fichier sidebar.html
dans sidebar.html il n'y a pas d'appel aux widgets de type custom

Je ne sais pas si c'est volontaire, Franck nous le dira

#24 Re : [dc2] Questions et aide » Widgets de la page /blog/archive » 2021-04-27 06:59:10

Je parviens à reproduire le problème en partie : avec le thème Berlin, sur une installation neuve, le widget "Liens de souscription" placé dans le "Volet supplémentaire" n'apparaît pas sur le blog, que ce soit sur la page d'accueil ou les autres pages.

En revanche, contrairement à toi, si je retire le widget du "Volet d'extra" il est bien supprimé sur toutes les pages. As-tu pensé à vider le cache des templates ?

#25 Re : [dc2] Questions et aide » Widgets de la page /blog/archive » 2021-04-26 17:15:16

Je ne vois rien d'anormal.

Le template hérite de __layout.html, regarde toujours s'il n'y aurait pas là un appel superflu à <tpl:Widget id="subscribe">, ou même dans tous les fichiers du répertoire /tontheme/tpl/

Sinon, tu viens d'identifier un bug :)

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

Pied de page des forums

Propulsé par FluxBB

Sites map