Dotclear

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

Annonce

#2 Re : [dc2] Thèmes » [Éditorial] Support et discussion » 2021-06-24 13:11:19

Je ne suis pas sûr de bien comprendre, mais dans la css (ou avec le plugin moreCss) si tu ajoutes ceci :

.dc-post .post-featured-media {
  width: 400px;
  float:left;
  margin: 1em 1em 0 0
}

#3 Re : [dc2] Thèmes » [Éditorial] Support et discussion » 2021-06-24 09:42:49

Bonjour. Je ne sais pas vraiment ce que la hauteur de l'image peut changer au SEO, d'autant que tout dépend des dimensions de l'écran et de son orientation. Je pensais que les robots ne voyaient que la balise <img> et ses attributs, que l'image soit grande ou petite (?).

Le plugin featuredMedia insère d'ailleurs l'attribut alt, pour peu qu'il soit correctement renseigné dans la médiathèque (sinon c'est le nom du fichier). Pour le SEO, cet attribut est important, je crois

Concrètement, que voudrais-tu modifier ?

#4 Re : [dc2] Plugins » Recherche une partie du code de dotclear » 2021-06-22 16:35:02

Si tu as plusieurs images, ajoute un champ caché sur ta page d'admin, tu pourras ensuite savoir quel bouton a été cliqué. Regarde sur le thème grayscale le champ caché #change-button-id dans _config.php, rempli par admin.js, et récupéré dans popup_media.js ;)

#5 Re : [dc2] Plugins » Recherche une partie du code de dotclear » 2021-06-20 09:12:17

@rhackert : pour plus de clarté, je t'ai fait un plugin sur la base du plugin exemple de la doc.

Ça marche avec dotclear 2.18. C'est ici pour le télécharger

Le premier champ de l'onglet 1 a un bouton "Changer" qui ouvre la popup de la médiathèque et récupère l'url du média dans le champ.

J'ai ajouté au plugin d'exemple :

- un fichier prepend.php avec les behaviors nécessaires
- deux fichiers javascript : admin.js et popup_media.js
- un champ et un bouton dans la page de configuration pour expérimenter


À partir de là tu devrais pouvoir te débrouiller :)

#6 Re : [dc2] Plugins » Recherche une partie du code de dotclear » 2021-06-18 15:18:04

@rhakert : le thème ne marche pas avec la version actuelle de dotclear, il marche avec la version de développement (2.19-dev). C'est normal car jusqu'à maintenant dotclear ne prévoyait pas d'utiliser ces behaviors pour un thème. Mais pour un plugin, oui ;)

Donc le behavior marche avec un plugin sous dotclear 2.18. Et tu peux utiliser ainsi la popup standard de la médiathèque avec toutes ses fonctionnalités.

Ce qu'il te faut c'est récupérer le mécanisme :

