Ich bin dabei, ein modular page Thema in grav (die twig als Vorlage-Engine verwendet) zu bauen.Hinzufügen einer Eigenschaft zu einem vorhandenen Objekt in Zweig
Standardmäßig besteht ein modulares Design aus mindestens zwei Zweigvorlagen-Dateien: Die eine enthält den Seitenrahmen einschließlich des Kopfes, die andere das Markup eines Inhaltsmoduls. Grav des standard theme liefert Beispiele dieser Vorlagen:
Wie Sie sehen können, das Modul (Beispiel) nicht über einen head
oder javascripts
Block Javascripts auf der HTML-Kopf hinzufügen . (Dies wäre nicht einmal möglich, da eine typische modulare Seite aus mehreren Modulen besteht. Wenn also zwei verschiedene Module versuchen würden, den javascripts
Block zu ändern, würde der letzte die von der ersten vorgenommenen Änderungen überschreiben, was zu unbeabsichtigten Ergebnissen führen würde) .
Es kommt jedoch vor, dass ich innerhalb eines Moduls etwas Javascript-Code zum Kopf meiner Seite hinzufügen muss. Ich dachte über eine Lösung nach und hatte die Idee, den Javascript-Code als Eigenschaft zu einem Objekt hinzuzufügen, das "site wide" existiert, nämlich pages object.
Dies führt zu meiner Frage:
Wie kann ich Eigenschaften auf ein vorhandenes Objekt mit dem Zweig Syntax hinzufügen?
Abgesehen davon würde ich auch gerne wissen, ob Sie an irgendwelche Gründe denken können, warum diese Lösung möglicherweise nicht funktionieren könnte. Aber wenn du mir bei der Syntax hilfst, kann ich es auch einfach ausprobieren ...
erstens enthalten ist: Vielen Dank für Ihre Antwort. Ich fürchte jedoch, dass das nicht möglich ist, indem ein Block mit '{{parent()}}' angehängt wird, weil der Block, der angehängt werden soll, nicht vom Elternteil kommt. Ich versuche es mit einer Skizze https://www.twiddla.com/xa84jm zu erklären. Aber selbst wenn es funktionieren würde, ist ein anderes (wichtigeres) Problem, dass die Modulvorlagen einfach nicht vom Seitenrahmen erben, so dass es theoretisch nicht möglich ist, vom Elternteil zu erben. – speendo