Inhaltsverzeichnis aus Zwischenüberschriften

Hallo,

gibt es in SPIP eine Möglichkeit (Filter, sonstiger Hack) um aus den
Zwischenüberschriften im Artikel am Anfang des Artikels ein
Inhaltsverzeichnis zu erstellen am besten mit Sprungmarken zur
jeweiligen Zwischenüberschrift?

Eine solche Eigenschaft gibt es z.B. bei MediaWiki....

viele grüße
Heiko
--
Heiko Jansen, Bochum, Germany
e.mail[1]: heiko.jansen@rub.de
e.mail[2]: heiko@schaustall.de
web: http://www.heiko-jansen.de
ENCRYPT YOUR E-MAILS! VERSCHLÜSSELT EURE MAILS!
PGP-Key auf Anfrage oder auf der Webseite

Hallo Heiko,
SPIP kann das auch :wink:

Lösung 1 - in SPIP eingebaut:
Wenn Du keine Fussnoten in Deinen Texten benötigst, kannst Du sie für Deinen Zweck verwenden.

<BOUCLE_artikel(ARTICLES){id_article}>
Inhaltsverzeichnis:</br>
#NOTES
</p>
#TITRE
#TEXTE
etc.
</BOUCLE_artikel>

In Deinem Artikel lässt Du eine Leerzeile vor und nach den Fussnoten, die Du als Zwischenüberschrift "missbrauchen" willst. Die "Fussnoten" schreibst Du so:
[[<Text der Zwischenüberschrift und des Eintrags im Inhaltsverzeichnis> ]]
Jetzt brauchst Du nur noch die Fussnoten mit HTML/CSS passend zu formatieren.

Lösung 2 - ein Filter für mes_fonctions.php3
Quelle: http://www.spip-contrib.net/Decouper-un-article-en-plusieurs,175
Diesen Filtercode musst Du in die Datei mes_fonctions.php3 einfügen:

------cut-------
/*
* +----------------------------------+
* Nom du Filtre : Sommaire de l'article * +----------------------------------+
* Date : Vendredi 6 juin 2003
* Auteur : Noplay (noplay@altern.org)
* Aurélien PIERARD : aurelien.pierard@sig.premier-ministre.gouv.fr

* +-------------------------------------+
* Fonctions de ce filtre :
* Cette modification permet d'afficher le sommaire de l'article
* généré dynamiquement à partir du texte de l'article. Vous pouvez naviguer
* dans l'article en cliquant sur les titres du sommaires.
*
* Tous ce qui ce trouve entre {{{ et }}} est considéré comme un titre à ajouter au sommaire de l'article.
* +-------------------------------------+
* * Pour toute suggestion, remarque, proposition d'ajout
* reportez-vous au forum de l'article :
* http://www.uzine.net/spip_contrib/article.php3?id_article=76
*/
//SOMMAIRE
function sommaire_article($texte)
{
        $artsuite = 0;
        $page = split('-----', $texte);
        $uri_art = generer_url_article($GLOBALS['id_article']);
        $uri_art .= strpos($uri_art, '?') ? '&' : '?';

    $i=0;
    $texte="";
    while($page[$i]){
        // On ajoute une ancre aux intertitres "{{{ }}}" que l'on utilise pour créer le sommaire
        preg_match_all("|\{\{\{(.*)\}\}\}|U",$page[$i], $regs);
         $nb=1;
        for($j=0;$j<count($regs[1]);$j++){
            $p=$i+1;
            $texte=$texte."<a href=\"". $uri_art . "artsuite=" .$i. "#sommaire_".$nb."\" title=\"".$regs[1][$j]."\">".$regs[1][$j]."</a>, p$p<br />";
            $nb++;
        }
        $i++;
    }
        return $texte;
}
// Fin du filtre sommaire
------cut-------

Mit dem Code
[(#TEXTE*|sommaire_article|propre)]
plazierst Du das Inhaltsverzeichnis in Deinem Template/Skelett.

Viel Spass,
klaus++

P.S. Der Artikel auf SPIP-CONTRIB erläutert noch weitere Möglichkeiten, z.B. wie Du einen langen Artikel auf mehreren Seiten anzeigst.

Heiko Jansen schrieb:

Hallo,

gibt es in SPIP eine Möglichkeit (Filter, sonstiger Hack) um aus den
Zwischenüberschriften im Artikel am Anfang des Artikels ein
Inhaltsverzeichnis zu erstellen am besten mit Sprungmarken zur
jeweiligen Zwischenüberschrift?

Eine solche Eigenschaft gibt es z.B. bei MediaWiki....

viele grüße
Heiko