- dans _config.php (ce sera probablement index.php pour un plugin) le formulaire pour récupérer et enregistrer le retour de la popup
- un fichier _prepend.php pour enregistrer le behavior adminPostMedia pour le plugin
- un lien vers la popup (le javascript window.open('media.php?plugin_id etc. avec pour plugin_id le nom de ton plugin
- un fichier javascript qui, appelé par le behavior adminPostMedia, sera ajouté dans media-item.php et te permettra de renvoyer l'url du média dans ta page de configuration du plugin

Regarde aussi les plugins dcCKEditor et ou dcLegacyEditor qui font cela aussi.

#7 Re : [dc2] Plugins » Recherche une partie du code de dotclear » 2021-06-17 16:36:00

@rhackert : je termine un thème qui permet en page d'admin de choisir des images de la médiathèque. Il faudra le simplifier si tu n'as besoin que d'une image. Tu peux t'en inspirer pour ton plugin. Si tu as des questions n'hésite pas.

PS le thème ne marche que sur la version de dev de dotclear (2.19), car il manquait la prise en compte d'un behavior dans admin/media-item.php. Mais le code marche normalement pour un plugin

#8 Re : [dc2] Questions et aide » Affichage d'une page en accueil et lien vers billets du blog ? » 2021-06-17 16:19:37

Je ne crois pas que cela soit facile. Tu pourrais ne pas utiliser la page statique, rajouter une balise de template dans home.html (selon le thème) pour afficher ta page, mais tu auras en dessous la liste des billets...

#9 Re : [dc2] Le coin des sorciers » Utiliser la médiathèque sur la page de configuration d'un thème » 2021-06-17 13:31:48

Ça marche parfaitement, merci encore. Il me reste à trouver comment passer un paramètre pour savoir quel bouton a été cliqué, mais je devrais me débrouiller maintenant.

Le thème sortira pour la version 2.19 de dotclear ;)

#10 Re : [dc2] Le coin des sorciers » Utiliser la médiathèque sur la page de configuration d'un thème » 2021-06-17 11:32:37

Merci beaucoup ! Si tu as droit au "Bonjour", c'est un grand progrès. Je vais copier tes changements des fichiers de dotclear chez moi

Yapuka de mon côté écrire le code et voir si j'arrive à récupérer le window.opener comme je l'espère

#12 Re : [dc2] Le coin des sorciers » Utiliser la médiathèque sur la page de configuration d'un thème » 2021-06-16 17:06:36

J'ai intégré ta PR. Entre temps j'avais modifié admin.js qui marche maintenant à peu près comme je le voulais. Si ça gêne que je fasse des modifications en même temps, dis-le moi j'arrête tout de suite :D

#15 Re : [dc2] Le coin des sorciers » Utiliser la médiathèque sur la page de configuration d'un thème » 2021-06-16 06:26:27

Dans le code que j'ai posté en #1 il y a deux behaviors : adminPageHTMLHead et adminPopupMedia. Le premier fonctionne, pas le second.

Serait-il possible que cela vienne du fait que c'est un thème et non pas un plugin ?

#16 Re : [dc2] Le coin des sorciers » Utiliser la médiathèque sur la page de configuration d'un thème » 2021-06-15 13:44:51

Oui, justement, dans ce fichier tu utilises le behavior adminPopupPosts qui est appelé par popup_posts.php, pour ajouter dans la popup ton fichier javascript

De la même manière, je cherche à utiliser le behavior adminPopupMedia qui est appelé par media-item.php, pour ajouter mon code dans la popup.

D'où l'ajout du behavior adminPopupMedia dans mon fichier prepend.php ci-dessus (comme le font les éditeurs dcLegacy et CKEditor). Mais il semble que le behavior ne soit pas appelé

#17 Re : [dc2] Le coin des sorciers » Utiliser la médiathèque sur la page de configuration d'un thème » 2021-06-15 10:18:00

Merci franck, je comptais d'ailleurs bien m'inspirer de ça.

Mais ce n'est pas le code lui-même qui me gêne, c'est l'inclusion de ce javascript dans la page media-item

#18 [dc2] Le coin des sorciers » Utiliser la médiathèque sur la page de configuration d'un thème » 2021-06-15 07:40:48

Philippe
Réponses : 19

Bonjour,

Je voudrais permettre à l'utilisateur du thème de choisir une image de la médiathèque. J'arrive à afficher la popup pour le choix du fichier, mais je ne parviens pas à insérer dans media-item.php le code javascript nécessaire pour que les boutons "Sélectionner" et "Annuler" fonctionnent.

Après avoir regardé les plugin dcCKEditor et dcLegacyEditor, je tente de reproduire leur fonctionnement. J'essaie donc d'utiliser le behavior adminPopupMedia appelé dans media-item.php comme le font ces plugins pour ajouter leur code dans la popup

J'ai ajouté dans le prepend.php de mon thème les behaviors suivants

$core->addBehavior('adminPageHTMLHead', ['tplGrayscaleThemeAdmin', 'adminPageHTMLHead']);
$core->addBehavior('adminPopupMedia', ['tplGrayscaleThemeAdmin', 'adminPopupMedia']);

class tplGrayscaleThemeAdmin
{
    public static function adminPageHTMLHead()
    {
        if ($GLOBALS['core']->blog->settings->system->theme != 'grayscale') {
            return;
        }
        $grayscale_admin_js = $GLOBALS['core']->blog->settings->system->themes_url."/".$GLOBALS['core']->blog->settings->system->theme."/js/admin.js";

        echo '<script src="' . $grayscale_admin_js . '" ></script>';
    }

    public static function adminPopupMedia($editor = '')
    {
        if (empty($editor) || $editor != 'admin.blog.theme') {
            return;
        }
        $theme_url = $GLOBALS['core']->blog->settings->system->themes_url."/".$GLOBALS['core']->blog->settings->system->theme;
        
        return dcPage::jsLoad($theme_url . '/js/popup_media.js');
    }
}

Le premier fonctionne correctement, mais pas le second qui n'injecte pas le javascript dans la popup.

Pour afficher la popup, j'ai un bouton sur la page de configuration et ce code javascript pour la page

$(function () {
    $('#default-image-selector').on('click', function (e) {
        window.open('media.php?plugin_id=admin.blog.theme&popup=1&select=1', 'dc_popup', 'alwaysRaised=yes,dependent=yes,toolbar=yes,height=500,width=760,' + 'menubar=no,resizable=yes,scrollbars=yes,status=no');
        e.preventDefault();
        return false;
    });
});

Ce qui ouvre bien la popup, permet de choisir une image, mais je suis ensuite coincé pour l'insérer dans mon formulaire

Sauriez-vous me dire ce que je fais de travers ?

PS : le thème est ici sur Github

#20 Re : [dc2] Thèmes » [Thème Grayscale] support et discussion » 2021-06-10 14:16:23

Le thème Grayscale passe en version 2.0. C'est une refonte complète basée sur la récente version 5 de Bootstrap.

Un configurateur permet d'afficher soit la même image de fond sur toutes les pages, comme auparavant, soit une image aléatoire à chaque chargement de page.

#21 Re : [dc2] Plugins » Recherche une partie du code de dotclear » 2021-06-08 14:06:53

Je ne sais pas pour la première question, et si tu trouves la réponse à la seconde, je suis très intéressé :)

