Projets « Suggestions de fonctions « Sections «
folder des sous-sections
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?
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"
Actupro
quelques sites yacs : création site internet annuaire pro
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 ?
Il faut remonter aussi le else qui va avec le if
Actupro
quelques sites yacs : création site internet annuaire pro
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...
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
Actupro
quelques sites yacs : création site internet annuaire pro
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?
As-tu bien effectué l'étape 2.
Comment s'appelle ta class dans ton fichier ?
Actupro
quelques sites yacs : création site internet annuaire pro
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
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










