{{indexmenu_n>10}}
====== Aufruf interner Funktionen ======
===== Basisfunktion {SHOW_CONTENT:....} =====
**File:** /include/inc_front/ext.func.inc.php
**Docu:** [[http://www.phpwcms-docu.de/artikel_tags.phtml]]
**Tag:** {SHOW_CONTENT:MODE,id,id,id} -> **function:** showSelectedContent('Mode,'.id.','.id.','.id)
Die Basis im Framework zu {SHOW_CONTENT ...} ohne Ersetzer.
**Aufruf:**
$show_content = 'CPA,' . $id; // wherever $id might come from
echo showSelectedContent($show_content);
\\
===== Init Mootools Library =====
==== Bis V1.4.3 r380 ====
**File:** /include/inc_front/front.func.inc.php
**Docu:** --
**Tag:** -- -> **function:** initMootools($v='1.11')
**Initialisiert** das gerade aktive mootools Framework in /template/inc_js/mootools/mootools.js
**Registriert** mit:
* mootools.js
**Aufruf:**
initMootools();
\\
==== Ab V1.4.4 r381 ====
**File:** /include/inc_front/front.func.inc.php
**Docu:** [[http://forum.phpwcms.org/viewtopic.php?p=122090#p122090]]
**Aufruf:** initJSLib();
**Tag:** -- -> **function:** initJSLib() //(in der entsprechenden JS-Lib in include/inc_front/lib/*)//
**Initialisiert** das gerade aktive JS-Framework in **template/lib/mootools/*** oder **template/lib/jquery/*** //(je nach eingstelltem Framework in der Vorlage)//.
**Registriert** mit ##mootools.js## wenn **MooTools 1.1/1.2** in der Vorlage eingestellt ist //(JS Bibliothek)//:
**Aufruf:**
initJSLib();
oder
**Registriert** mit ##jquery.js## wenn **jQuery 1.3/1.4** in der Vorlage eingestellt ist //(JS Bibliothek)//:
**Aufruf:**
initJSLib();
\\
Nach der V1.4.3 r380 wurde das Handling für JS-Libs und Dateien umgestellt.
Den Aufruf **initMootools();** gibt es nicht mehr. Als Ersatz wird nun **initJSLib();** eingesetzt, wodurch das in der Vorlage eingestellte JS-Framework geladen wird.
Die Aufrufe **initializeLightbox();** //(veraltet)// oder **initSlimbox();** rufen gleichzeitig auch das entsprechende JS-Framework auf.
Es müssen also alle externen Aufrufe des Frameworks auf diese normierte Art des Aufrufs umgestellt werden.
Solche Aufrufe:
$GLOBALS['block']['custom_htmlhead']['mootools.js'] = ' ';
sollten/können nicht mehr verwendet werden. Eigene Mootools-Sets sind nun nicht mehr die erste Wahl. Alle Komponenten sind im System vorhanden.
Wenn zusätzliche Funktionen aus der **More Reihe** gebraucht werden, dann können diese so eingebunden werden:
**Im HTML-Quelltext:**
\\
Siehe auch "Skript in den
[PHP]
$js[1] = 'MORE:Fx/Fx.Elements,Fx/Fx.Accordion';
renderHeadJS($js);
[/PHP]
\\
**oder diese Variante** //(Z.B. in einem frontend_render-Script)//:
$mootools_more = array(
'Fx/Fx.Elements',
'Fx/Fx.Accordion'
);
initJSPlugin($mootools_more, true);
\\
=== Externe JavaScripte ===
** werden am besten als Plugin eingebunden:**
**Beispiel** SimpleTabs:
----------------------------------
**Datei:** template/lib/mootools/plugin-1.2/mootools.SimpleTabs.js \\
Einbinden mit:
initJSPlugin('SimpleTabs');
$GLOBALS['block']['css']['reg_tabs_simpletabs01'] = 'specific/mootools/reg_tabs_simpletabs01.css';
...
...
**initJSPlugin('SimpleTabs');** ruft gleichzeitig auch das richtige JS-Framework auf.
Alternativ in einem Template:
[PHp]initJSPlugin('SimpleTabs');[/PHP]
oder
if(PHPWCMS_JSLIB == 'mootools-1.1') { ...... }
if(PHPWCMS_JSLIB == 'mootools-1.2') { ...... }
if(PHPWCMS_JSLIB == 'jquery-1.3') { ...... }
if(PHPWCMS_JSLIB == 'jquery-1.4') { ...... }
~~UP~~
===== Init Lightbox =====
Lightbox aktivieren/initialisieren
**File:** /include/inc_front/front.func.inc.php
**Docu:** --
**Tag:** -- -> **function:** initializeLightbox()
**Initialisierung %%<=%% v1.4.3 r380** der SlimBox \\ /template/inc_js/slimbox/js/slimbox.js und Mootools //(siehe oben)//. \\
**Initialisierung %%>=%% v1.4.4 r381** der SlimBox \\ /template/lib/slimbox/[slimbox.mootools-1.1.js]|[slimbox.mootools-1.2.js]|[slimbox.jquery.js] und Mootools //(siehe oben)//.
**Registriert** mit:
* **lightbox.css** für die CSS-Datei
* **slimbox.js** für die JS-Datei
**Aufruf:**
initializeLightbox();
\\
==== Reset Init Lightbox ====
Wird die Initialisierung des JS der Lighbox (SlimBox) bedingt durch einzuhaltende Skriptreihenfolgen im head-Bereich an anderer Stelle gebraucht, kann der bisherige Eintrag zurückgesetzt werden:
**Aufruf:**
// unset Slimbox CCC and JS
Unset(
$GLOBALS['block']['custom_htmlhead']['lightbox.css'],
$GLOBALS['block']['custom_htmlhead']['slimbox.js']
);
initializeLightbox();
// Alternativ zu initializeLightbox();
// $GLOBALS['block']['['css']']['lightbox.css'] = ' ../lib/slimbox/slimbox.css';
// $GLOBALS['block']['custom_htmlhead']['slimbox.js'] = ' ';
~~UP~~
===== Init SwfObject JS Library =====
**File:** /include/inc_front/front.func.inc.php
**Docu:** --
**Tag:** -- -> **function:** initSwfObject($v='2.2')
**Initialisiert:** /template/inc_js/swfobject/swfobject.js
**Registriert** mit:
* swfobject.js //(v1.5)//
* swfobject2.1.js //(Default, V2.1, V2.2)//
**Aufruf:**
// template/inc_js/swfobject/swfobject.js
initSwfObject($v='1.5');
// template/inc_js/swfobject/2.2/swfobject.js
initSwfObject(); // default
initSwfObject($v='2.1');
initSwfObject($v='2.2');
~~UP~~
===== Artikelmenü =====
**Datei:** /include/inc_front/front.func.inc.php
**Docu:** --
**Tag:** -- -> **function:** getArticleMenu($data=array())
Gibt ein Menü oder Menü-Elemente auf der Grundlage von Artikel-Menütitelinformation ab der vorgegebene Strukturebenen-ID zurück, limitiert auf ein Level (Nicht verschachtelt).
@return mixed (array/string)\\
@param array
Liefert eine Artikelliste der angegebenen Kategorie
$defaults = array(
'level_id' => 0,
'class_active' => 'active',
'wrap_title_prefix' => '',
'wrap_title_suffix' => '',
'item_prefix' => "\t",
'item_suffix' => '',
'sort' => 'level',
'item_tag' => 'li',
'wrap_tag' => 'ul',
'attribute_wrap_tag' => '',
'class_item_tag' => '',
'class_first_item_tag' => '',
'class_last_item_tag' => '',
'return_format' => 'string' // string or array
);
\\
Z.B.: Kategorie ID=1 beinhaltet drei Artikel, die Ausgabe ist ein String:
$_menu = array('level_id'=>'1','attribute_wrap_tag'=>'wrap');
echo 'Artikeltitel: '.getarticlemenu($_menu);
Resultat dump (string):
\\
Z.B.: Kategorie ID=1 Beinhaltet drei Artikel, die Ausgabe ist ein Array:
$_menu = array('level_id'=>'1','attribute_wrap_tag'=>'wrap','return_format'=>'array');
echo 'Artikeltitel: '.getarticlemenu($_menu);
Resultat dump (array):
Array
(
[0] =>
)
~~UP~~
\\
===== Hinzufügen eines meta tag in den HTML Head =====
**Datei:** /include/inc_front/front.func.inc.php
Z.B. ein Aufruf aus einem frontend_render Skript heraus:
set_meta($name='', $content='', $http_equiv=FALSE);
\\
**Beispiel:**
set_meta('copyright', '2009 OG');
**Resultat:**
\\
**Beispiel:**
set_meta('imagetoolbar', 'no', true);
**Resultat:**
~~UP~~
===== Nachträgliches Austauschen einer CSS-Datei, die im Template eingetragen ist =====
In spezielle Fällen ist es notwendig eine CSS-Datei, die in der Vorlage eingetragen ist, temporär nach Anforderung auszutauschen. Die Prozessreihenfolge der CSS-Dateien wird dabei nicht geändert :!: \\
Mit einem kleinen Skript ist das möglich.
**Annahme:** \\
Die Datei die ausgetauscht werden soll heißt "**master_template.css**". \\
Die neue Datei heißt "**winter.css**" und befindet sich im Verzeichnis "template/inc_css/specific/*".
Z.B. Aufruf aus einem frontend_render Skript heraus:
// Dummy/Fallback-css austauschen
// die Position in der Reihenfolge der Dateien bleibt erhalten
// -------------------------------------------------------
$my_css = 'master_template.css';
$key = array_search($my_css, $block['css']);
if ($key) $block['css'][$key] = 'specific/winter.css';
\\
**Template:**
{{:deutsch:ersetzer_rts:frontend_render:be_template01_1.gif|}}
\\
**Vorher:**
{{:deutsch:ersetzer_rts:frontend_render:be_template03-1_1.gif|}}
\\
**Nachher:**
{{:deutsch:ersetzer_rts:frontend_render:be_template03-2_1.gif|}}
\\
\\
===== Kleine Linkübersicht =====
{{indexmenu>deutsch:technik/aufruf-interner-funktionen|js#doku navbar msort nsort nocookie notoc}}