Mediawiki 1.16: помеченный раздел transclusion - PullRequest
0 голосов
/ 03 мая 2011

Мы установили Расширение включения маркированных разделов , которое в основном позволяет вам включать отдельные разделы с другой страницы или явно помечать часть страницы для включения.

У меня естьиспользовал #lsth для включения заголовков, но отметил, что он не включает сам заголовок раздела, что означает, что ссылки «Редактировать» на раздел не существует.

Теперь я всегда мог явно написатьотредактируйте ссылку на этот раздел, но если я жестко закодирую номер раздела и добавлю дополнительные разделы на исходную страницу, ссылки редактирования будут указывать на неправильные разделы.

Есть ли способ получить ссылку Редактировать для включенногоsection?

Вот пример: у меня есть страница новостей, на которой будут перечислены все виды общих событий, происходящих в вики.Он состоит из «новостей проекта» и «административных новостей» и некоторых других категорий.

Они будут использоваться во многих местах, поэтому их проще всего включить.Я не хотел создавать отдельные страницы для каждого типа новостей, поэтому я решил использовать раздел transclusion.Однако, если пользователь хотел обновить новости, нет удобного способа щелкнуть ссылку EDIT, которая ведет прямо к разделу.

Ответы [ 3 ]

0 голосов
/ 15 декабря 2012

Не включайте заголовок, включите весь раздел, включая заголовок, поместив тег LST от заголовка до конца раздела.

0 голосов
/ 20 февраля 2013

Когда вы используете раздел в качестве контейнера включения в LST, он намеренно удаляет заголовок; Я подозреваю, что это так, что вы можете легко пометить кучу трансклидуемого текста на странице с чисто организационными заголовками (например, пронумерованными разделами), не беспокоясь о том, что они появятся. Так что в вашем случае вместо использования функции {{#lsth} вам придется использовать чуть более сложную функцию {{#lst}}. Оберните весь раздел в теги <section begin/><section end/>, включая заголовок, и тогда он будет правильно включен. Например:

<section begin="mySection" />
== My Section ==
My long block of text.
<section end="mySection" />

Затем просто поместите функцию {{#lst:myPage|mySection}} на страницу, где вы хотите, чтобы она появилась, и заголовок (и блок редактирования) придет с ней.

В качестве альтернативы используйте встроенный уровень заголовков. Если у вас есть эта страница:

== My Transclusion ==
=== My Section ===
My block of text

== My Second Transclusion ==

И вы используете функцию {{#lsth:myPage|My Transclusion}}, она будет включать все до следующего заголовка того же уровня (в данном случае My Second Transclusion), включая заголовок «Мой раздел». Если вы хотите, чтобы Мой раздел был обычным (<h2>) заголовком, то сделайте следующее:

= My Transclusion =
== My Section ==
My block of text

= My Second Transclusion =
0 голосов
/ 04 мая 2011

Я пробовал это со следующим:

test is

==hi!==

Original is

==1==
{{test}}
==2==

Отображается как:

==1==
==hi!==
==2==

Так, это должно быть проблемой с расширением, а не с механизмом включения.Имеет для вас смысл?

...