Custom Code

Das Custom Code Element erlaubt es Dir deinen eigenen PHP Code als Funktion zu verwenden. Hierbei sind Dir keine Grenzen gesetzt. Mit dem Custon Code Element als Funktion kannst auch SQL-Abfragen selbst schreiben. Bedenke jedoch das die Funktion jeweils in einem Event aufgerufen werden muss. Notation: {fn:function_name}.

PHP Code im Content Bereich verwenden

Um PHP Code notieren zu können muss im Custom Code Element mit den von PHP bekannten Syntax gearbeitet werden, sprich PHP Befehle müssen innerhalb der PHP Zeichen stehen.
 
  1. <?php
  2. //Custom PHP Code
  3. echo $something;
  4. ?>

Daten abfragen

Um an andere Variablen zu kommen kann innerhalb des Content Bereichs des Custom Code Elements wie folgt vorgegangen werden. Zunächst wollen wir mal auf eine Variable / das Ergebnis einer anderen Funktion zugreifen:
  1. <?php
  2. $my_articles = $this->get("read_data_function");
  3. ?>
Damit my_var auch etwas enthält muss auf derselben Event Seite wo unsere Custom Funktion aufgerufen wird natürlich zuerst die Funktion aufgerufen werden, welche unsere read_data_function aufruft.
 

Daten ausgeben

Jetzt können / müssen wir auch was mit den Daten anfangen die uns da gegeben werden...
Gehen wir mal davon aus das unsere "Hilfs"-Funktion eine simple read_data Funktion ist welche uns ein Array aller Joomla! Artikel liefert. Mit Hilfe unseres Custom Code Elements können wir nun eine, unserem Gusto entsprechende, Ausgabe erstellen.
  1. <?php
  2. $my_articles = $this->get("read_data_function");
  3. foreach($my_articles as $article){
  4. echo '<h2>'.articles['Data']['title'].'</h2>';
  5. }
  6. ?>
Da es sich bei den Return Daten unserer Funktion um ein "Array of Array's" handelt müssen wir noch in das SubArray Data wechseln hierin befinden sich dann alle relevanten Daten.
 
Damit oben gezeigter Code auch funktioniert und die Funktion direkt etwas ausgibt darf die Option "Var only result?" nicht aktiv sein:

Daten weitergeben

Um Daten (egal ob es eine einzelne Text-Variable oder ein ganzes Array ist) nach einer verarbeitung aus dieser Funktion an eine andere Funktion oder eine View zu übergeben kann folgende Syntax verwendet werden:
$this->data['my_var'] = $my_php_var; // Variable dann via {data:my_var} verfügbar
$this->set('my_var',$my_php_var); 
// Variable dann via {var:my_var} 
// oder $this->get('my_var','default') verfügbar 
// aber nicht im Debug mittels {debug:} ersichtlich

 Alternativ kann natürlich auch mittels der Option "Var only result?" die Ausgabe an einen anderen Ort hin gesteuert werden. Hier muss dann einfach beachtet werden das alles was via echo oder print ausgegeben wird in die Variable mit dem Namen der jeweiligen Funktion gespeichert wird. Wenn die Custom Code Aktion also custom_code heisst ist die Variable via: {var:custom_code} in einem Formularfeld oder in einem Event abrufbar.

Weitere alternative Ansätze haben in meinen Tests mit ChronoConnectivity 6 nicht funktioniert...

Sinn / Nutzen

Sollen Resultate von einer anderen Funktion (z.B. read_data) nochmals auf Serverseite gefiltert oder Array's umformatiert werden kann dies mittels Custom Code Element erledigt werden. Die Custom Code Funktion arbeitet auf Serverseite - Elemente werden also VOR dem Rendering der Seite generiert / angepasst und können somit via HTML / JS weiter verwendet werden.
 
 
 
Wednesday, 05 September 2018 Posted in Functions

Leave a comment

You are commenting as guest.

Kontakt

Marco Rensch
Glashüttenweg 30
8887 Mels
This email address is being protected from spambots. You need JavaScript enabled to view it.

Technik

Webseite basierend auf Joomla!
Template erstellt mit uikit
Symbolbilder von unsplash.com