TYPO3 Plugin:
modules
Modules
Kleiner Helfer bei der Erstellung von Backendmodules in TYPO3.
Ein Beispiel für ein Backend-Modul für TYPO3 finden Sie in der Extension internal_notes
.
Definition von Datentabellen
Die Definition einer Datentabelle für das Backend kann einfach mit TypoScript erfolgen.
Achtung:
Stellen Sie sicher, dass dieses TypoScript durch eine Datei
ext_typoscript_setup.txt
definiert ist, so dass diese Definitionen immer vorhanden sind verfügbar!
module.tx_yourextensionkey {
einstellungen {
listen {
downloadFileCollection {
# ID der Backend-Modulliste - nehmen Sie einfach den übergeordneten Schlüssel
id = internalNotes
# table definiert den Namen der Datenbanktabelle für die Datensätze dieser Liste.
tabelle = sys_note
# Modulkennung
module = web_InternalNotesInternalNotesInternalNotes
# Plugin-Identifikationsnummer
plugin = InternalNotes
# sortingField definiert das Feld, das als Standardsortierung verwendet werden soll
sortingField = Betreff
# sortingOrder definiert die Standardsortierreihenfolge für das Standardsortierfeld
sortingOrder = asc
# Das Limit definiert, wie viele Datensätze auf jeder Seite angezeigt werden sollen
grenzwert = 20
# Felder/Spalten der Datentabelle
felder {
# Definiere die Felder/Spalten deiner Tabelle
}
# Aktionen für jede Zeile der Datentabelle
aktionen {
# Definieren Sie die Aktionen für Ihre Tabellenzeilen
}
}
# Mehr Datentabellen auf die gleiche Weise definieren
aSecondTable {
# ...
}
}
}
}
Tabellenfelder definieren
Der Feldschlüssel ist in Kleinbuchstaben geschrieben und stellt den Getternamen einer Model-Eigenschaft dar!
Mögliche native Formate
Parameter/Format | Einfarbig | PlainEditable | DatumUhrzeit | Boolesch | Benutzerdefiniert | |
---|---|---|---|---|---|---|
sortierbar | x | x | x | x | x | ? |
dateFormat | x | |||||
ernte | x | x |
crop
- Crop ist ein ganzzahliger Wert und schneidet den Zellinhalt nach der definierten Anzahl von Zeichen.
Tabellenaktionen definieren
Die Tabellenaktionen werden im Knoten Aktionen
definiert. In diesem Knoten können Sie die Aktionen für jede Tabellenzeile definieren.
Das könnte so aussehen:
aktionen {
# Der Aktionsschlüssel ist der Bezeichner.
# Dieser Schlüssel wird zusätzlich für den Übersetzungsschlüssel für den Spaltentitel verwendet.
bearbeiten {
aktion = Bearbeiten
# Übersetzungsschlüssel
# tx_modules_label.list_topic_action_edit = Thema bearbeiten
}
ausblendenZeigen {
aktion = AusblendenZeigen
# Übersetzungsschlüssel
# tx_modules_label.list_topic_action_hide = Thema ausblenden
# tx_modules_label.list_topic_action_show = Thema anzeigen
}
disableEnable { { Deaktivieren/Entfernen
aktion = DisableEnable
}
löschen {
aktion = Löschen
# Datenfeld des Datensatzes, in dem ein Label gespeichert ist.
# Dieses Label wird für die Sicherheitsfrage im Modal verwendet.
subjectField = Titel
# Übersetzungsschlüssel
# tx_modules_label.list_topic_action_delete_title = Dieses Thema löschen?
# tx_modules_label.list_topic_action_delete_content = Sind Sie sicher, dass Sie das Thema'%1$s' löschen wollen?
# tx_modules_label.list_topic_action_delete_cancel = Abbrechen
}
}
Übersetzungen
Die Definition von Übersetzungen für die Datentabellen funktioniert so:
module.tx_yourextensionkey {
_LOKAL_LANG {
standard {
#
tx_downloadmanager_label.backend_filter = Filter
tx_downloadmanager_label.backend_filter_submit = aktualisieren
# Meldung, wenn es keine Datensätze in der Tabelle gibt
tx_modules_label.list_download_file_collection_no_entries = Keine Download-Dateisammlungen gefunden
# Titel der Tabellenüberschrift
tx_modules_label.list_download_file_collection_header = Dateisammlung herunterladen
# Tabellenkopfspalten
# Jeder Identifikator ist wie folgt aufgebaut:
# tx_modules_label.list_ + list id unterstrichen + _col_ + field key
tx_modules_label.list_download_file_collection_col_title = Titel
tx_modules_label.list_download_file_collection_col_actions = Aktionen
tx_modules_label.list_download_file_collection_action_edit = Download-Dateisammlung bearbeiten
tx_modules_label.list_download_file_collection_action_hide = Download-Dateisammlung ausblenden
tx_modules_label.list_download_file_collection_action_show = Download-Dateisammlung anzeigen
}
de {
# Deutsche Übersetzung
tx_modules_label.list_download_file_collection_no_entries = Es konnte keine Download-Datei-Dateisammlung gefunden werden
tx_modules_label.list_download_file_collection_header = Download-Dateisammlung
tx_modules_label.list_download_file_collection_col_title = Titel
tx_modules_label.list_download_file_collection_col_actions = Aktionen
tx_modules_label.list_download_file_collection_action_edit = Download-Dateisammlung bearbeiten
}
}
}
Verwendung von Erstellungsbenutzer, Datum oder Änderungsdatum
Wenn Sie den Erstellungsbenutzer, das Datum oder das Änderungsdatum eines TYPO3-Standarddatensatzes verwenden möchten, müssen Sie die Extbase zuordnen felder:
config.tx_extbase.persistence.classes {
CodingMs\Newsletter\Domain\Model\Topic.mapping {
tableName = tx_newsletters_domain_model_topic
recordType =
spalten {
crdate.mapOnProperty = ErstellungDatum
tstamp.mapOnProperty = ÄnderungDatum
cruser_id.mapOnProperty = ErstellungBenutzer
}
}
}
Zusätzlich benötigen Sie den entsprechenden Getter und Setter im zugehörigen Extbase-Modell.
FAQ
Warum funktioniert die Aktion HideShow nicht wie erwartet?
Vielleicht hast du vergessen, die versteckten Eigenschaften zu deinem Modell hinzuzufügen. Fügen Sie Folgendes hinzu:
/**
* @var boolean
*/
geschützt $hidden;
/**
* @return bool
*/
öffentliche Funktion isHidden()
{
gibt $this->hidden zurück;
}
/**
* @param bool $hidden
*/
öffentliche Funktion setHidden($hidden)
{
$this->hidden = $hidden;
}
Warum erscheint das Löschmodal nicht?
Vielleicht hast du vergessen, das benötigte RequireJs-Modul hinzuzufügen:
$pageRenderer->loadRequireJsModule('TYPO3/CMS/Backend/Modal');
Benötigen Sie schnelle Hilfe mit dieser Extension? Unser Team von erfahrenen TYPO3-Entwicklern löst Probleme unkompliziert und zum Stundensatz.
Verteilung:MODULES ist auf
0.04 % aller TYPO3 installiert.
- 0.27 % aller TYPO3 8.7.x Installationen installiert
- 0.02 % aller TYPO3 7.6.x Installationen installiert
MODULES Version:Verteilung nach installierten Versionen
- 100 % MODULES v.2.0.0
PHP Version:MODULES wird benutzt mit
- 85.71 % PHP/7.1
- 14.29 % PHP/5.5
Gosign-Responsive Index: TYPO3 Installationen nutzen MODULES zu
- 93 % wenn der Gosign-Responsive-Index zwischen 80 % und 100 % ist
- 7 % wenn der Gosign-Responsive-Index zwischen 60 % und 80 % ist
- 0 % wenn der Gosign-Responsive-Index zwischen 40 % und 60 % ist
- 0 % wenn der Gosign-Responsive-Index zwischen 20 % und 40 % ist
- 0 % wenn der Gosign-Responsive-Index zwischen 0 % und 20 % ist
Pagespeed: TYPO3 Installationen nutzen MODULES zu
- 14 % wenn der Pagespeed zwischen 80 % und 100 % ist
- 14 % wenn der Pagespeed zwischen 60 % und 80 % ist
- 0 % wenn der Pagespeed zwischen 40 % und 60 % ist
- 29 % wenn der Pagespeed zwischen 20 % und 40 % ist
- 43 % wenn der Pagespeed zwischen 0 % und 20 % ist
[DependciesAndConflicts]