Fastto
@Fastto

Кастомный префикс элементу содержания в mediawiki

Задача:
на странице в медиавики установить корневой индекс (префикс) номеру в содержании, т.е. например каким-то образом установить начальным индексом 4.1 и тогда в содержании, да и на странице

== Первый элемент ==
Будет выглядеть как 4.1.1

== Второй элемент ==
Будет выглядеть как 4.1.2

=== Первый подэлемент второго элемента ===
Будет выглядеть как 4.1.2.1

Это вообще осуществимо? штудировал документацию, подобного ничего не нашел.

Сейчас приходится устанавливать _NOTOC_ и формировать содержание вручную, что не очень удобно.
  • Вопрос задан
  • 2434 просмотра
Пригласить эксперта
Ответы на вопрос 1
@LDestroy
Тоже столкнулся с такой задачей ... поиск по интернетам ничего не дал... пришлось делать самому :)

Вообщем нужно немного отредактировать код:
/w/includes/parser/Parser.php

$toc .= Linker::tocLine( $anchor, $tocline,
                    $numbering, $toclevel, ( $isTemplate ? false : $sectionIndex ) );

заменить на

if (!empty($tocline)) {
                $toc .= Linker::tocLine( $anchor, $tocline,
                    $numbering, $toclevel, ( $isTemplate ? false : $sectionIndex ) );
                }


и

$head[$headlineCount] = Linker::makeHeadline( $level,     
                $matches['attrib'][$headlineCount], $anchor, $headline,
                $editlink, $legacyAnchor );


заменить на

if (!empty($tocline)) {                                   
            $head[$headlineCount] = Linker::makeHeadline( $level,     
                $matches['attrib'][$headlineCount], $anchor, $headline,
                $editlink, $legacyAnchor );                           
            }


теперь в Wiki можно начать оглавление с нужного пункта:

__TOC__

== ==
== ==
== ==
== ==
=== ===
==== Тест 1 ====
==== Тест 2 ====
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы