Liste der Anhänge anzeigen (Anzahl: 1)
Mitgliederfelder hinzufügen
Hallo,
unter Conttao 4.4.14 sollen bei den Mitgliedern zwei Mitgliederfelder hinzugefügt werden. Bei den persönlichen Daten ein Select-Feld für die Anrede und den Titel, bei den Kontaktdaten ein Feld für eine geheime Telefonnummer.
Dazu habe ich unter /app/Resources/contao/dca eine Datei tl_members.php mit folgendem Inhalt erstellt:
PHP-Code:
// Feld Telefonnummer Geheim im Bereich Kontaktdaten hinzufügen
// Palette
$GLOBALS['TL_DCA']['tl_member']['palettes']['default'] = str_replace
(
'contact',
'secret_phone,contact',
$GLOBALS['TL_DCA']['tl_member']['palettes']['default']
);
// Feldkonfiguration
$GLOBALS['TL_DCA']['tl_member']['fields']['secret_phone'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_member']['secret_phone'],
'exclude' => true,
'search' => true,
'inputType' => 'text',
'eval' => array('maxlength'=>64, 'rgxp'=>'phone', 'decodeEntities'=>true, 'feEditable'=>true, 'feViewable'=>true, 'feGroup' =>'contact', 'tl_class'=>'w50'),
'sql' => "varchar(64) NOT NULL default ''"
);
// Feld Anrede / Titel im Bereich Personendaten hinzufügen
// Palette
$GLOBALS['TL_DCA']['tl_member']['palettes']['default'] = str_replace
(
'personal',
'salutation_title,personal',
$GLOBALS['TL_DCA']['tl_member']['palettes']['default']
);
// Feldkonfiguration
$GLOBALS['TL_DCA']['tl_member']['fields']['salutation_title'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_member']['salutation_title'],
'exclude' => true,
'inputType' => 'select',
'options' => array('Herr', 'Frau', 'Dr.', 'Prof.', 'Prof. Dr.'),
'eval' => array('includeBlankOption'=>true, 'feEditable'=>true, 'feViewable'=>true, 'feGroup'=>'personal', 'tl_class'=>'w50'),
'sql' => "varchar(32) NOT NULL default ''"
);
Unter /app/Resources/contao/languages/de habe ich ebenfalls eine tl_member.php mit den Texten hinzugefügt. Hier der Inhalt:
PHP-Code:
$GLOBALS['TL_LANG']['tl_member']['secret_phone'] = array
(
'Telefonnummer GEHEIM',
'Bitte geben Sie die geheime Telefonnummer ein.'
);
$GLOBALS['TL_LANG']['tl_member']['salutation_title'] = array
(
'Anrede, Titel',
'Bitte geben Sie die Anrede bzw. den Titel ein.'
);
Den Symfony-Cache habe ich gelöscht und das Install-Tool aufgerufen. Im Install-Tool werden die Felder in der Datenbank angelegt, er erscheint keine Fehlermeldung.
Im Backend sind die neuen Felder aber nicht sichtbar.
Ich denke, dass mit meiner Palettenkonfiguration etwas nicht stimmt, finde aber den Fehler nicht. Bei den beiden Paletten fehlt auch die Palettenbeschriftung ==> Anhang 20600.
Wo liegt der Fehler?
Danke für Eure Hilfe.
Funktioniert bei mir nicht
Halo zusammen,
ich habe wie Schmidty ganz oben geschrieben hat in app/Resources/contao/dca eine Datei tl_member.php und in ../languages/de/ die Datei tl_member.php angelegt. (Contao 4.4.24)
Den Cache habe ich gelöscht und den Installer aufgerufen. Die Felder werden aber nicht in der DB angelegt und die Felder nicht im der Mitgliederverwaltung angezeigt.
Was mache ich falsch?
Inhalt der Dateien:
app/Resources/contao/dca/tl_member.php
Code:
<?php
// Anpassung der Palette
$GLOBALS['TL_DCA']['tl_member']['palettes']['default'] = str_replace
(
',groups;',
',groups;{groups_ttm},xt_art,xt_brevet,xt_luftabo;',
$GLOBALS['TL_DCA']['tl_member']['palettes']['default']
);
// Hinzufügen der Feld-Konfiguration
$GLOBALS['TL_DCA']['tl_member']['fields']['xt_art'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_member']['xt_art'],
'exclude' => true,
'filter' => true,
'sorting' => true,
'inputType' => 'select',
'eval' => array('mandatory'=>true, 'maxlength'=>255, 'feEditable'=>true, 'feViewable'=>true, 'feGroup'=>'personal', 'tl_class'=>'w50'),
'sql' => "int(10) NOT NULL default ''"
);
$GLOBALS['TL_DCA']['tl_member']['fields']['xt_brevet'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_member']['xt_brevet'],
'exclude' => true,
'filter' => true,
'sorting' => true,
'inputType' => 'select',
'eval' => array('mandatory'=>true, 'maxlength'=>255, 'feEditable'=>true, 'feViewable'=>true, 'feGroup'=>'personal', 'tl_class'=>'w50'),
'sql' => "blob"
);
$GLOBALS['TL_DCA']['tl_member']['fields']['xt_luftabo'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_member']['xt_luftabo'],
'exclude' => true,
'filter' => true,
'sorting' => true,
'inputType' => 'text',
'eval' => array('mandatory'=>true, 'rgxp'=>'digit', 'maxlength'=>2, 'tl_class'=>'w50'),
'sql' => "int(10) NOT NULL default ''"
);
?>
app/Ressources/contao/languages/de/tl_member.php
Code:
<?php
$GLOBALS['TL_LANG']['tl_member']['xt_luftabo'] = array
(
'Freifüllungen',
'Anzahl der bereits verbrauchten Freifüllungen.'
);
$GLOBALS['TL_LANG']['tl_member']['xt_art'] = array
(
'Mitgliedschaft',
'Art der Mitgliedschaft im Tauchclub.'
);
$GLOBALS['TL_LANG']['tl_member']['xt_brevet'] = array
(
'Brevet',
'Welche Brevets hat das Mitglied.'
);
$GLOBALS['TL_LANG']['tl_member']['groups_ttm'] = 'Tauchclub';
$GLOBALS['TL_LANG']['tl_member']['xt_brevet']['1'] = 'CMAS * / i.a.c. oder Padi OWD';
$GLOBALS['TL_LANG']['tl_member']['xt_brevet']['2'] = 'i.a.c. / Padi AOWD';
$GLOBALS['TL_LANG']['tl_member']['xt_brevet']['3'] = 'CMAS / i.a.c. Master Diver oder Padi Rescue Diver';
$GLOBALS['TL_LANG']['tl_member']['xt_brevet']['4'] = 'CMAS *** / i.a.c. Dive Leader oder Padi Divemaster';
$GLOBALS['TL_LANG']['tl_member']['xt_brevet']['5'] = 'CMAS TL / i.a.c. oder Padi TL';
$GLOBALS['TL_LANG']['tl_member']['xt_brevet']['6'] = 'Nightdiver';
$GLOBALS['TL_LANG']['tl_member']['xt_brevet']['7'] = 'Dry Diver';
$GLOBALS['TL_LANG']['tl_member']['xt_brevet']['8'] = 'Dry Suit Diver mit Club Trocky Option';
$GLOBALS['TL_LANG']['tl_member']['xt_brevet']['9'] = 'CMAS Junior Diver / i.a.c. Junior Diver';
$GLOBALS['TL_LANG']['tl_member']['xt_art']['1'] = 'Holiday';
$GLOBALS['TL_LANG']['tl_member']['xt_art']['2'] = 'Comfort';
$GLOBALS['TL_LANG']['tl_member']['xt_art']['3'] = 'Standard';
$GLOBALS['TL_LANG']['tl_member']['xt_art']['4'] = 'Premium';
$GLOBALS['TL_LANG']['tl_member']['xt_art']['5'] = 'Kinder & Jugend';
$GLOBALS['TL_LANG']['tl_member']['xt_art']['6'] = 'Holiday & Dry Suit';
$GLOBALS['TL_LANG']['tl_member']['xt_art']['7'] = 'Comfort & Dry Suit';
$GLOBALS['TL_LANG']['tl_member']['xt_art']['8'] = 'Standard & Dry Suit';
$GLOBALS['TL_LANG']['tl_member']['xt_art']['9'] = 'Premium & Dry Suit';
$GLOBALS['TL_LANG']['tl_member']['xt_art']['10'] = 'Premium Plus';
$GLOBALS['TL_LANG']['tl_member']['xt_art']['11'] = 'CCR';
?>
nach Vorgabe versucht Feld anzulegen, aber es klappt nicht
Basis ist Contao 4.4
unter
httpdocs/system/modules/memberlistmore/dca habe ich die Datei tl_members.php
httpdocs/system/modules/memberlistmore/languages/de habe ich die Datei tl_members.php
angelegt. memberlistmore ist mein Ordner für diese Erweiterung.
Nachdem ich mit meinen Inhalten der jeweiligen Dateien keinen Erfolg hatte, habe ich jetzt die Inhalte entsprechend der Vorgabe unter
https://docs.contao.org/books/manual...nzufuegen.html
eingefügt.
Der Cache wurde geleert und das INsatlltool aufgerufen. Es tut sich absolut nichts :-(
Was mache ich verkehrt?
Sorry - das Problem ist anders gelagert
Tatsächlich wird mit das neue Feld Kundennummer in der Mitgliederverwaltung angezeigt. Ich habe aber die ganze Zeit im Modul "Registrierung" geschaut.
Ich habe also in Wirklichkeit das Problem: wie bekomme ich das neue Feld "Kundenummer" in das Modul "Registrierung?
Inhalte aus Language File in DB speichern
Gibt es eine Möglichkeit, dass beim Registrieren eines neuen Mitglieds in der zweiten Sprache die Inhalte aus dem Language-File in die DB geschrieben werden?
Konkret hab ich ein paar zusätzliche Felder. z.B. eines mit der Mitgliederart: Privatmitglied, Kollektivmitglied. Wenn nun einer sich in französisch anmeldet soll Membre privé bzw. Membre collective in die DB geschrieben werden.
Wo würd ich sowas versuchen zu beeinflussen? Im member_default.php werden die fertig aufgebauten Fields eingeschlauft. Wo werden die hergestellt?