Organizace souborů týkajících se tabulek s údaji pro správce
Při vytváření datové tabulky z generátoru CRUD se vygeneruje několik souborů:
- /admin/class/crud/Table.php
- Hlavní třída PHP
- /admin/templates/table.html
- Šablona HTML TWIG
- /admin/crud-data/table-filter-data.json
- Filtry použité k filtrování záznamů, pokud existují.
- /admin/crud-data/table-select-data.json
- Vyberte konfiguraci rozevíracích oken, pokud existují
kde tabulka je tabulka, kterou chcete upravit.
Tyto dva soubory JSON používá interní engine PHPCG k sestavení filtrů datového seznamu nebo k výběru dat.
Považujte je za soukromé soubory CORE a neupravujte je.
Soubory, které nás zde zajímají, jsou třída PHP a šablona HTML TWIG.
Hlavní třída PHP
Hlavní třída PHP provede dotaz SQL do databáze a načte záznamy z tabulky.
Rovněž načte záznamy z relačních tabulek, pokud mají být zobrazeny v datové tabulce.
Pole a hodnoty se zaznamenávají jako atributy objektu ve smyčce, která prochází záznamy:
if (!empty($this->records_count)) {
while ($row = $db->fetch()) {
$this->pk[] = $row->$primary_key;
$this->my_field[]= $row->my_field;
// ...
}
}
Každý $řádek->
je hodnota, která se zobrazí v tabulce Data.
Pokud je chcete například změnit, můžete použít libovolnou funkci:
$this->my_field[]= strtolower($row->my_field); // to lowercase
if (!empty($row->my_field)) {
$this->my_field[]= 'Yes';
} else {
$this->my_field[]= 'No';
}
Šablona HTML TWIG
Šablona TWIG HTML načte hodnoty z hlavní třídy PHP a vytvoří datovou tabulku HTML.
Snadno můžete upravit jakoukoli část šablony, zejména prvky tabulky <th></th> a <td></td>.
Hodnoty s kódem HTML
Často se stává, že je uložen obsah HTML, který se upravuje například pomocí RTE (TinyMce).
Šablona TWIG ve výchozím nastavení zobrazuje značky HTML, zatímco vy chcete zobrazit obsah HTML.
Za tímto účelem upravíme šablonu TWIG a použijeme filtr TWIG "raw":
<td>{{ object.last_name[ loop.index0 ]|raw }}</td>
Příklad přizpůsobení s odkazem na veřejné webové stránky
Při sestavování seznamu READ aktivujte v generátoru tlačítko Otevřít URL.
Tím se na panelu správce přidá ke každému záznamu seznamu ikona odkazu .
Odkaz směřuje na kořen domény, chceme tento odkaz změnit tak, aby vedl na příslušné stránky jednotlivých záznamů na veřejném webu. Zde je návod, jak toho dosáhnout.
Vezměme si jako příklad tabulku aktérů, řekněme, že každý záznam musí otevřít stránku https://www.my-website.com/actor-x.php, kde x je index.
- V editoru kódu otevřete soubor admin/templates/actor.html.
- Najděte v šabloně odkaz na otevřít url, který by měl vypadat takto:
<td> <a href="{{ constant('BASE_URL') }}" rel="noindex" data-delay="500" data-tooltip="{{ constant('')OPEN_URL') }}" target="_blank"><span class="{{ constant('ICON_NEW_TAB') }} text-center"></span></a> </td>
- Tento odkaz vás prozatím přenese na domovskou stránku. Aby odkazoval na stránku aktéra, musíte upravit adresu URL (href) a přidat index aktuálního záznamu
:<td> <a href="{{ constant('BASE_URL') }}/aktor-{{ objekt.pk[loop.index0] }}.php" rel="noindex" data-delay="500" data-tooltip="{{ constant('OPEN_URL') }}" target="_blank"><span class="{{ constant('ICON_NEW_TAB') }} text-center"></span></a> </td>
Zde používáme primární klíč: {{ object.pk[loop.index0] }}
.
Pochází z objektu Actor v admin/class/crud/Actor.php, který byl předán šabloně TWIG.
Jak zachovat změny, pokud datové tabulky přestavíte?
Pokud po provedení změn v administračních souborech vygenerovaných programem PHPGC přegenerujete seznam READ, budou tyto změny přepsány.
Automatické zálohování souborů správce
Aby nedošlo ke ztrátě dat:
Při generování souborů panelu správce se stávající soubory uloží do záložní složky generátoru: /generator/backup-files/.
Nástroj pro porovnávání souborů
Nástroj pro porovnání generátorů umožňuje:
- porovnat uložené verze s nově vygenerovanými verzemi
- sloučení obou dostupných verzí výběrem částí kódu, které chcete zachovat, ve dvou levých/pravých panelech.