Neuerungen in WoltLab Suite 3.0: Boxen

Auflistung: Effizient suchen und filtern



Die bereits von der Seiten-Verwaltung bekannte Oberfläche zum Sortieren und Filtern kommt auch bei den Boxen zum Einsatz, selbst eine sehr große Anzahl an Boxen lässt sich damit bequem verwalten.


Eigene Boxen anlegen



Eigene Boxen können schnell und benutzerfreundlich mit Hilfe des eingebauten WYSIWYG-Editors erstellt werden, pflegeleicht und ohne die Notwendigkeit HTML zu erlernen. Selbstverständlich bietet WoltLab Suite Core 3.0 für erfahrenere Benutzer die Möglichkeit an, den Boxeninhalt direkt via HTML festzulegen inklusive der optionalen Unterstützung für Template-Scripting falls gewünscht.


Darüber hinaus bieten die Boxen auch einen weiteren Typ: "System" basiert auf PHP-Klassen die durch Apps und Plugins zur Verfügung gestellt werden.


Eigene Boxen auf Basis des System-Typs



Im obigen Screenshot wird beispielhaft eine neue Box angelegt, die Themen aus dem Forum "Another Forum" anzeigen soll. Die Art des Inhalts sowie die dazugehörigen Einstellungsmöglichkeiten ergeben sich unmittelbar aus dem im oberen Bereich auswählbaren Controller.


Die dargestellten Einstellungen werden durch den Controller festgelegt und unterschieden sich je nach Auswahl zum Teil stark, es gibt zudem keinerlei Beschränkungen welche Einstellungen angeboten werden bzw. angeboten werden können. In diesem Beispiel wurde die Anzeige auf die 5 letzten Themen beschränkt, es sind aber weitaus mehr Kriterien zur Auswahl möglich, einschließlich der Aktivität und der Beliebtheit eines Themas.


Jeder Controller kann beliebig oft verwendet werden, das heißt es können beispielsweise zwei verschiedene Boxen erstellt werden die jeweils nur einen Teil des Forums abdecken und vice versa. Denkbar wäre auch eine thematische Verknüpfung von Forenbereichen mit einzelnen Seiten im CMS um so zielgerichtet relevante Inhalte aufzuzeigen. Dies unterscheidet sich fundamental von der Funktionsweise der Dashboard-Boxen die nur über eine zentrale Konfiguration verfügten und jeweils nur einmalig einsetzbar waren.


Individuelle Konfiguration der Anzeige



Boxen müssen keineswegs auf jeder einzelnen Seiten angezeigt werden, sondern können schnell und bequem auf eine enge Auswahl begrenzt werden. Zur Einfachheit unterstützt die Sichtbarkeit zwei verschiedene Modi, bei der die Box überall außer auf den ausgewählten Seiten angezeigt wird, bzw. umgekehrt ausschließlich auf den ausgewählten Seiten dargestellt wird. Zusätzlich kann die Liste live nach Wörtern oder Wortteilen gefiltert werden:



Berechtigungen



Boxen sind grundsätzlich für jeden sichtbar, können aber auf Wunsch auf einen ausgewählten Benutzerkreis beschränkt werden.


Verfügbare Platzhalter



Boxen können auf Basis von 10 unterschiedlichen Platzhaltern angezeigt werden, diese Platzhalter stehen auf allen Seiten gleichermaßen zur Verfügung. Der blaue Kasten in der Mitte steht stellvertretend für den normalen Seiteninhalt, der Platz für die Platzhalter wird selbstverständlich nur beansprucht wenn sich dort tatsächlich Boxen befinden. Das obige Bild dient lediglich der Illustration der zur Verfügung stehenden Möglichkeiten.

