Skip to main content Help Control Panel

 

Projets «   Suggestions de fonctions «   Sections «  

folder des sous-sections

No vote

Dans contenu additionnel

section

folded - Construire une boîte pliée par section, avec le contenu. J'aime bien la fonction folder, car elle ne prend pas de place quand les sections sont pliées et que le nombre de pages contenu dans la section est inscrit à côté. J'ai essayé toutes les options pour les sections, il n'y a qu'elle qui permet cela.(si je fais erreur, merci de me le dire!)

mais quand on déplie, il faut aller jusqu'en bas de la liste pour avoir le lien "voir la section"

Serait-il possible de mettre le lien "voir la section" en début de la liste des pages?

 

Christian - on Oct. 22 2009

Rien de bien compliqué mais il faut un peu comprendre le php pour faire cela.

 

1. tu copies/colles dans sections/ le fichier layout_sections_as_folded.php en layout_sections_as_carmen.php

2. Dans le fichier tu renommes la class layout_sections_as_folded en layout_sections_as_carmen

 

3. tu fais les modifications que tu veux dans la façon de construire la liste des articles. Je pense qu'il faut remonter le test "// signal continuing sections" juste avant le foreach

4. dans la mise en page des sous section tu indiques "carmen" en cochant "Utiliser la mise en page personnalisée"

-----
Christian Loubechine
actupro



Actupro
quelques sites yacs : création site internet annuaire pro
Fréchette Carmen - on Oct. 22 2009

J'obtiens cette erreur:

p, li { white-space: pre-wrap; }

Parse error: syntax error, unexpected T_STRING, expecting '{' in /homez.16/saaqclop/www/justicec/sections/layout_sections_as_carmen.php on line 16

Je vous met extrait du fichier que j'ai édité comme vous recommandé

    // mention the number of sections in folded title
                $details[] = sprintf(i18n::ns('%d section', '%d sections', count($items)), count($items));
                
                // signal continuing sections
            if(count($elements) > MAXIMUM_ITEMS_PER_SECTION)
                $elements[] = Skin::build_link(Sections::get_permalink($item), i18n::s('More pages').MORE_IMG, 'basic');

                // add one link per item                 foreach($items as $url => $label) {                     $prefix = $suffix = '';                     if(is_array($label)) {                         $prefix = $label[0];                         $suffix = $label[2];                         $label = $label[1];                     }                     $elements[] = $prefix.Skin::build_link($url, $label, 'section').$suffix;                 }             }

PUisque ça génère une erreur c'est qu'effectivement j'ai fais erreur mais je ne sais pas comment la corriger... Pourtant il me semble que j'ai suivi vos instructions (ou alors j'ai mal compris)

oups: je viens de constater que dans le fichier il y en a plein de foreach... heu avant lequel dois placer le texte ?


Christian - on Oct. 22 2009

Il faut remonter aussi le else qui va avec le if

-----
Christian Loubechine
actupro



Actupro
quelques sites yacs : création site internet annuaire pro
Fréchette Carmen - on Oct. 22 2009

J'ai donc fait comme ceci

    
                // signal continuing sections
            if(count($elements) > MAXIMUM_ITEMS_PER_SECTION)
                $elements[] = Skin::build_link(Sections::get_permalink($item), i18n::s('More pages').MORE_IMG, 'basic');

            // else allow to view the section anyway
            else
                $elements[] = Skin::build_link(Sections::get_permalink($item), i18n::s('View the section'), 'shortcut');

                // add one link per item
                foreach($items as $url => $label) {
                    $prefix = $suffix = '';
                    if(is_array($label)) {
                        $prefix = $label[0];
                        $suffix = $label[2];
                        $label = $label[1];
                    }
                    $elements[] = $prefix.Skin::build_link($url, $label, 'article').$suffix;
                }
            }

Mais j'ai toujours la même erreur...

 


Christian - on Oct. 22 2009

bizarre syntaxiquement c'est correct .. par contre il ne faut pas forcément reprendre toutes les bêtises que je donne sans réfléchir (c'est moi qui n'est pas réfléchi hein ... pas toi )

Alors pour repartir sur une bonne base repartons de l'étape numero 1 ... on recommence

mais pour le point 3 c'est pas ca du tout qu'il faut faire !

En fait tu peux soit laisser le if et le else en question à sa place si tu veux aussi garder le lien vers la section en bas de la liste. Sinon tu mets en commentaire.

Pour ajouter le lien en haut de la liste il faut ajouter

  $box['text'] .= Skin::build_link(Sections::get_permalink($item), i18n::s(' View the section'), 'shortcut');

juste avant

if(count($elements))
                
$box['text'] .= '<ul><li>'.implode('</li>'."\n".'<li>'$elements).'</li></ul>'."\n";
µ

La ca devrait etre bon

-----
Christian Loubechine
actupro



Actupro
quelques sites yacs : création site internet annuaire pro
Fréchette Carmen - on Oct. 25 2009

l'erreur est différente

Fatal error:  Class 'layout_sections_as_carmen' not found in /cheminversmonsite/sections/view.php on line 860

heu... est ce que je dois aussi changer quelque chose dans view.php?


Christian - on Oct. 25 2009

As-tu bien effectué l'étape 2.

Comment s'appelle ta class dans ton fichier ?

-----
Christian Loubechine
actupro



Actupro
quelques sites yacs : création site internet annuaire pro
Fréchette Carmen - on Oct. 29 2009

Comment s'appelle ta class dans ton fichier ?

Aucune idée! En fait, c'est du chinois pour moi tout ça...pfff.

Je sais bien que je dois avoir fait mille erreurs, mais Embarassed vraiment pas mon domaine... j'abandonne. Mais je vous joins quand même mon essai (en txt)

Merci d'avoir voulu m'aider




layout-sections-as-carmen.txt

Files


layout-sections-as-carmen.txt

shared by Fréchette Carmen on Oct. 29 2009 · 163 downloads · 5,953 bytes

details