
Wie erstellt man ein neues gruppiertes Adressfeld?
Häufig gefragt und immer wieder ganz oder halb beantwortet. Mit dieser Anleitung klappt es bestimmt. Aber Achtung: Die neuen Felder werden nicht wie bei Studioänderungen in der Tabelle _cstm eingetragen sondern in der Haupttabelle. Dies hat keine bekannten Nachteile. Dieses Beispiel gilt für Kontakte ist aber überall analog anwendbar.
Schritt 1: Erstellen Sie eine neue Datei in /custom/Extension/modules/Contacts/Ext/Vardefs - z.B. mit dem Namen "new_address.php" (der Name ist nicht wichtig, vergessen Sie aber das .php nicht) Fügen Sie folgende Zeilen ein:
<?php $dictionary['Contact']['fields']['privat_address_street'] = array ( 'name' => 'privat_address_street', 'vname' => 'LBL_PRIVAT_ADDRESS_STREET', 'type' => 'varchar', 'len' => '150', 'group'=>'privat_address', 'comment' => 'Street address for privat address', 'merge_filter' => 'enabled', );
$dictionary['Contact']['fields']['privat_address_street_2'] = array ( 'name' => 'privat_address_street_2', 'vname' => 'LBL_PRIVAT_ADDRESS_STREET_2', 'type' => 'varchar', 'len' => '150', 'source' => 'non-db', );
$dictionary['Contact']['fields']['privat_address_street_3'] = array ( 'name' => 'privat_address_street_3', 'vname' => 'LBL_PRIVAT_ADDRESS_STREET_3', 'type' => 'varchar', 'len' => '150', 'source' => 'non-db', );
$dictionary['Contact']['fields']['privat_address_city'] = array ( 'name' => 'privat_address_city', 'vname' => 'LBL_PRIVAT_ADDRESS_CITY', 'type' => 'varchar', 'len' => '100', 'group'=>'privat_address', 'comment' => 'City for privat address', 'merge_filter' => 'enabled', );
$dictionary['Contact']['fields']['privat_address_state'] = array ( 'name' => 'privat_address_state', 'vname' => 'LBL_PRIVAT_ADDRESS_STATE', 'type' => 'varchar', 'len' => '100', 'group'=>'privat_address', 'comment' => 'State for privat address', 'merge_filter' => 'enabled', );
$dictionary['Contact']['fields']['privat_address_postalcode'] = array ( 'name' => 'privat_address_postalcode', 'vname' => 'LBL_PRIVAT_ADDRESS_POSTALCODE', 'type' => 'varchar', 'len' => '20', 'group'=>'privat_address', 'comment' => 'Postal code for privat address', 'merge_filter' => 'enabled', );
$dictionary['Contact']['fields']['privat_address_country'] = array ( 'name' => 'privat_address_country', 'vname' => 'LBL_PRIVAT_ADDRESS_COUNTRY', 'type' => 'varchar', 'group'=>'privat_address', 'comment' => 'Country for privat address', 'merge_filter' => 'enabled', ); ?>
Zwei DInge sind wichtig: Das Modul (Kontakte in diesem Fall) und der Schlüssel privat. Sie werden später sehen warum. Privat ist hier ein Beispiel, es könnte auch neue, andere, dritte etc heißen. Wichtig ist nur dass der Begriff in allen Blöcken gleich ist und dass der restliche Teil hinter dem privat so bleibt wie er ist. (andere_address_country). Vergessen Sie nicht auch die Label gleich zu benennen.
Schritt 2:
Erstellen Sie eine neue Datei in /custom/Extension/modules/Contacts/Ext/Language z.B. mit dem Namen de_de.privat_address.php (auch hier ist der Name bis auf das de_de. (oder ge_ge. in älteren Versionen) egal.
<?php
$mod_strings['LBL_PRIVAT_ADDRESS_STREET'] = 'Privatadresse';
$mod_strings['LBL_PRIVAT_ADDRESS_STREET_2'] = 'Privat Straße 2';
$mod_strings['LBL_PRIVAT_ADDRESS_STREET_3'] = 'Privat Straße 3';
$mod_strings['LBL_PRIVAT_ADDRESS_CITY'] = 'Privat Stadt';
$mod_strings['LBL_PRIVAT_ADDRESS_STATE'] = 'Privat Bundesland';
$mod_strings['LBL_PRIVAT_ADDRESS_POSTALCODE'] = 'Privat PLZ';
$mod_strings['LBL_PRIVAT_ADDRESS_COUNTRY'] = 'Privat Land';
?>
<?php Logischerweise sollten Sie hier die gleichen LBL_ Werte verwenden wie oben. Die deutschen Bezeichnungen können Sie frei wählen, beachten Sie aber das Umlaute nur dargestellt werden wenn die Datei in utf-8 kodiert ist.
Schritt 3: Lassen Sie eine Schnellreparatur laufen und führen Sie die vorgeschlagenen Datenbankänderungen durch. Sie sollten dann die neu erstellten Felder auch im Studio unter den Standardfeldern finden.
Schritt 4: Im Studio gehen Sie unter Kontakte in die Bearbeitungsansicht und fügen das Feld Privatadresse (nur EIN Feld) ein. Machen Sie das gleiche in der Detailansicht und speichern und veröffentlichen Sie.
Schritt 5: Gehen Sie nun wieder in Ihr Sugar Verzeichnis, konkret in custom/modules/Contacts/metadata und öffnen Sie editviewdefs.php (sicherheitshalber sollten Sie vorher eine Kopie dieser Datei machen). Suchen Sie dort Ihren neuen Eintrag, dieser sieht in etwa so aus:
array ( 'name' => 'privat_address_street', 'comment' => 'Street address for privat address', 'label' => 'LBL_PRIVAT_ADDRESS_STREET', ),
Gehen Sie nun zu einem der beiden Standard Adressfelder und kopieren alles innerhalb der äußeren Klammer (direkt nach dem "array") in die Klammer des obigen Ausdrucks. Dabei überschreiben Sie obigen Ausdruck!!
array (
'name' => 'alt_address_street', 'hideLabel' => true, 'type' => 'address', 'displayParams' => array ( 'key' => 'alt', 'copy' => 'primary', 'rows' => 2, 'cols' => 30, 'maxlength' => 150, ), 'label' => 'LBL_ALT_ADDRESS_STREET', ),
Schritt 6: Ersetzen Sie (im obigen Beispiel) "alt" durch "privat". Bitte beachten Sie auch die label Zeile und verwenden hier bitte auch Großbuchstaben. Zur Eklärung: Um die Adresse zu gruppieren verwendet Sugar eine Vorlage (Template). Dieses Template reagiert auf den "type" address und den "key", in unserem Fall privat oder alt. Alles HINTER dem key muss immer gleich sein, Sie können also für Ihre Feldnamen nicht "meine_neue_Adresse" verwenden sondern es MUSS "neue_address_street" oder "andere_address_street" etc. heißen. Speichern Sie die Datei.
Schritt 7: Wiederholen Sie das Spielchen für die detailviewdefs.php
Schritt 8: Wenn Sie das Anzeigeformat der Adressem auf deutsch umgestellt haben dann wissen Sie sicher was Sie tun, ansonsten sehen Sie bitte bei den anderen Adressen nach was dort gemacht wurde.
Wie immer: Alle von uns veröffentlichten Tipps & Tricks sind OHNE JEGLICHE GEWÄHR. Eine Änderung an Ihrem System erfolgt ausschließlich auf eigene Gefahr. Bitte machen Sie daher vor JEDEM Eingriff eine Kopie der Datenbank UND Ihres Sugar Verzeichnisses bzw. arbeiten Sie gleich auf einer Testversion. Better safe than sorry...
|
iscon Login
Neues
Tipps & Tricks
- Telefonnnummer zu Notizen
- Interessent nach Umwandlung automatisch löschen
- SugarCRM - Icons für Schnellzugriffe
- Neues gruppiertes Adressfeld erstellen
- Firma in Verkaufschance nicht verpflichtend machen
- Interessent ohne Firma konvertieren
- Subpanels in Kontaktlisten
- Nach Hause Telefonieren unterbinden
- Werbung im Admin Teil entfernen
- E-Mails in SugarCRM archivieren
Blog Beiträge
- iPad nano
- Das Internet - Kommentar aus 1995 (eng)
- Wie viele Forenmitglieder braucht man zum Wechseln einer Glühbirne?
- Interessanter Vergleich Stone - iPad
- Was bedeutet "upgrade sicher"
- SugarCRM CEO John Roberts gefeuert
- Matt Assay über die Verpflichtung beim Software Kauf
- Kristallkugel
- The Land of the Free and the Home of the Brave
- Das Open Source Problem