Kommentare 40

  • Tag. Die Plugins sind nun hier erreichbar:


    https://update.revocode.de/ind…kage/14-cms-php-in-boxen/

    https://update.revocode.de/ind…age/15-cms-php-in-seiten/

    (Links sind nur für registrierte Benutzer erreichbar)


    Ein Beispiel gibt es hier: https://revocode.de/index.php?…slidebox-in-der-filebase/

    Gefällt mir 1
  • Hallo,


    um mal zum Thema php in den Boxen zurück zu kommen gibt es eine Möglichkeit inzwischen?


    Habe das hier gefunden aber die links führen ins nichts :(


    https://www.cls-design.com/com…ne-Box-mit-PHP-erstellen/

  • Danke, jetzt passt es :)

  • Entschuldige bitte, ich habe den Code oben korrigiert, so passt er nun.

    Gefällt mir 1
  • Aufgerufene URL
    /
    Referrer
    Fehlermeldung
    Could not compile SCSS: parse error: failed at `    [data-page-identifier="com.woltlab.wcf.Dashboard"] .boxesContentTop { ` line: 161
    Art
    wcf\system\exception\SystemException
    Datei (Zeile)
    /usr/www/users/nmutug/mutig-media/dubarfst/lib/system/style/StyleCompiler.class.php (289)
    Stacktrace
    1. /usr/www/users/nmutug/mutig-media/dubarfst/lib/system/style/StyleCompiler.class.php (101): wcf\system\style\StyleCompiler->compileStylesheet(…)
    2. /usr/www/users/nmutug/mutig-media/dubarfst/lib/system/style/StyleHandler.class.php (133): wcf\system\style\StyleCompiler->compile(…)
    3. /usr/www/users/nmutug/mutig-media/dubarfst/templates/compiled/1_wcf_1_cms.php (120): wcf\system\style\StyleHandler->getStylesheet(…)
    4. /usr/www/users/nmutug/mutig-media/dubarfst/lib/system/template/TemplateEngine.class.php (320): include(…)
    5. /usr/www/users/nmutug/mutig-media/dubarfst/lib/page/AbstractPage.class.php (308): wcf\system\template\TemplateEngine->display(…)
    6. /usr/www/users/nmutug/mutig-media/dubarfst/lib/page/AbstractPage.class.php (103): wcf\page\AbstractPage->show(…)
    7. /usr/www/users/nmutug/mutig-media/dubarfst/lib/system/request/Request.class.php (83): wcf\page\AbstractPage->__run(…)
    8. /usr/www/users/nmutug/mutig-media/dubarfst/lib/system/request/RequestHandler.class.php (94): wcf\system\request\Request->execute(…)
    9. /usr/www/users/nmutug/mutig-media/dubarfst/index.php (9): wcf\system\request\RequestHandler->handle(…)
    Fehlermeldung
    parse error: failed at `    [data-page-identifier="com.woltlab.wcf.Dashboard"] .boxesContentTop { ` line: 161
    Art
    Exception
    Datei (Zeile)
    /usr/www/users/nmutug/mutig-media/dubarfst/lib/system/style/scssphp/src/Parser.php (2142)
    Stacktrace
    1. /usr/www/users/nmutug/mutig-media/dubarfst/lib/system/style/scssphp/src/Parser.php (145): Leafo\ScssPhp\Parser->throwParseError(…)
    2. /usr/www/users/nmutug/mutig-media/dubarfst/lib/system/style/scssphp/src/Compiler.php (160): Leafo\ScssPhp\Parser->parse(…)
    3. /usr/www/users/nmutug/mutig-media/dubarfst/lib/system/style/StyleCompiler.class.php (286): Leafo\ScssPhp\Compiler->compile(…)
    4. /usr/www/users/nmutug/mutig-media/dubarfst/lib/system/style/StyleCompiler.class.php (101): wcf\system\style\StyleCompiler->compileStylesheet(…)
    5. /usr/www/users/nmutug/mutig-media/dubarfst/lib/system/style/StyleHandler.class.php (133): wcf\system\style\StyleCompiler->compile(…)
    6. /usr/www/users/nmutug/mutig-media/dubarfst/templates/compiled/1_wcf_1_cms.php (120): wcf\system\style\StyleHandler->getStylesheet(…)
    7. /usr/www/users/nmutug/mutig-media/dubarfst/lib/system/template/TemplateEngine.class.php (320): include(…)
    8. /usr/www/users/nmutug/mutig-media/dubarfst/lib/page/AbstractPage.class.php (308): wcf\system\template\TemplateEngine->display(…)
    9. /usr/www/users/nmutug/mutig-media/dubarfst/lib/page/AbstractPage.class.php (103): wcf\page\AbstractPage->show(…)
    10. /usr/www/users/nmutug/mutig-media/dubarfst/lib/system/request/Request.class.php (83): wcf\page\AbstractPage->__run(…)
    11. /usr/www/users/nmutug/mutig-media/dubarfst/lib/system/request/RequestHandler.class.php (94): wcf\system\request\Request->execute(…)
    12. /usr/www/users/nmutug/mutig-media/dubarfst/index.php (9): wcf\system\request\RequestHandler->handle(…)
  • Gefällt mir 1
  • Kurze Zwischenfrage: Wenn ich das Ganze jetzt nur aufs Dashboard begrenzen will, wie geh ich dann vor? It das überhaupt möglich?

  • Super, danke für die schnelle Hilfe :):thumbup:

  • Ist das möglich, wenn ja wie?

    CSS
    @include screen-lg {
        /* hier dein ursprünglicher Code */
    }
    Gefällt mir 1
  • Hallo,


    ich habe das Ganze mal für die ContentTop umgesetzt:



    Allerdings wirkt es sich bei mir auch auf die Mobile Ansicht aus. Ich würde das aber gerne auf die normale Ansicht begrenzen und in der mobilen Ansicht wie gehabt untereinander haben. Ist das möglich, wenn ja wie?



    Viele Grüße


    Peter

  • Guten Abend, wie spreche ich die "headerboxen" an, wenn ich diese Nebeneinader haben möchte.

    Die Boxen im Platzhalter "Kopfzeile" werden bereits standardmäßig nebeneinander angezeigt (der zur Verfügung stehende Platz wird hier geviertelt). Die entsprechenden CSS-Selektoren wären hier: .boxesHeaderBoxes .boxContainer sowie .boxesHeaderBoxes .box


    kann bei mehrsprachigen Boxen der Titel pro Sprache definiert werden?

    Ja. Beim Bearbeiten von mehrsprachigen Boxen befindet sich im Tab "Inhalte" für jede Sprache ein separater Tab, wo man den Titel für die jeweilige Sprache angeben kann.

  • Hallo,


    kann bei mehrsprachigen Boxen der Titel pro Sprache definiert werden?

  • Das ist durch individuelles CSS umsetzbar. Z.B. so:

    Guten Abend, wie spreche ich die "headerboxen" an, wenn ich diese Nebeneinader haben möchte.

    Danke

  • Das ist durch individuelles CSS umsetzbar. Z.B. für die Position "Fußzeile" so:

    Code
    .boxesFooterBoxes .box {
        padding-left: 30px;
        padding-right: 30px;
    }
    Gefällt mir 1
  • Hallo,


    kann man den Abstand zwischen einer Box und der nächsten, wenn sie nebeneinander angereiht werden, vergrößern? Wie?


    Gruß

  • Ja und Ja.

    Gefällt mir 1
  • @Alexander Ebert kurze Zwischenfrage: Sehe ich das richtig, dass zwischen Box und BoxContent eine 1:1-Beziehung besteht, oder ist in einer bestimmten Konstellation 1:n möglich? Ausgenommen multilinguale Boxen. Hier wird aber jeweils auch nur ein Content pro Box (eben die entsprechende Sprache) angezeigt, oder?

  • Vielen Dank!

  • @jens1o: Mein Code-Beispiel wirkt sich auf die Box-Position "Seitenende" (".boxesFooter") aus. Wenn hingegen die Box-Position "Fußzeile" gemeint war, ist natürlich dein Code-Beispiel korrekt.

    Gefällt mir 2
  • Das ist durch individuelles CSS umsetzbar. Z.B. so:

    Funktioniert bei mir nicht.


    Das hingegen schon:

    CSS
    .boxesFooterBoxes .box {
        flex: 0 0 33%;
        margin-top: 0 !important;
    }
  • Das ist durch individuelles CSS umsetzbar. Z.B. so:

    Gefällt mir 1
  • Glück Auf!


    Wie würde das mit einem Beispiel aussehen, drei Objekte nebeneinander als Boxen im FooterBox-Bereich darzustellen?


    Grüße

  • Ich bin EXTREMST gespannt.

  • Mal kurz weg von PHP und hin zum vorgestellten Boxensystem: Ich finds klasse und freu mich nach wie vor darauf und bereue meinen Schritt in Richtung Woltlab nicht (auch wenn ich mich echt über Updatefähige Versionen freuen würde, den selbst bei der aktuellen Alpha juckt es mich gewaltig, den Install-Button zu betätigen :D )

    Gefällt mir 1
  • Die Entscheidung ob und wie man PHP-Code anbietet ist vollkommen unabhängig davon wie die technische Umsetzung unter der Haube aussieht; Ob MVC oder nicht spielt dabei überhaupt keine Rolle.


    Es gibt genug Gründe die gegen entsprechende Möglichkeiten sprechen, aber auch einige die es zu mindestens zum Teil befürworten. Aktuell gibt es keine Unterstützung für eine direkte Eingabemöglichkeit von PHP-Code, aber wie üblich ist so etwas nicht in Stein gemeißelt und es ist noch etwas Zeit bis zum Release.

    Gefällt mir 5
  • Muss es nicht, nur bleibt dir auch weiterhin nichts anderes übrig als einen system box controller zu verwenden (was am ende kein hexenwerk ist) da das system es eben nicht anderweitig zulässt ;)
    Ich hatte nur auf einen der Hintergründe gegen die Entscheidung hingewiesen, und im CMS Thread wurde ja schon zur genüge darüber diskutiert dass andere Systeme die direkte php Eingabe im Core (das Plugins das dennoch ermöglichen ist ein anderes Thema) ebenfalls gestrichen haben aus ähnlichen Gründen.
    Und ich Persönlich finde die Entscheidung nur gut, denn wenn am ende dann etwas schief läuft mit deinem php code ist das Debuggen nur schwer machbar (bedenke die nicht bestimmbaren Dateinamen, eventuell anderer code der um die Eingabe herrum muss und damit zeilenn ummern verschieben usw), bei einer System box ergibt sich dieses Problem nicht.

  • Eine einzelne seite mittels direkten php zu erstellen ist kein Weltuntergang sondern viel mehr eine Bereicherung was die möglichkeiten angeht.


    das wcf - wsc oder wie es auch heißen wird... bleibt trotzdem wie es ist.. ob mit oder ohne diese Funktion.


    solche Vorgaben halte ich für ziemlich schwach und nicht besonders klug.

  • ich wüsste nicht was mich das als endanwender interessieren müsste,
    lediglich ob es machbar gemacht wird oder eben nicht ;)

  • mit soetwas das komplette System zu zerschießen.

    da gibt es zig sachen...


    mir erschliesst sich immer noch nicht, was das problem ist, es anzubieten?


    was bitte ist ein : "MVC Ansatz den das WCF/WSC verfolgt" ?