Ankündigung

Einklappen
Keine Ankündigung bisher.

Mehrfach-Nutzung von Code

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • accelle
    antwortet
    Kein Problem. Ich hatte die Hoffnung, dass ich etwas übersehen habe.

    Gruß
    Peter

    Einen Kommentar schreiben:


  • Apollo
    antwortet
    Ok, jetzt hab ichs verstanden. Ich glaube das geht nicht, ist halt doch "nur" ne Template-Engine

    Gruss

    Einen Kommentar schreiben:


  • accelle
    antwortet
    Es geht um das flexible Widget, das ich ursprünglich komplett aus der smarthome.conf und den KNX-Werten steuern wollte. Das geht ja nicht so, wie ich mir das vorstelle.

    Also habe ich die Idee, die statische Konfiguration (was soll angezeigt werden und wo steht das, z.B. Licht, Fenster, Türen etc.) in Variablen-Sets abzulegen (s.o.) und lediglich die aktuellen Werte zur Laufzeit abzurufen, um z.B. zu bestimmen, welches Icon angezeigt wird oder ob überhaupt. So wie ich es für das Icon Heizen/Kühlen im RCD-Widget gemacht habe.

    Falls man das Widget nicht nur für die Navigation verwenden will, sondern an verschiedenen Stellen, dann wäre die Auslagerung der statischen Konfiguration sinnvoll.

    Mit include ist es wohl so, dass daraus vor dem Einfügen schon das html gerendert wird. Und da die Twig-Anweisungen, die ich verwende, nur Variablen belegen und kein html generieren, wird halt nix inkludiert.

    Offensichtlich gibt es keine Möglichkeit, Twig-Code auszulagern, um ihn mehrfach zu verwenden, oder? :-(

    Gruß
    Peter

    Einen Kommentar schreiben:


  • Apollo
    antwortet
    Naja, es gibt noch "extends" und "embed". Aber alle vier sind für unterschiedliche Zwecke und müsste eigentlich reichen.

    include: Zum "Einbinden" externen codes, als stünde er genau dort (z. B. wird das Menü so eingebunden).

    import: Zum "Anziehn" fremder Funktionen oder Macros. (Wird für die Widgets bei SV verwendet)

    extends: Zum "Vererben" von Templates (Wird für alles Seiten verwendet, in den vererbten werden dann nur "block"s überschrieben)

    embed: Kombination aus include und extends.

    Was willst du denn machen?

    Gruss

    Einen Kommentar schreiben:


  • accelle
    hat ein Thema erstellt Mehrfach-Nutzung von Code.

    Mehrfach-Nutzung von Code

    Hallo,

    wie kann ich Codefragmente, die ich mehrfach nutzen möchte, in eine eigne html-Datei auslagern und dann in die entsprechenden Seiten einbinden?

    Beispiel: Variablen, die bestimmte Strukturen abbilden, dich ich oft brauche. Der mehrfach genutzte Code sieht z.B. so aus:
    Code:
    {% set f1 = ['a', '1'] %}
    {% set f2 = ['b', '2'] %}
    {% set f = [f1, f2] %}
    Das funktioniert, wenn ich den Code direkt in die html-Dateien einfüge. Sobald ich es in eine eigene Datei auslagere und diese mit {% import %} oder {% include %} einbinde, dann funktioniert es nicht mehr. Für den Fall, dass ich generelle Änderungen mache, wäre die Auslagerung in eine separate Datei natürlich sinnvoll. Wenn das von Twig unterstützt wird.

    Welche Möglichkeiten gibt es? Bin aus dem Twig-Handbuch leider nicht ausreichend schlau geworden.

    Danke und Gruß
    Peter
Lädt...
X