Hogyan kell új config formot létrehozni a chat control panelben

Figure 1 - Új config form létrehozás

Hozzunk létre egy demo szolgáltatást

  1. Hozzuk létre a service mappát itt: C:\wamp64\www\ozekiservices
  2. Homepage elkészítése ide: C:\wamp64\www\ozekiservices\{service neve}\pages\home\home.php
  3. _lnclude.php file a service gyökerébe: C:\wamp64\www\ozekiservices\{service neve}\_include.php
  4. Böngésző: 127.0.0.1/ozeki
  5. Install services...
  6. Itt a listából keresd ki a te servicedet majd install.

home.php

<?php
include_once("$dirprefix/ozekiservices/demo/entities/ent.config.demo.php");
$ent = createEntConfigDemo();
entLoadObj($ent,"democonfig",$obj,$error);
echo json_encode($obj);
?>

_include.php

<?php
addsrv("demo","Demo");
addp("/pages/home/home.php","Home");
?>

Hozunk létre egy generátor által kezelt config form leírást

  1. Hozzuk létre az entitást itt: C:\wamp64\www\ozekiservices\demo\entities\ent.config.demo.php
    <?php
    $sysdir = "$dirprefix/ozeki/sys/";
    include_once("$sysdir/form/_include.php");
    include_once("$sysdir/encryption/encryption.php");
    
    function createEntConfigDemo() {
        $ent = ent("democonfig");
        $ent["singleton"] = true;
        $ent["createbutton"] = false;
        $ent["deletebutton"] = false;
        $ent["dir"] = "/ozekiconfig";
        $ent["datafile"] = "democonfig.json";
        $ent["usetabs"] = true;
        $ent["usegroupboxes"] = true;
    
        $attrname = "demonumber";
        $ent["a"][$attrname] = attrInt($attrname, "Demo number");
        $ent["a"][$attrname]["tabpage"] = "General";
        $ent["a"][$attrname]["groupbox"] = "Product";
        $ent["a"][$attrname]["description"] = "Please provide the number for the demo.";
        $ent["a"][$attrname]["below"] = "This is the number that is used for the config.";
        $ent["a"][$attrname]["defaultvalue"] = 10;
    
        $attrname = "demotext";
        $ent["a"][$attrname] = attrText($attrname, "Demo text");
        $ent["a"][$attrname]["tabpage"] = "General";
        $ent["a"][$attrname]["groupbox"] = "Product";
        $ent["a"][$attrname]["description"] = "Please provide the text for the demo.";
        $ent["a"][$attrname]["below"] = "This is the text that is used for config.";
        $ent["a"][$attrname]["defaultvalue"] = "empty";
        
        return $ent;
    }
    ?>
    
  2. Készítsük el a form.php file-t itt: C:\wamp64\www\ozekiservices\demo\form.php
    <?php
    include_once("$dirprefix/ozekiservices/demo/entities/ent.config.demo.php");
    
    $serviceform["demo"]["democonfig"] = createEntConfigDemo();
    
    ?>
  3. Ahhoz hogy a chatcontrolpanel megjelenítse a formunkat szükséges egy navbar-t is generálni, ezt a következő helyen kell megtenni: C:\wamp64\www\ozekiservices\demo\navbar_details.php
    <?php
    $servicenavbar["dashcardtest"]["config"]["label"] = "Config";
    $servicenavbar["dashcardtest"]["config"]["section"] = "Demo";
    $servicenavbar["dashcardtest"]["config"]["order"] = 10;
    $servicenavbar["dashcardtest"]["config"]["url"] = "&entsrv=demo&ent=democonfig";
    $servicenavbar["dashcardtest"]["config"]["icon"] = "configs";
    ?>
    
  4. A kiemelt sorokkal jelölve van, hogy hol szükséges ugyanazt az elnevezést használjuk. Ezesetben a "democonfig" a neve az entitásnak amit létrehoztunk.
    Illetve a 3. pontban az "entsrv" a service nevét kell tartalmazza.

Hogyan fog a generált form megjelenni a chat control panelben

Figure 1 - Entitás a controlpanelen

A controlpanel automatikusan legenerálja a szükséges formot a metaleírás alapján. A tabpage és a groupbox paraméterek alapján kategorizálja az értékeket (lásd Figure 1).

Hogyan tudja a PHP a generált formon beállított értékeket változókban elérni

Ahhoz hogy elérjük az entitásban tárolt értékeket a következő lépéseket kell követni:

  1. Tegyük változóba az entitásunkat amelyet a C:\wamp64\www\ozekiservices\demo\entities\ent.config.demo file-ban létrehozott függvény meghívásával tehetünk meg ( createEntConfigDemo() ).
  2. Töltsük be az objektumot az entLoadObj függvény segítségével.
    A függvény paraméterei:
    • $ent: az entitást amit betöltöttünk az első lépésben.
    • $objid: Az objektum azonosítója singleton entitás esetében ez az entitás neve.
    • $obj: Az objektum amit visszaad a függvény
    • $error
  3. Ezután a $obj array bármelyik értékét eltudjuk érni.

Hogyan tudjuk a generált formot utólag bővíteni egy configuráható értékkel

Ahhoz hogy bővítsük a formot, nyissuk meg az entitás metaleírását.
Ez esetben: C:\wamp64\www\ozekiservices\demo\entities\ent.config.demo.php majd adjuk hozzá az új elemet.

$attrname = "demotext";
$ent["a"][$attrname] = attrText($attrname, "Demo text");
$ent["a"][$attrname]["tabpage"] = "General";
$ent["a"][$attrname]["groupbox"] = "Product";
$ent["a"][$attrname]["description"] = "Please provide the text for the demo.";
$ent["a"][$attrname]["below"] = "This is the text that is used for config.";
$ent["a"][$attrname]["defaultvalue"] = "empty";

Elérhető form típusok:

  • Text
  • Textbox
  • Number
  • Checkbox
  • Switch
  • File
  • Date
  • Date time
  • Password
  • Label (disabled input)
  • Unknown - Ha ismeretlen a típus