Hallo Eduard,
kein Problem!
Mir war es zwischendurch auch aufgegangen, dass es nur unter diesen Umständen funktioniert.
Da bist du mir nun zuvor gekommen.
Es liegt daran, dass nur wenn mindestens 1 Listbox Feld betroffen ist, die notwendigen Bibliotheken geladen werden.
Ansonsten gibt es auch einen Laufzeitfehler im JavaScript, welches zumindest die JavaScript Bibliothek voraussetzt:
Code:
Uncaught TypeError: jQuery(...).select2 is not a function
Es müssen folgende CSS und JavaScript Bibliothek geladen werden:
Code:
<script src="/developj4/media/com_visforms/js/select2.js"></script>
<link href="/developj4/media/com_visforms/css/select2.min.css" rel="stylesheet">
Das ist aber nur wirklich sinnvoll im PHP durchzuführen, um ein mehrfaches Laden zu verhindern.
Das ist dann am Besten in einem Template-Override platziert, wo ja per Definition PHP-Code geändert werden kann und soll:
Code:
<?php
// load 'searchable' API
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Uri\Uri;
$doc = Factory::getDocument();
HTMLHelper::_('jquery.framework');
HTMLHelper::_('script', 'media/com_visforms/js/select2.js', array('version' => 'auto', 'relative' => false, 'detectBrowser' => false, 'detectDebug' => false));
$doc->addStyleSheet(Uri::root(true) . '/media/com_visforms/css/select2.min.css', array('version' => 'auto', 'relative' => false, 'detectBrowser' => false, 'detectDebug' => false));
?>
Das Feature 'Multiple selection preserving selection order' ist schon cool.
Es ist, soweit hier besprochen, bezüglich der reinen Funktionalität bis zur nicht-editierten Anzeige (Frontend/Backend) und dem Nachladen bei SQL-Listboxen, recht einfach umzusetzen.
Es muss allerdings für alle UI-Frameworks und auch in der Nachbearbeitung/Edit funktionieren und im Zusammenspiel mit allen anderen Funktionen, wie 'Bedingte Anzeige' oder 'Reload'.
Das widerum ist alles andere als trivial und muss gut getestet werden.
Ich habe trotzdem mal einen Issue zur Entwicklung für die Wunschliste angelegt:
Issue [VF-691] Forum: Listbox: Add option: Multiple selection preserving selection order
Das störende Verhalten beim Reload bei den SQL-Feldern ist deutlich schwieriger zu beheben.
Einen Workaround kann ich hier auf die Schnelle leider nicht liefern.
Es wird dann erst im Rahmen der Entwickelung von Issue [VF-691] gelöst.
Gruß, Ingmar