Neue Templatefunktionen

{addJS('<URL>'[,'<Position>'])}

 

Mit Hilfe dieser Funktion können aus einem Template heraus dynamisch JavaScripts hinzugefügt werden. Der erste Parameter ist dabei der relative Pfad der Datei. Der optionale zweite Parameter erlaubt die Platzierung des eingebundenen Javascripts entweder im Header (Standard) oder im Footer des Templates. Wo sich der Footer genau befindet, wird durch den Aufruf von {get_page_footers()} bestimmt.

Beispiel: {addJS('templates/backstrap/js/backend_dashboard.js','footer')}

 

{cat_asset_url('<Pfad>'[, '<Typ>'])}

 

Manchmal ist es notwendig, z.B. aus einem JavaScript heraus weitere JavaScripts nachzuladen. Wenn diese nun im Engine-Verzeichnis und somit außerhalb von htdocs liegen, kann der Browser sie nicht erreichen. Daher gibt es den Asset-Helper, der dafür sorgt, daß CSS und JavaScripts zur Laufzeit komprimiert und im Site-Verzeichnis verfügbar gemacht werden. Als Pfad gibt man den relativen Pfad der gesuchten Datei an, zum Beispiel:

modules/lib_jquery/plugins/jquery.datatables/jquery.dataTables.min.js

Man erhält dann die URL der Datei im Site-Verzeichnis zurück, z.B.

https://localhost/assets/3775c49.js

Wird kein Typ angegeben, wird versucht, den Typ aus der Dateiendung zu ermitteln. Unterstützte Typen sind: 'js', 'css'

 

{cat_form('<Formularname>')}

 

Erlaubt das einfache Einbinden eines Formulars. Dieses muß vorher - z.B. vom Backend - geladen worden sein. Jedes Formular braucht daher einen eindeutigen Namen, über den es später ausgegeben werden kann. Eine Dokumentation zum FormBuilder (wbForms) wird (viel...) später erstellt.

{cat_socialmedia_share()}
{cat_socialmedia_follow()}

 

Bindet die im Backend konfigurierten Social Media Links ein. Details siehe Social Media Links.

{get_setting('cat_admin_url')}

 

Diese Funktion erlaubt den Zugriff auf Einstellungen. Das sind im Wesentlichen die Einstellungen der 'settings'-Tabelle, aber auch einige zusätzliche wie im obigen Beispiel, die sich durch verschiedene andere Einstellungen ergeben. Hiermit lassen sich im Template z.B. bedingte Anweisungen realisieren:

{if get_setting('enable_tfa'}}...dies nur anzeigen wenn die Einstellung 'true' ist...{/if}

 

{user_has_perm('<Berechtigung>')}

 

Mit dieser Funktion kann überprüft werden, ob der angemeldete Benutzer über ein bestimmtes Recht verfügt. Die Liste der bekannten Rechte kann durch Module erweitert werden.

{if user_has_perm('dashboard_config'}}...dies nur anzeigen wenn der Benutzer über das Recht verfügt...{/if}

 

{user_has_module_perm('<Modul>')}

 

Ähnlich wie user_has_perm, nur dass sich hiermit prüfen läßt, ob der Benutzer Zugriffsrechte auf das angegebene Modul hat. Als <Modul> wird entweder die ID (in der Tabelle 'addons' der Wert der Spalte 'addon_id') oder der Verzeichnisname verwendet.

Beispiel: {if user_has_module_perm('wysiwyg')}...{/if}

 

{user_has_page_perm('<Seite>')}

 

Hiermit läßt sich prüfen, ob der Benutzer Zugriffsrechte auf die angegebene Seite hat. 

 

{user_logged_in()}

 

Prüft, ob der Benutzer angemeldet ist. In erster Linie für Frontend-Templates interessant, wenn Inhalte nur angemeldeten Besuchern angezeigt werden sollen, unabhängig von deren Rechten.

 

Template-Funktionen aus BlackCat CMS Version 1.x

{page_title( [ <Spacer>[, <Template>[, <Return> ]]])}

 

Gibt den Seitentitel zurück. Standardmäßig gelten folgende Einstellungen:

<Spacer> Trennzeichen; Standard <Leerzeichen>-<Leerzeichen>
<Template> Ausgabetemplate; Standard [WEBSITE_TITLE][SPACER][PAGE_TITLE]
<Return> Bestimmt, ob der Titel sofort ausgegeben wird (per echo, Standard: ja) oder nicht

 

Angenommen der Seitentitel ist "Willkommen" und der Website Titel "BlackCat CMS", wird beim Aufruf der Funktion ohne Parameter also folgender Titel ausgegeben:

BlackCat CMS - Willkommen

Soll zum Beispiel nur der Seitentitel ausgegeben werden, sieht der Aufruf folgendermaßen aus: {page_title(NULL, "[PAGE_TITLE]")}

Um nur das Trennzeichen zu ändern - etwa in ein Pipe-Symbol - verwendet man: {page_title(" | ")}

Natürlich kann man auch komplexere Templates verwenden. Beispiel:

{page_title(NULL,"&laquo; [PAGE_TITLE] &raquo; &laquo; [WEBSITE_TITLE] &raquo;")}

« Willkommen » « BlackCat CMS »