Berechtigte Benutzer erhalten im YForm-Tablemanager kontext-bezogene Buttons, mit denen man direkt mittels Adminer Tabellen oder gefilterte Daten angezeigt bekommt. So kann man schneller mit nur einem Klick in der Datenbank nach dem Rechten sehen, Ergebnisse kontrollieren oder sonstwie eingreifen.
Dazu muss neben dem Addon YForm auch das FOR-Addon Adminer installiert und aktiviert sein.
Das Addon hängt ausschließlich über Extension-Points zusätzliche Button in Kopfzeilen und Spalten.
- Die Daten der Tabelle
- Die SQL-Query aus der zugehörigen YOrm-Query der Tabelle
- Die Tabellen-Konfiguration in
rex_yform_table
(eine Zeile) - Die Felddefinitionen der Tabelle in
rex_yform_field
(Auszug ausrex_yform_field
) → 9./11. - Der Datensatz zu dieser Zeile
- Die SQL-Query aus der zugehörigen YOrm-Query, auf diesen Satz beschränkt (id=...)
Zu 2. und 6.: Je nach Komplexität der Query (z.B. durch Joins erweitert) kann es auch nicht funktionieren.
- Tabelle
rex_yform_field
insgesamt - Adminer-Gesamtansicht
- Die Felddefinitionen der Tabelle in
rex_yform_field
(Auszug ausrex_yform_field
) → 4./11. - Die Daten der Tabelle
- Die Felddefinitionen der Tabelle in
rex_yform_field
(Auszug ausrex_yform_field
) → 4./9. - Die Felddefinitionen des Feldes in
rex_yform_field
(Auszug ausrex_yform_field
)
Das Addon wird nur aktiv, wenn der Benutzer Administrator ist oder über die Benutzerverwaltung die Berechtigung yform_adminer[]
erhält.
Die Farbe der Buttons kann mit individuellem CSS z.B. via Themes- oder Project-Addon geändert werden. Hier das CSS der obigen Bildbeispiele:
/* Allgemeine Farbe für Adminer */
.for-yfa-color {
color: black;
}
/* Farbe für Datenbank-Tabellen */
.for-yfa-table-color {
color:lightseagreen;
}
/* Farbe für YForm-Systemtabellen (rex_yform_table, rex_yform_field) */
.for-yfa-yform-color {
color:darkorange;
}
Einige Methoden zum Aufbau einer Adminer-URL stehen zur Nutzung in eigenen Addons zur Verfügung. Bitte dabei beachten, dass YForm_Adminer wie Adminer nur für Admins und nicht im LiveMode verfügbar ist.
// Tabelle anzeigen
$url1 = YFormAdminer::dbTable(
rex::getTable('config'),
);
// Gefilterte Tabelle anzeigen
$url2 = YFormAdminer::dbTable(
rex::getTable('config'),
[
[
'col' => 'namespace',
'op' => '=',
'val' => 'core',
],
],
);
// SQL-Query im Fenster "SQL-Kommando" zur Ausführung bereitstellen
$url3 = YFormAdminer::dbSql('SELECT namespace, key FROM rex_config');
// Seite editieren für Tabelle X mit Datensatz mit id=...
$url4 = YFormAdminer::dbEdit(
rex::getTable('clang'),
1,
);
?>
<ul>
<li><a href="<?= $url1 ?>" target="_blank">Tabelle "rex_config"</a></li>
<li><a href="<?= $url2 ?>" target="_blank">Tabelle "rex_config" gefiltert (where)</a></li>
<li><a href="<?= $url3 ?>" target="_blank">SQL-Kommando</a></li>
<li><a href="<?= $url4 ?>" target="_blank">Datensatz editieren (rex_clang Satz 1)</a></li>
</ul>
Schreibt doch bitte auftretende Fehler, Anmerkungen und Wünsche als Issue auf Github. Oder macht direkt einen Vorschlag als Pull-Request.
Unterstützung für dieses und alle anderen Projekte zu REDAXO und FOR ist stets willkommen.
Das Changelog findet sich hier: CHANGELOG.md