Doku ALAF-Framework.

Doku ALAF-Framework.

ALAF ist ein PHP-Framework für Web-Anwendungen

Eine ausführliche Dokumentation finden Sie hier!


Listformular DataTables

Listformular DataTables

Listausgaben im Framework ALAF werden mit dem jQuery-Plugin DataTables realisiert:

 


Im HTML-File der Listausgabe:

<script>
	$(document).ready(function() {
		$('#dataTables-userlist').DataTable({
			responsive : true,
			columnDefs: [
				    { "orderable": false, "targets": [6] },
				    { "responsivePriority": 1, "targets": [0,1,2,3,6]},
				    { "responsivePriority": 2, "targets": [5]}
				  ],
		    order: [[ 1, 'asc'], [2, 'asc']],
            language: {
            	"url": "js/plugins/dataTables/language/<?php echo af_engine::get_lang()?>.json"
			}
		});
	});

	$('a.alaf_func_delete')
	.click(
			function() {
				if (confirm('<?php echo afHtmlEntityDecode(af_tran("_DELREC_AREYOUSURE1")) ?>')
						&& confirm('<?php echo afHtmlEntityDecode(af_tran("_DELREC_AREYOUSURE2")) ?>')) {
					return true;
				}
				return false;
			});
	
</script>

 

typeahead und bloodhound

build status Built with Grunt

typeahead.js

Inspired by twitter.com's autocomplete search functionality, typeahead.js is a flexible JavaScript library that provides a strong foundation for building robust typeaheads.

The typeahead.js library consists of 2 components: the suggestion engine, Bloodhound, and the UI view, Typeahead. The suggestion engine is responsible for computing suggestions for a given query. The UI view is responsible for rendering suggestions and handling DOM interactions. Both components can be used separately, but when used together, they can provide a rich typeahead experience.


Beispiel: suggestion mit submit-Funktion


Dieses Beispiel zeigt, wie direkt nach der Auswahl der "Suggestion" ein submit erfolgen kann:

Dabei wird der anchour in das template für die PullDown-Liste eingebaut:

	var autocomplMaterial = new Bloodhound({
		datumTokenizer : function(datum) {
							return Bloodhound.tokenizers.whitespace(datum.matnr);
						},
		queryTokenizer : Bloodhound.tokenizers.whitespace,
		//prefetch: 'modules/<?php echo $this->_module_name?>/api/post_1960.json', 
        remote : {
      	   	url : 'modules/<?php echo $this->_module_name?>/api/124_ajax_read.php?callback=?&term=%QUERY&name=<?php echo $this->_module_name?>&op=bgc&func=autocomp_mataddinfo',
			wildcard : '%QUERY',
			transform : function(reply) {
						// Map the remote source JSON array to a JavaScript object array
						return $.map(reply,	function(matinfo) {
									return {
										matnr : matinfo.matnr,
										maktx : matinfo.maktx
									};
						});
					}
			}
		});

		$('#f_matnr').typeahead({
			//hint : true,
			highlight : true,
			minLength : 1
			
		  },{
			limit : 15,
			name : 'tah_matnr',
			display : 'matnr',
			source : autocomplMaterial,
			templates : {
						empty : [ '<div class="list-group search-results-dropdown"><div class="list-group-item">Nothing found.</div></div>' ],
						header : [ '<div class="list-group search-results-dropdown">' ],
						suggestion : function(data) {
										return '<a href="' + data.matnr + '" class="list-group-item">'
											+ data.matnr
											+ ' - '
											+ data.maktx
											+ '</a>'
									}
						}
		});

 

Benutzeranmeldung

Im Framework gibt es unterschiedliche Einstellungsmöglichkeiten zur Registrierung von neuen Benutzern:

1. Frontend - Eigene Registrierung mit eigenem Kennwort

 

2. Frontend - Eigene Registrierung mit automatisch generierten Kennwort

 

3. Backend - Administrator


Formular

Die Formular-Engine ist eigens für "bootstrap" erstellt worden!

Dadurch ist es möglich, "responsive"-Formulare mit einfachenMitteln zu erstellen!

Die entsprechende Klasse lautet:

af_form_bt

und kann wie folgt instanziert werden:


Formular-Klasse instanzieren:

$tb = load_class ( 'af_form_bt', "settings" ); /* erstmal AdminForm laden */

Der 2te Übergabeparameter ist der Formularname

Formular anlegen:

