Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 18. März 2011 11:43
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Smarty-Templates via {include ...} einbinden
Smarty geht im Normalfall davon aus, dass Templates als Dateien vorliegen, also z.Bsp. index.tpl.
Der Ort, wo Smarty nach diesen Templates sucht, wird über die Variable $template_dir definiert
http://www.smarty.net/docs/en/variable.template.dir.tpl
Smarty-seitig ist das Verzeichnis /templates voreingestellt. Für CMSMS wurde dies auf /tmp/templates geändert.
Seit einigen Versionen ist dieses Verzeichnis jedoch nicht mehr in "Standard-Lieferumfang" enthalten, so dass man unter Umständen auf Schwierigkeiten stößt, wenn man Befehle wie zum Beispiel include verwenden möchte
http://www.smarty.net/docs/en/language. … nclude.tpl
Für solche Zwecke ist es dann nützlich, das Verzeichnis /tmp/templates wieder manuell anzulegen, so dass man uneingeschränkt Smarty-Befehle wie
{include file='page_header.tpl'}
verwenden kann .
PS: CMSMS selbst legt einen Großteil der Templates für die Webseite in der Datenbank ab oder stellt diese in separaten /template Verzeichnisses innerhalb der Modulverzeichnisse bereit.
Beitrag geändert von Andynium (08. Januar 2017 15:45)
Offline
#2 08. Januar 2017 15:56
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: Smarty-Templates via {include ...} einbinden
PS: CMSMS selbst legt einen Großteil der Templates für die Webseite in der Datenbank ab oder stellt diese in separaten /template Verzeichnisses innerhalb der Modulverzeichnisse bereit.
Wie aktuell zu lesen war, sollen mit CMSMS 2.2 wieder dateibasierte Templates unterstützt werden
Support for file-based design and development workflows
Developers like to work with files. There are numerous reasons for this, including the ability to use their favorite editor, and the ability to take advantage of source code control. To this end, we've introduced a new core directory which we've entitled 'assets', this will hold all of your file-based design and application customizations, including custom templates, CSS, images, plugins, and Smarty config files.You can now work with templates (and soon CSS) using your favorite editor, and all of your customizations (with the exception of modules you download or write yourself) are located within a single directory.
Diese sollen dann im Verzeichnis /assets plaziert werden.
Offline
#3 08. Februar 2017 11:07
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: Smarty-Templates via {include ...} einbinden
Der Befehl {include file=...} lässt sich übrigens nicht nur (wie der Parameter file vermuten ließe) auf Dateien anwenden, sondern auch auf Objekte.
So kann man über zum Beispiel via
{include file='cms_template:footer'}
auf den Globalen Inhaltsblock namens "footer" zugreifen, quasi als Ersatz für den GCB Aufruf.
Alternativ käme include auch als Ersatz für den problematischen eval Befehl in Frage, wie hier gezeigt
Offline
Seiten: 1