Descrizione: Uso delle variabili $$TAGVALUE$$
Sorgente PHP: examples/events/property.php
Sorgente XML: examples/events/property.xml
JAMP consente di utilizzare dei tags negli attributi degli oggetti che verranno sostituiti con dei valori di default o definiti dall'utente:
TAGS DI DEFAULT
- $$DATE$$ Visualizza la data nel formato dd/mm/yyyy
- $$DATETIME$$ Visualizza la data nel formato dd/mm/yyyy hh:mm:ss
- $$DATETEXT$$ Visualizza la data nel formato dd mmmm yyyy
- $$TIME$$ Visualizza l'ora nel formato hh:mm:ss
- $$LOGIN-USER$$ Visualizza la username dell'utente autenticato
- $$LOGIN-CN$$ Visualizza il nome dell'utente autenticato
- $$LOGIN-DATA$$ Visualizza la data e l'ora dell'avvenuta autenticazione
Per esempio per ottenere la data corrente basterà scrivere: value="$$DATE$$"
E' possibile definire dei tag personalizzati $$MIOTAG$$, bisogna distinguere due casi se il tag è utilizzato nell'attributo di un datasource o viceversa in tutti gli altri oggetti.
PROPRIETA' DSSEARCH oggetto TEXT e DSSELECT
- $$ID_xxx$$ Visualizza il valore javascript di un oggetto della pagina
All'interno del codice inserito nella proprietà DSSEARCH, il TAG viene sostituito con il valore dell'oggetto xxx (id oggetto). Tale operazione viene fatta al momento della richiesta AJAX quindi da Javascript.
UTILIZZO TAGS IN UN OGGETTO(ESCLUSO DATASOURCE)
<?phprequire_once("./../../class/system.class.php");
$system = new ClsSystem(true);
$xml = new ClsXML("mypage.xml");
$event = new ClsEvent($xml);
if(!isset($_POST["data"]))
{
$_POST['$$MYTAG$$'] = "Value";
}
$event->managerRequest();
?>
il valore del tag è assegnato tramite $_POST['$$MIOTAG$$'], è importante che ciò avvenga solo in fase di primo caricamento e non nelle successive transazioni AJAX che creerebbero confusione con i valori postati dal framework per le operazioni di lettura/scrittura dei datasource.
UTILIZZO DI UN TAGS NEI DATASOURCE
I datasource vengono istanziati ed utilizzati durante le transazioni AJAX quindi la condizione if è esattamente l'opposta:
<?php
require_once("./../../class/system.class.php");
$system = new ClsSystem(true);
$xml = new ClsXML("mypage.xml");
$event = new ClsEvent($xml);
if(isset($_POST["data"]))
{
$_POST['$$MYTAG$$'] = "Value";
}
$event->managerRequest();
?>
Se nella pagina il datasource o altri datasource sono utilizzati per operazioni di salvataggio dei dati è importante intercettare gli eventi data_new e data_update ed effettuare unset dei valori postati sempre al fine di non confondere tali valori con i valori postati dal framework per il salvataggio
<?php
function data_new() {
unset($_POST['$$MYTAG$$']);
}
function data_update() {
unset($_POST['$$MYTAG$$']);
}
?>