$FormHtml [] = $tb->horizontal ( [
  'left_column_class' => 'col-md-2',
  'left_column_offset_class' => 'col-md-offset-2',
  'right_column_class' => 'col-md-10',
  'action' => adminUrl ('Content', 'save' ) 
] );

 

Input-Feld

Ein input-field wird zur Eingabe von allgemeinen Werten im Formular verwendet.

/**
 * Create the input group for an element with the correct classes for errors.
 *
 * @param string $type        	
 * @param string $name        	
 * @param string $label        	
 * @param string $value        	
 * @param array $options        	
 * @return string
 */
public function input($type, $name, $label = null, $value = null, array $options = []) {
...}

Parameter für das Input-Field
$type

HTML-Formuar Input-Type:

input definiert ein datentyp-unabhängiges
text Eingabefelddefiniert ein einzeiliges Textfeld
email definiert ein Feld für die Eingabe einer eMail

für spezielle Eingabetypen gibt es jeweils einen eigenen Funktionsaufruf, da die Parameterleiste unterschiedlich sein kann!

$name Name des Input-Feldes. Dieser wird beim senden des Formulars in $_GET übergeben.
$label Feldüberschrift für das Eingabefeld. Wird kein $label übergeben, so wird $name als Label übernommen
$value Eingabewert für das Input-Feld.
$options

Array mit Optionen zu einem input-Feld. Hier sind grundsätlich alle HTML-Attribute möglich.

Weiterhin können interne Optionen eingetragen werden, welche die Darstellung des Input-Feldes beeinflussen

Interne Optionen:

helptext

Erläuternder Hilfetext zum Formularfeld:

Wird hier ein Array übergeben, so können dem Text-

noch weitere HTML-Attribute übergeben werden:

 

