- Affected Version
- WoltLab Suite 5.4
- Affected App
- WoltLab Suite Core
EDIT: Sorry ist kein Fehler. Das Template ist einfach nicht dafür ausgelegt. Hier der entsprechende Wunsch: AbstractCategoryMultiSelectOptionType: Tiefe als Option erweitern - WoltLab Suite Core - WoltLab®
Ich möchte den MultiSelectOptionType für ein Plugin verwenden. Dabei ist mir aufgefallen, dass mir nur die Hauptkategorie und die erste Unterkategorie angezeigt wird. Also habe ich die function getFormElement kopiert und setMaxDepth angepasst.
public function getFormElement(Option $option, $value)
{
/** @var CategoryNodeTree $categoryTree */
$categoryTree = new $this->nodeTreeClassname($this->objectType);
$categoryList = $categoryTree->getIterator();
$categoryList->setMaxDepth(2);
WCF::getTPL()->assign([
'categoryList' => $categoryList,
'option' => $option,
'value' => !\is_array($value) ? \explode("\n", $value) : $value,
]);
return WCF::getTPL()->fetch('categoryMultiSelectOptionType');
}
Display More
So erhalte ich jedoch eine sehr spezielle Auflistung
//So soll es sein
Kategorie 1
Unterkategorie 1
UnterUnterkategorie 1
//So ist es
Kategorie 1
Unterkategorie 1
//So sieht es mit "setMaxDepth(2)" aus
Kategorie 1
Unterkategorie 1
Unterkategorie 1
UnterUnterkategorie 1
UnterUnterkategorie 1
Display More
Übersehe ich hier tatsächlich etwas, oder ist hier unter umständen die Auflistung fehlerhaft?
Die Ausgabe von $categoryList in der Funktion getFormElement scheint zumindest korrekt zu sein. Bevor ich hier jedoch ein eigenes Templates für die Ausgabe erstelle wollte ich hier erstmal reinhören ob das einfach nicht gewollt ist das mehr als eine Unterebene verwendet wird.
Sollte es so sein wäre es nett wenn ihr diesen Beitrag in die Ideen verschiebt.