Bruno,

Comme j'utilise  un paquet de meta dans l'édition des billets (9), j'ai modifié 
la 0.4.3 actuelle pour permettre d'avoir une présentation en 3 colonnes (cf les 
deux PNG joints).

Je détourne l'usage des "sections" (une colonne = une section). J'ai donc modifié (cf 
patch.txt) surtout class.mymeta.php, _admin.php (pour déporter les styles) et 
class.mymetatypes.php (pour virer un <strong> codé en dur).

Je suis conscient que si je veux continuer à obtenir cette présentation et que 
si ça ne t'intéresse pas, je patcherai à chacune de tes mises à jours.

Michel

Le 14/10/2013 15:09, Bruno a écrit :
Coucou,

J'ai résolu un bug de longue date sur mymeta (avec la 0.4.4), j'en ai
profité pour mettre à jour le plugin à la sauce dc2.6. La 0.5 est juste un
rafraîchissement de l'interface coté admin, aucun apport fonctionnel par
rapport à la 0.4.4

Je suis preneur de tout feedback.

La 0.4.4 :
http://www.morefnu.org/public/archives/dotclear2/plugins/mymeta/plugin-mymeta-0.4.4.zip

La 0.5 (dc2.6 seulement) :
http://www.morefnu.org/public/archives/dotclear2/plugins/mymeta/plugin-mymeta-0.5.zip

--
Bruno

<<attachment: myMeta_admin.png>>

<<attachment: myMeta_post.png>>

----- _admin.php --- ajout lien vers style.css
#0021 devient
        
$core->addBehavior('adminPageHTMLHead',array('mymetaBehaviors','adminPageHTMLHead'));
#0113 devient
        public static function adminPageHTMLHead(){echo '<link rel="stylesheet" 
href="index.php?pf=mymeta/style.css" type="text/css" media="screen" />'."\n";}

----- class.mymeta.php --- 
#0301
        public function postShowForm($post) {
                $res="";
                $inSection=false;
                foreach ($this->mymeta as $id=>$meta) {
                        if ($meta instanceof myMetaSection) {
                                if ($inSection)
                                        $res .= '</fieldset>';
                                $res .= 
'<fieldset><legend>'.__($meta->prompt).'</legend>';
                                $inSection=true;
                        } elseif ($meta->enabled) {
                                if (!isset($post) || 
!$post->exists("post_type") ||
                                        $meta->isEnabledFor($post->post_type)) {
                                        if (!$inSection) {
                                                $res .= 
'<fieldset><legend>'.__('My Meta').'</legend>';
                                                $inSection=true;
                                        }
                                        $res .= 
$meta->postShowForm($this->dcmeta, $post);
                                }
                        }
                }
                $res .= '</fieldset>';
                return $res;
        }

devient (trois colonnes compatibles 2.5.x et 2.6.x)
        public function postShowForm($post) {
                if (version_compare(DC_VERSION,'2.5.9','>')) {
                        $res='<div class="fieldset mymeta"><h4>'.__('My 
Meta').'</h4>';
                        $inSection=false;
                        foreach ($this->mymeta as $id=>$meta) {
                                if ($meta instanceof myMetaSection) {
                                        if ($inSection)
                                                $res .= '</div>';
                                        $res .= '<div 
class="three-boxes"><h4>'.__($meta->prompt).'</h4>';
                                        $inSection=true;
                                } elseif ($meta->enabled) {
                                        if (!isset($post) || 
!$post->exists("post_type") ||
                                                
$meta->isEnabledFor($post->post_type)) {
                                                if (!$inSection) {
                                                        $res .= '<div>';
                                                        $inSection=true;
                                                }
                                                $res .= 
$meta->postShowForm($this->dcmeta, $post);
                                        }
                                }
                        }
                        $res .= '</div></div>';
                        return $res;
                } else {
                        $res='<div class="fieldset mymeta"><h4>'.__('My 
Meta').'</h4><div class="three-cols">';
                        $inSection=false;
                        foreach ($this->mymeta as $id=>$meta) {
                                if ($meta instanceof myMetaSection) {
                                        if ($inSection)
                                                $res .= '</div>';
                                        $res .= '<div 
class="col"><h4>'.__($meta->prompt).'</h4>';
                                        $inSection=true;
                                } elseif ($meta->enabled) {
                                        if (!isset($post) || 
!$post->exists("post_type") ||
                                                
$meta->isEnabledFor($post->post_type)) {
                                                if (!$inSection) {
                                                        $res .= '<div>';
                                                        $inSection=true;
                                                }
                                                $res .= 
$meta->postShowForm($this->dcmeta, $post);
                                        }
                                }
                        }
                        $res .= '</div></div><br class="clear" /></div>';
                        return $res;
                }
        }
entraînant un incrément de +24 pour la suite du code (#0325 -> #0349)

----- class.mymetatypes.php
#0096 devient
        $res .= '<p><label for="'.$this_id.'">'.$this->prompt.'</label>';
-- 
Dev mailing list - [email protected] - http://ml.dotclear.org/listinfo/dev

Répondre à