#22 Re : [dc2] Thèmes » [Thème Resume] support et discussion » 2021-06-06 06:41:23

Nouvelle version pour le thème, qui s'enrichit d'un configurateur. Celui-ci permet de choisir :

- la couleur principale du blog : barre latérale, liens et boutons
- l'image de profil, de préférence au format carré, taille moyenne

#23 Re : [dc2] Thèmes » [Éditorial] Support et discussion » 2021-06-01 15:34:42

Pour les prochaines versions, je ne sais pas trop ce qui serait utile... je fais ça pour m'amuser. Je pensais ne pas imposer l'utilisation du plugin featuredMedia par exemple, ou permettre de placer la sidebar à droite (mais je me casse un peu le nez avec ça). En tout cas au niveau design il ne devrait plus y avoir beaucoup de changement

Comme tu sembles être le seul utilisateur, en tout cas qui se manifeste ici, demande toujours si tu as un besoin particulier, j'essaierai de le faire :D

#24 Re : [dc2] Thèmes » [Éditorial] Support et discussion » 2021-06-01 13:32:05

Bonjour geba. Ce sont les caractères - ou _ qui ne ont pas acceptés dans les settings, qui ne peuvent comprendre que des caractères alphanumériques et des chiffres

const NS_ID_SCHEMA   = '/^[a-zA-Z][a-zA-Z0-9_]+$/';.

edit : l'underscore est accepté

#25 Re : [dc2] Migration et mises à jour » [Résolu] Dotclear 2.17.2 ne propose pas la mise à jour vers 2.18 » 2021-05-27 10:06:07

Il faut modifier les chemins vers les images dans la base de données. Un exemple des requêtes sql est donné dans ce tip (voir les derniers paragraphes : Changer le chemin de ses fichiers). Si tu as des soucis avec ça, n'hésite pas à revenir demander ici.

Bien joué pour l'installation optimisée :)

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

Pied de page des forums

Propulsé par FluxBB

Sites map