['Bitte den Namen eingeben', 'class' => 'text-danger', 'id' => 'helptext_id]

title Titel zum Eingabefeld. Dieser wird beim mouse-over-event eingeblendet.
form-group

Grundsätzlich wird das Eingebefeld als "form-group" - Element mit den Elementen LABEL und INPUT aufbereitet.

Hier können dem form-group-

weitere HTML-Attribute zugeordnet werden.

 

no-form-group: Ermöglicht die Darstellung von mehreren Eingabefeldern in einer Zeile 

input-group

Ermöglicht die Anzeige von Buttons oder Icons vor/nach einem Eingabefeld:

Array mit linken und rechten Attributen

input-group-addon-left

Array mit den Attributen:

['text'=>'suche', 'class'=> 'class_xxx', 'iconclass' =>'glyphicon glyphicon-search']

input-group-addon-right siehe oben

 

 

Beispiel:

Input-Feld mit einem Hilfe-Text, einer Hilfe-Text-ID und eienr Text-Klasse

$FormHtml [] = $tb->input ( 'input', 'VORNAME', af_tran('Vorname'), 'Mike', [
  'helptext' => [
    'Bitte geben Sie den Vornamen ein',
    'class' => "text-danger",
    'id' => 'helptext_id'
  ]
] );

Beispiel:

Input-Feld mit einer input-group, bestehend aus einem linken Führungstext und einem rechten Ergänzungstext.

$FormHtml [] = $tb->input ( 'input', 'AUSS_KG2', af_tran('Ausschuss'), '1250', [ 
  'input-group' => [ 
    'input-group-addon-left' => [ 
      'text' => 'Kilo',
      'class' => '',
      'iconclass' => '' 
    ],
    'input-group-addon-right' => [ 
      'text' => '.00',
      'class' => '' 
    ] 
  ],
  'helptext' => af_tran('Ausschuss in KG'),
  'size' => '10',
  'maxlength' => '10',
  'title' => af_tran('Ausschuss in KG') 
] );

Beispiel:

Mehrere Eingabefelder nebeneinander im horizontalen Formular.

/*
 * Beispiel für mehrere Felder in einem horizontalen Formular:
 * 
 * Erreicht wird dies über die Option 'form-group' => ['form-group' => 'no-form-group'] für 
 * jede Label|Field-Gruppe
 */
// 1. Input in eine neue "Zeilen"-Variable
//    form-group muss 'no-form-group' option enthalten!
$FormRow = $tb->input ( 'input', 'MeinInputFeld2', 'Auch mit helptext', 'Inhalt', [ 
	'helptext' => 'Hinweis zum Eingabefeld...',
	'left_column_class' => $tb->getLeftColumnClass (), // Standard-Linke Spalte vom Formular!
	'right_column_class' => $tb->column_class [3],
	'form-group' => [ 
			'form-group' => 'no-form-group' 
	] 
] );
// 2. nächste Label|Spaltenkombi mit jeweiligen Spaltenbreiten in "Zeilen"-Variablen anhängen
$FormRow .= $tb->number ( 'MeinInputFeld99', 'Gewicht', '150', [ 
	'helptext' => 'Bitte Gewicht eingeben',
	'input-group' => [ 
		'input-group-addon-left' => [ 
			'text' => 'KG',
			'class' => '',
			'iconclass' => '' 
		],
		'input-group-addon-right' => [ 
			'text' => '.00',
			'class' => '' 
		] 
	],
	'left_column_class' => $tb->column_class [1],
	'right_column_class' => $tb->column_class [2],
	'form-group' => [ 
		'form-group' => 'no-form-group' 
	] 
] );
// 2b nächste Label|Spaltenkombi mit jeweiligen Spaltenbreiten in "Zeilen"-Variablen anhängen
$FormRow .= $tb->email ( 'eMail-Adresse', 'eMail:', 'ich@123.de', [ 
	'required' => 'required',
	'helptext' => 'please enter your eMail...',
	'left_column_class' => $tb->column_class [1],
	'right_column_class' => $tb->column_class [3],
	'form-group' => [ 
		'form-group' => 'no-form-group' 
	] 
] );
// 3. die Zeile um die Form-Group ergänzen 
$FormRow = $tb->getFormGroup ( null, $FormRow, [ ] );
// 4. die "Zeilen"-Variable an das Formular-Array übergeben:
$FormHtml [] = $FormRow;

 

Date Input-Feld

Date Input-Feld

Ein input-field wird zur Eingabe von allgemeinen Werten im Formular verwendet.

/**
 * Create a Bootstrap date field input.
 *
 * @param string $name        	
 * @param string $label        	
 * @param string $value        	
 * @param array $options
 *        	['dateformat' => ('date','datetime'=Default)]
 * @return string
 */
public function date($name, $label = null, $value = null, array $options = []) {...}

Parameter für das Input-Field
$name Name des Input-Feldes. Dieser wird beim senden des Formulars in $_GET übergeben.
$label Feldüberschrift für das Eingabefeld. Wird kein $label übergeben, so wird $name als Label übernommen
$value Eingabewert für das Input-Feld.
$options

Array mit Optionen zu einem input-Feld. Hier sind grundsätlich alle HTML-Attribute möglich.

Weiterhin können interne Optionen eingetragen werden, welche die Darstellung des Input-Feldes beeinflussen

Interne Optionen:

Es sind alle Optionen aus dem "input"-Element möglich!

dateformat

Definiert, ob es sich um eine Datums- oder eine Datum/Zeit - Eingabe handelt:

date

Es wird der Date-Picker geöffnet

datetime Es wird der DateTime-Picker geöffnet

 

 

Beispiel:

Date Input-Feld mit einem Hilfe-Text und einem onMouseOver-titel

$FormHtml [] = $tb->date ( 'TS_START', af_tran ( 'Ereignis-Beginn' ), $data ['TS_START'], [ 
	'dateformat' => 'datetime',
	'helptext' => af_tran ( 'Wann soll das Ereignis beginnen?' ),
	'title' => af_tran ( 'Ereignis-Beginn' ) 
] );

 

Colorpicker Input-Field

Colorpicker Input-Field

Ein input-field wird zur Eingabe von allgemeinen Werten im Formular verwendet.

/**
 * Create a Bootstrap colorpicker field input.
 *
 * @param string $name        	
 * @param string $label        	
 * @param string $value        	
 * @param array $options        	
 * @return string
 */
public function colorpicker($name, $label = null, $value = null, array $options = []) {
...}

Parameter für das Input-Field: Colorpicker
$name Name des Input-Feldes. Dieser wird beim senden des Formulars in $_GET übergeben.
$label Feldüberschrift für das Eingabefeld. Wird kein $label übergeben, so wird $name als Label übernommen
$value Eingabewert für das Input-Feld.
$options

Array mit Optionen zu einem input-Feld. Hier sind grundsätlich alle HTML-Attribute möglich.

Weiterhin können interne Optionen eingetragen werden, welche die Darstellung des Input-Feldes beeinflussen

Interne Optionen:

Es sind alle Optionen aus dem "input"-Element möglich!

Elementspezifische Optionen:

   
   
   
input-group

Ermöglicht die Anzeige von Buttons oder Icons vor/nach einem Eingabefeld:

Array mit linken und rechten Attributen

input-group-addon-left

Array mit den Attributen:

siehe Input-Field

input-group-addon-right

Array mit den Attributen: siehe oben.

Besonderheit:

['text'=>" < i > < / i > "]

 

 

 

Beispiel:

Input-Feld als Colorpicker einer input-group, bestehend aus einer rechten Schaltfläche zur Darstellung der Farbe / Aktivierung des Farbauswahldialogs.

Colorpicker

$FormHtml [] = $tb->colorpicker ( 
  'config[FILL_COLOR_ROW_1]', 
  'Bingokartenfarbe-1, 
  $this->_config ['FILL_COLOR_ROW_1'], 
  [
     'input-group' => [
       'input-group-addon-right' => [ 
         'text' => " < i > < / i > "
       ] 
     ] 
  ]
);

 

Button-Feld

Button-Feld

Ein button-field wird zur Bestätigung von Eingaben in einem Formular verwendet.

	/**
	 * Create a Bootstrap form-button.
	 *
	 * @param unknown $name        	
	 * @param string $label        	
	 * @param string $value        	
	 * @param string $type
	 *        	[button|submit|reset]
	 * @param array $options
	 *        	[
	 *        	'class' => 'btn btn-default',
	 *        	'iconclass' => 'glyphicon glyphicon-floppy-saved',
	 *        	'formaction' => 'modules.php?op=xyz',
	 *        	'confirm' => [
	 *        	'confirm_1' => af_tran ( 'Die Freigabe wird zurückgenommen!' ),
	 *        	'confirm_2' => af_tran ( 'Wollen Sie die Freigaben wirklich zurücknehmen?' )
	 *        	]
	 *        	]
	 * @return string
	 */
	public function button($name, $label = null, $value = null, $type = 'button', array $options = []) {...}

Parameter für das Formular button-Element
$name Name des Input-Feldes. Dieser wird beim senden des Formulars in $_GET übergeben.
$label Beschriftung des Buttons. Wird kein $label übergeben, so wird $name als Label übernommen
$value Eingabewert für den Button. Dieser Wert wird bei der Betätigung des Buttons vial $_GET übergeben.
$options

Array mit Optionen zu einem Form-Button. Hier sind grundsätlich alle gültigen HTML-Attribute möglich.

Weiterhin können interne Optionen eingetragen werden, welche die Darstellung und die Funktionen des Buttons beeinflussen

Interne Optionen:

Es sind alle Optionen aus dem "button"-Element möglich!

class

Bestimmt die CSS-Klasse für das Button-Objekt:

iconclass

Bestimmt die CSS-Klasse für ein Icon, welches dem Button vorangestellt wird:

confirm

Durch diese Option kann eine Java-Script angefügt werden, welches eine (doppel)-Bestätigung vor der Ausführung erstellt:

confirm_1

Text zur ersten Bestätigungsabfrage

confirm_2 Text zur zweiten Bestätigungsabfrage

 

 

Beispiel:

Form Button-Element mit Einfärbung "Success", Icon, und einer einfachen Bestätigung

// Freigabe beantragen
$FormHtml [] = $tb->button ( 'frm_save', af_tran ( 'Freigabe beantragen'), 'user/save_send', 'submit', [
	'class' => 'btn btn-success',
	'iconclass' => 'glyphicon 	glyphicon-send',
	'title' => af_tran ( 'Hiermit beantragen Sie die Freigaben...' ),
	'confirm' => [ 
		'confirm_1' => af_tran ( 'Soll der Auftrag freigegeben werden?' ) 
		     ] 
] );

 

DecisionTree

DecisionTree

Ein spezielles Eingabefeld ist der "DecisionTree" oder auch "Entscheidungsbaum" genannt.

Hier wird aus dem Entscheidungsbaum des ALAF-Moduls "DecisionTree" ein Select-Input Feld erstellt, welches am Ende die Auswahl einer Datensatznummer zurückgibt.


/**
 * Erstellt HTML-Code für ein Formular
 *
 * @param unknown $FrmObj        	
 * @param unknown $tree_id        	
 * @param unknown $options        	
 * @param char $input_name        	
 */
public function Build_FormSelect($FrmObj, $tree_id, $options, $input_name = 'NEXT_OBJ_ID') { ... }


 


Parameter für die Funktion DecisionTree->Build_FormSelect 
$FrmObj Objektzeiger zum Modul DecisionTree
$tree_id Satznummer/Objektnummer der für die Anwendung im Modul DecisionTree eingetragenen Entscheidungsbäume.
$options

Array mit Optionen zu einem input-Feld. Hier sind grundsätlich alle HTML-Attribute möglich.

Weiterhin können interne Optionen eingetragen werden, welche die Darstellung des Input-Feldes beeinflussen

Interne Optionen:

Es sind alle Optionen aus dem "input"-Element möglich!

Elementspezifische Optionen:

label Label des Eingabefeldes
title Titel, wird beim Mouse-Hover angezeigt
helptext Der Helptext wird unter dem Select-Option Feld angezeigt
inconclass Bestimmt das Icon, welches rechts neben dem Select-Option Feld angezeigt wird, um die Abfrage des Entscheidungsbaumes zu starten...

 

 

Beispiel:

  include_once (ALAF_MODULES_DIR . DS . 'DecisionTree' . DS . 'includes' . DS . 'class.DecisionTree.php');
  $ObjSelOpt = new DecisionTree ();
  $inputname = 'SAP_MATAUSWAHL';
  $FormHtml [] = $ObjSelOpt->Build_FormSelect ( $FrmObj, 2, [ 
				'label' => 'Materialauswahl...',
				'title' => 'Titel der Materialauswahl',
				'helptext' => 'Zur korrekten Materialfindung bitte die Schaltfläche neben dem Eingabefeld klicken...',
				'iconclass' => 'fa fa-search'
    ], $inputname );

Signature-Pad Input-Field

Signature-Pad Input-Field

Ein input-field wird zur Eingabe von allgemeinen Werten im Formular verwendet.

/**
 * Create a Bootstrap form field to enter a signature
 * 
 * Creates the input and canvas group for an element with the correct classes for errors.
 *
 * @param string $name        	
 * @param string $label        	
 * @param string $value        	
 * @param array $options        	
 * @return string
 */
public function signpad($name, $label = null, $value = null, array $options = []) {...}

Parameter für das Input-Field: signpad
$name Name des Input-Feldes. Dieser wird beim senden des Formulars in $_GET übergeben.
$label Feldüberschrift für das Eingabefeld. Wird kein $label übergeben, so wird $name als Label übernommen
$value Eingabewert für das Input-Feld.
$options

Array mit Optionen zu der input-Group. Hier sind grundsätlich alle HTML-Attribute möglich.

Weiterhin können spezifische Optionen für das SIGNPAD eingetragen werden:

Interne Optionen:

Es sind alle Optionen aus dem "input"-Element möglich!

Elementspezifische Optionen:

   
   
   

signpad

signpad-spezifische Vorgaben:

Array mit linken und rechten Attributen

height

Höhe des Unterschriftenfeldes in Pixeln

penColor

 

Farbe des Schreibstiftes, der für die Unterschrift verwendet werden soll:

z.B. #111111 (Schwarz)

backgroundColor

Hintergrundfarbe des Unterschriftenfeldes

z.B. #FFFFFF (Weiß)

 

 

Beispiel:

Input-Feld als Signature-Pad (Unterschriftenbereich).

Colorpicker


// Hier der Test mit dem Signature-Pad
$FormHtml [] = $tb->signpad ( 'MeinSignaturePad', 'Unterschrift', null, [ 
		'helptext' => 'Bitte unterzeichnen sie hier:',
		'height' => 250,
		'title' => 'Bereich für die Unterschrift',
		'right_column_class' => $tb->column_class [8],
		'signpad' => [ 
				'height' => 250,
				'penColor' => '#82cb27' 
		] 
] );



ALAF - Ablaufsteuerung

ALAF - Ablaufsteuerung

Hier wird die Programmablaufsteuerung für das PHP-Framework ALAF beschrieben:


Die Ablaufsteuerung umfasst grundsätzlich 2 Bereiche:

Frontend

Aufruf über das Skript index.php

Backend

Aufruf über das Skript admin.php

Backend - Ablaufsteuerung

Hier wird die Backend - Ablaufsteuerung für Framework ALAF erklärt:


Das Backend wird aufgerufen, indem in der URL der Skriptaufruf admin.php enthalten ist:

Nr php-skript aktion / funktion
1 admin.php include 'mainfile.php';
1.1 mainfile.php Konstanten definieren (z.B. DS, ALAF_SYSTEM_DIR, ALAF_SYSTEM_CLASS_DIR, ...)
1.2 mainfile.php

error_reporting ( E_ALL ^ E_NOTICE ); // Alle Fehler ausser E_NOTICE melden

1.3 mainfile.php

Prüfung, ob Konfigurationsdatei 'config.php' vorhanden: Sonst die()

1.4 mainfile.php

/* System-Funktionen laden und API's einbinden */

require_once (ALAF_SYSTEM_DIR . DS . 'af_system.php');

1.4.1 af_system.php Hier stehen nur Satzstatus-Konstanten und Systemfunktionen!
1.5 mainfile.php

// Basisklasse für das Framework laden:

load_class ( 'af_base' );

1.5.1 af_base.php Basis-Klasse: liest die config.php in die Basis-Klasse af_base
1.6 mainfile.php Setzt die länderspezifischen und Zeitzonenspezifischen Einstellungen
1.7 mainfile.php

/* Fehlerbehandlung und Debugmethoden aktivieren */

load_class ( 'af_debug', false );

af_debug::init ();

1.8 mainfile.php

/* Session einbinden (Start erfolgt in af_engine::start() */

$afSessionLifetime = af_base::get_afConfig('afSessionLifetime');

$afSessionLifetime = (isset ( $afSessionLifetime )) ? $afSessionLifetime : 30;

define ( "AF_COOKIE_LIFETIME", $afSessionLifetime * 24 * 60 * 60 );

define ( "AF_SESSION_LIFETIME", $afSessionLifetime * 24 * 60 * 60 ); // Standard 6 Stunden

/* die Sessionlifetime für nicht-User / nicht-Admins in Sekunden */

define ( 'AF_SESSION_LIFETIME_NOUSER', '1440' );

require_once (ALAF_SYSTEM_DIR . DS . 'af_session.php');

1.9 mainfile.php

/* Referer aktualisieren */

afReferer();

2 admin.php

// Framework-Engine starten:

load_class ( 'af_engine', 'admin' );

af_engine::start ();

3 admin.php

// Admin-Klasse af_admin (statisch) instanzieren

require_once (ALAF_ADMIN_DIR . DS . 'admin_functions.php');

// Admin: Ablauf-Steuerung:

echo af_admin::run ();

3.1 admin/admin_functions.php AF_IS_USER und AF_IS_ADMIN - Konstanten setzen
3.2 admin/admin_functions.php

// Userstatistik aktualisieren:

self::update_userstat ();

3.3 admin/admin_functions.php admin-Modul(e) ermitteln und durchlaufen...
3.4 admin/admin_functions.php

// Menü, helptab und newentries erstellen und in die af_engine uebergeben:

self::admin_build_sidemenubar ( self::$__op );

self::admin_build_helptab ();

self::admin_get_newentries ();

3.5 admin/admin_functions.php

/* Template "admin/templates/adminpage.html" aufbereiten und ausgeben

  • adminpage.html enthält den Inhalts-Bereich der Admin-Seite ohne TOP und ohne SIDE-Menu!! 
  • Neu: sollte ein THEME eine eigene adminpage.html besitzen, so wird diese verwendet!

*/

return self::$_template->fetch ( 'adminpage.html' );

4 admin.php

// Letzte Aktion: Ausgabe erzeugen:

af_engine::final_output (); // Schliesst den Ausgabepuffer und gibt den Seiteninhalt aus!

4.1 class: af_engine

// Theme-Dateien einlesen und Theme-Funktion zum Ersetzen der Schlüsselworte aufrufen:

include_once (ALAF_THEMES_DIR . DS . self::$__config ['themename'] . DS . 'theme.php');

include_once (ALAF_THEMES_DIR . DS . self::$__config ['themename'] . DS . 'theme.functions.php');

$export = self::fetch_with_theme ();

4.2 class: af_engine

function fetch_with_theme()

/* HTML-Grundgerüst aus den af_engine - Variablen erstellen:

  • head
  • meta
  • title
  • styles
  • scripts
  • head_more
  • /head
  • body

*/

/* Theme einlesen - es wird nur der

Body- Bereich verwendet! */

"themeordner/theme.html"

// Löschen der Blöcke:

  • START alaf_PageHeading END
  • START alaf_OnlyTemplate END
  • START alaf_ScriptAtEnd END

// Die Platzhalter aus dem theme ersetzen:

if (function_exists ( 'theme_define_placeholders' )) {

    $parts = theme_define_placeholders ();

    ...

}

// Ersetzung der Template-Platzhalter für den Content und die Side-Bar:

  •   START alaf_Content END   // durch Ausgabepuffer:
  • START alaf_SidebarMenu END

// Skript-Code für das Ende hinzufügen

 

     
     
     
     
     

 


Kommentare


Lachi 16.08.2017 13:47:29

Dies ist der erste Kommentar