Come personalizzare le tabelle dei dati admin di Bootstrap?
(LEGGI gli elenchi)

Le tabelle dati di Bootstrap Admin possono essere personalizzate utilizzando la loro classe PHP principale e il loro modello TWIG disponibile nella cartella admin.


Organizzazione dei file relativi alle tabelle di dati admin

Quando crea una Tabella dati dal Generatore CRUD, vengono generati diversi file:

/admin/classe/crud/Tabella.php
La classe PHP principale
/admin/templates/tabella.html
Il modello HTML TWIG
/admin/crud-data/tabella-filtro-dati.json
I filtri utilizzati per filtrare i suoi record, se ce ne sono
/admin/crud-data/tabella-selezione-dati.json
Seleziona la configurazione dei menu a tendina, se presente

dove tabella è la tabella che desidera personalizzare.

I due file JSON sono utilizzati dal motore interno di PHPCG per costruire i filtri dell'elenco dati o per selezionare i dati.
Li consideri come file CORE privati e non li modifichi.

I file che ci interessano sono la classe PHP e il modello HTML TWIG.

La classe PHP principale

La classe PHP principale esegue la query SQL al suo database e recupera i record dalla sua tabella.

Recupera anche i record dalle tabelle relazionali, se devono essere visualizzati nella sua tabella di dati.

I campi e i valori vengono registrati come attributi dell'oggetto, in un ciclo che attraversa i suoi record:

if (!empty($this->records_count)) {
    while ($row = $db->fetch()) {
        $this->pk[] = $row->$primary_key;
        $this->my_field[]= $row->my_field;
        // ...
    }
}

Ogni $row-> è il valore che verrà visualizzato nella tabella dei dati.

Può applicare qualsiasi funzione se desidera cambiarli, ad esempio:

$this->my_field[]= strtolower($row->my_field); // to lowercase
if (!empty($row->my_field)) {
    $this->my_field[]= 'Yes';
} else {
    $this->my_field[]= 'No';
}

Il modello HTML TWIG

Il modello HTML TWIG recupera i valori dalla classe PHP principale e costruisce la tabella dati HTML.

Può modificare facilmente qualsiasi parte del modello, in particolare gli elementi <th></th> e <td></td> della tabella.

Valori con codice HTML

Accade spesso che venga memorizzato un contenuto HTML, che verrà modificato ad esempio con un RTE (TinyMce).

Per impostazione predefinita, il modello TWIG visualizza i tag HTML, mentre lei desidera visualizzare il contenuto HTML.

Per farlo, modificheremo il modello TWIG e utilizzeremo il filtro TWIG "raw":

<td>{{ object.last_name[ loop.index0 ]|raw }}</td>

Esempio di personalizzazione con collegamento al sito web pubblico

Nel Generatore, attivi il pulsante Apri URL quando costruisce la sua lista READ.
Questo aggiungerà un'icona di collegamento a ciascun record della sua lista nel pannello di amministrazione.

Il link punta alla radice del dominio; vogliamo cambiare questo link in modo che porti alle rispettive pagine di ciascuna delle registrazioni sul sito web pubblico. Ecco come ottenere questo risultato.

Prendiamo come esempio la tabella degli attori, diciamo che ogni record deve aprire una pagina https://www.my-website.com/actor-x.php, dove x è l'index.

  1. Apra admin/templates/actor.html nel suo editor di codice.
  2. Trovi il link open url nel modello, che dovrebbe assomigliare a questo:
    <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>
  3. Questo link la porterà per il momento alla pagina iniziale. Per farlo puntare alla pagina dell'attore, deve modificare l'URL (href) e aggiungere l'index del record corrente
    :<td> <a href="{{ constant('BASE_URL') }}/attore-{ object.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>

    Qui utilizziamo la chiave primaria: {{ object.pk[loop.index0] }}.

    Proviene dall'oggetto Attore in admin/class/crud/Actor.php, che è stato passato al modello TWIG.

Come mantenere le modifiche se si ricostruiscono le Tabelle di dati?

Dopo aver apportato modifiche ai file di amministrazione generati da PHPGC, se rigenera la sua Lista di lettura, queste modifiche saranno sovrascritte.

Backup automatico dei file di amministrazione

Per evitare la perdita di dati:

Quando genera i file del pannello di amministrazione, i file esistenti vengono salvati nella cartella di backup del generatore: /generatore/file di backup/

Strumento di confronto dei file

Lo strumento di confronto dei generatori le permette di:

  • confrontare le versioni salvate con le nuove versioni generate
  • unisca le due versioni disponibili selezionando nei due riquadri sinistro/destro le parti di codice che desidera mantenere.

Prerequisiti

Per personalizzare le tabelle di dati di Bootstrap Admin con PHPCG, deve farlo prima:

Pagina principale del tutorial PHP CRUD