Beschränken Kategorie Einbindung bei dynamisch generierten Kategorien in MediaWiki mit

StackOverflow https://stackoverflow.com/questions/612419

  •  03-07-2019
  •  | 
  •  

Frage

Am Anfang war ich nicht sicher, ob eine Frage auf, wie etwas in MediaWiki fortgeschritten tun hier gehörte, sondern auf die häufig gestellten Fragen zu lesen und darüber nachzudenken, entschied ich, dass Wiki-Markup wie viel seine eigene Sprache wie HTML und CSS, und wenn diese Fragen hier willkommen sind, dann hoffentlich ist dies auch! Wenn ich falsch bin gerne diese Frage Flagge. Update: Nun, wie kam von den 3 Ansichten diese Frage hervorgeht, nehme ich an, dass, während es vielleicht innerhalb der Regeln von Stackoverflow ist, gibt es nicht viel Know-how rund um das Thema sein könnte! Ich denke, ich werde diese Frage an den offiziellen Foren nehmen müssen (Schauder)


Das Problem

In einem Wiki Ich gründe meine MediaWiki eingeschaltet, habe ich eine Vorlage, die unter anderem gibt dynamisch Kategorien erstellt. Dies bedeutet, dass die Seite, die die Vorlage aufgerufen wird auf die Vorlage übergeben basierend auf einige der Variablen kategorisiert werden. Die dynamisch generierten Kategorien sind innerhalb <includeonly> blockiert die Vorlage Seite selbst ab, um die Kategorien zu verhindern.

Das Problem ist, dass ich dann transcluden , die Seite zu anderen Seiten, die die Kategorien verursachen transkludiert auch zu, und nun, da dritte Seite hat es alle Kategorien von allen Seiten transkludiert.

Ich möchte irgendwie die Vorlage formatiert, so dass die Seite, die die Vorlage aufruft wird die Verwendung der Kategorien machen, aber irgendwelchen Seiten, die den rufenden Seite transcluden werden die Kategorien nicht erben.

Beispiel

Hier ist meine beste Chance auf ein Beispiel des Aufbaus. Wenn dies nicht ausreicht ich Links zu meiner realen Welt Beispiel bieten kann.

Template:Food
Eine Seite, die ein paar Variablen und gibt einen hochformatierten Block nimmt, die die Nahrung erklärt, darunter eine Kategorie auf dem „Typen“ Variable basierend ausgibt.

Banana
Diese Seite ruft die Template:Food Vorlage mit wenigen Variablen, einschließlich type auf "fruit". Das Ergebnis ist, wenn der Benutzer zeigt die „Banana“ Seite sie eine schön formatierte Seite mit einigen grundlegenden Informationen über die Frucht erhalten. Außerdem, wenn der Benutzer auf die Category:Fruit Seite geht, werden sie die Bananen-Seite aufgeführt.

Banana Nut Bread Recipe
Das ist das Problem Seite. Auf dieser Seite Rezept möchte der Autor alle Seiten für Zutaten transcluden so dass jeder Bestandteil in seinem schön formatierte Block aufgeführt ist. Doch als er die Banana Seite mit {{:Banana}} transcludes wird die Fruit Kategorie mit ihm transkludiert entlang und nun der Banana Nut Bread Recipe Seite wird als in der Fruit Kategorie aufgeführt, die falsch ist.

War es hilfreich?

Lösung

Wenn ich das richtig verstehe, wollen Sie die include info (die Kategorie) nur Tiefe 1 Einbindung begrenzen. Ich glaube nicht, es ist möglich.

Mögliche Lösungen:

1- Legen Kategorie Informationen nicht in die Template:Food. Setzen Sie ihn einfach direkt in jeder Zutat Seite oder wenn Sie wirklich müssen, erstellen Sie eine Template:Food_category oder ähnliches. Dann wird jede Seite eine beliebige Anzahl von {{Food}}s haben könnte und die {{food category}}s müssten explizit gesetzt werden.

Andere Tipps

Die markierten Abschnitt Transklusion Erweiterung können Sie Teile eines Quellartikel mit Etiketten markieren und transcluden auf diesen Tags basieren. Die Tags können sich überlappen, so dass Sie sehr granulare Kontrolle über das, was durchgezogen wird.

https://www.mediawiki.org/wiki/Extension:Labeled_Section_Transclusion

Ich würde denken, dass § Transklusion Beschriften Sie sowohl den Typen transcluden könnten: Obst und die Banana Beschreibung in separater Einbindung Aussagen auf der Banana-Seite, sondern nur die Beschreibung bis zum Rezepte Seite ziehen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top