Core Object in SCSS

  • Hallo,


    ich hätte eine Frage zu den Core Objects.


    Unter den Templates kann ich meine eigene hinzugefügte Core Objekt ohne Probleme aufrufen und anzeigen lassen, allerdings frage ich mich, ob man diesen auch in SCSS einfügen kann.

    Ich würde gerne in SCSS eine Abfrage machen und diesbezüglich mein Core Objekt mit einbeziehen. Geht das?

    Mein Code:


    Code: coreObject.xml
    <coreobject>
        <objectname>wcf\system\test\TestExampleHandler</objectname>
    </coreobject>



    Aufruf im Template: {@$__wcf->getTestExampleHandler()->getvalue()}
    ( Das Funktioniert )


    Nur wie kann ich das in SCSS in eine Variable einfügen oder eine Abfrage machen?

    Folgendes habe ich versucht:



    Habe mir auch in der Woltlab Doku folgendes angeschaut:


    Template Variables

    Template variables can be assigned via WCF::getTPL()->assign('foo', 'bar') and accessed in templates via $foo:

    • {$foo} will result in the contents of $foo to be passed to StringUtil::encodeHTML() before being printed.
    • {#$foo} will result in the contents of $foo to be passed to StringUtil::formatNumeric() before being printed. Thus, this method is relevant when printing numbers and having them formatted correctly according the the user’s language.
    • {@$foo} will result in the contents of $foo to be printed directly. In general, this method should not be used for user-generated input.

    System Template Variable

    The template variable $tpl is automatically assigned and is an array containing different data:

    • $__wcf contains the WCF object (or WCFACP object in the backend).


    und

    Variables

    You can access variables with $myVariable, variable interpolation (variables inside strings) is accomplished with #{$myVariable}.


    Ich vermute das ich es nicht richtig escape...

    Hoffe ihr könnt mir helfen :saint:

  • Hallo,


    das ist nicht vorgesehen. $__wcf sowie alle weiteren an das Template übergebenen Variablen stehen in einem Stil nicht zur Verfügung. Der Stil wird schließlich auch nicht jedes Mal bei Aufruf einer Seite neu generiert. Das SCSS wird nur bei Bedarf (z.B. nach einer Änderung im Stil) zu einer statischen CSS-Datei kompiliert.


    Neben den allgemeinen Stilvariablen stehen noch alle ACP-Optionen vom Typ boolean und integer zur Auswertung im Stil-SCSS zur Verfügung. $wcf_option_module_wcf_ad würde beispielsweise dir die Information liefern, ob das Werbung-Modul aktiviert ist oder nicht.

  • Also die Variable die ich in SCSS abfragen möchte, würde immer einen integer Wert haben.

    Möchte aber gerne ein Formular im Backend erstellen, wodurch man dann später im SCSS bestimmte Sachen einstellen kann.


    Geht das wirklich nur via Options?

  • Du kannst auch eine scss datei mitliefern und diese dann beim speichern manipulieren oder dich beim EL einklinken der beim erstellen der scss Dateien aufgerufen wird und dann dort die Variablen selbst übergeben.

    Aber generell ist es der leichteste Weg das einfach über Optionen zu regeln, da das ganze so oder so statischer Inhalt ist macht es wenig Sinn dort mehr flexibilität zu erhalten.

  • Ja das mit dem SCSS einklinken wusste ich.


    Ich möchte eigentlich so, wie die Options sind ähnlich aufbauen nur noch erweitern.

    Daher wollte ich ungerne jetzt jedesmal ein Option erstellen.


    Auf der neuen selbst erstellen ACP Seite kann man auch zwischen 1 und 0 wählen und diese sollte halt dann unter SCSS möglich sein via @if abzufragen. Es geht mir hierbei nur darum, dass man im ACP auf einer neuen Seite die Variablen in SCSS abfragen lassen kann.

    Es soll nicht irgendwo anders erneut manipuliert werden, nur im ACP und auch nur dann, wenn das eine Formular abgesendet wurde.

  • Wie gesagt, 3 Möglichkeiten dein Ziel zu erreichen wurden bisher aufgelistet, die bei weitem einfachste wäre eben auf Optionen zu setzen.

    Du kannst hier ja auch eine eigene Kategorie anlegen und diese dort quasi getrennt auflisten.

  • Hallo,


    habs jetzt hinbekommen :)
    Danke für eure Hilfe.


    Mit ein paar Einstellungen hab ich das mit den Options hinbekommen :S

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!