Hallo !
Kann mir jemand sagen, wie ich die (endloslaaaaange) Länderliste bearbeiten kann...bzw Reihung der Länder verändern kann...
Danke Euch !
Hallo !
Kann mir jemand sagen, wie ich die (endloslaaaaange) Länderliste bearbeiten kann...bzw Reihung der Länder verändern kann...
Danke Euch !
HI
in der Datei system/config/countries.php kannst du die Reihenfolge der Länder im Array beliebig verändern. Du solltest allerdings darauf achten, dass diese Änderungen nicht updatesicher sind.
Sebastian
Ich arbeite beim Linux-Systemhaus ETES in Stuttgart
Tach Klaus,
Schau mal unter '/system/modules/backend/languages/de/countries.php' nach.
Dort siehst du die ganzen Länder die verfügbar sind.
Bearbeiten aber bitte nicht dort, sondern einfach deinen Code in TL_ROOT/system/config/langconfig.php kopieren.
TL durchläuft automatisch diese Datei nach der Originaldatei und überschreibt den Wert, wenn was drin steht. So bleibt die Sache updatesicher
Contao Core-Entwickler @terminal42 gmbh
Wir sind Contao Premium-Partner!
Für Individuallösungen kannst du uns gerne kontaktieren.
PS: Heute schon getrakked?
HI
aha, ich denke Toflar hat Recht. Wofür ist denn dann die oben genannte Datei?
Sebastian
Ich arbeite beim Linux-Systemhaus ETES in Stuttgart
Meiner Meinung nach funktioniert das so:
- system/config/countries.php - definiert alle Länder in einem Array
- system/modules/backend/languages/de/countries.php - überschreibt das Array mit der entsprechenden Sprache
- system/config/langconfig.php wird nach den beiden Files gerendert und ist deshalb die letzte Instanz, die alles überschreiben kann
TL ist genial
Contao Core-Entwickler @terminal42 gmbh
Wir sind Contao Premium-Partner!
Für Individuallösungen kannst du uns gerne kontaktieren.
PS: Heute schon getrakked?
HI
sehr genial, Toflar (sowohl du als auch TL). Auf den Zusammenhang bin ich jetzt nicht gekommen...
Ich meine jedoch, dass man in den Sprachdateien nur die Namen umstellen kann, die Reihenfolge muss man in der oben erwähnten Datei ändern, ich kann mich aber auch irren.
Sebastian
Ich arbeite beim Linux-Systemhaus ETES in Stuttgart
Hallo !
Danke für die Hilfe...komme aber echt noch nicht klar damit..
Möchte ja nur diese 3 Länder...PHP-Code:
$GLOBALS['TL_LANG']['CNT']['at'] = 'Österreich';
$GLOBALS['TL_LANG']['CNT']['de'] = 'Deutschland';
$GLOBALS['TL_LANG']['CNT']['ch'] = 'Schweiz';
Habe die auch in die lanconfig.php kopiert...
...aber es ändert sich leider nichts...
möchte aber doch nicht die countries.php verändern...soll ein sauberes system bleiben.
Hmm ich glaube das dürfte relativ schwierig werden...hab mal gerade ein bisschen nachgeforscht und die Funktion gefunden, die das Länder-Array bildet:
Scheinbar müsstest du demnach trotzdem die system/config/countries.php anpassen.PHP-Code:
protected function getCountries()
{
$return = array();
$countries = array();
$this->loadLanguageFile('countries');
include(TL_ROOT . '/system/config/countries.php');
foreach ($countries as $strKey=>$strName)
{
$return[$strKey] = strlen($GLOBALS['TL_LANG']['CNT'][$strKey]) ? $GLOBALS['TL_LANG']['CNT'][$strKey] : $strName;
}
$aux = array();
foreach (array_values($return) as $cntr)
{
$aux[] = $cntr;
}
array_multisort($aux, SORT_ASC, $return);
return $return;
}
Wie man hier ebenfalls sieht, wird die Reihenfolge ASC (aufsteigend) bestimmt.
Das wäre aber dann nicht mehr updatesicher.
Bin mir aber fast zu 100% sicher, dass es auch schöner ginge und ich einfach zu wenig php Kenntnisse dafür habe.
Deshalb: Verwende diese Lösung, bis jemand hier die richtige Lösung präsentiert!
Contao Core-Entwickler @terminal42 gmbh
Wir sind Contao Premium-Partner!
Für Individuallösungen kannst du uns gerne kontaktieren.
PS: Heute schon getrakked?
@toflar
Danke dir jedenfalls...habe ja gerade mal angefangen mit typolight und brauche sicher noch einige zeit bis meine website online gehen kann...viele kleine hürden...aber es macht spaß !
da es ja auch eine typolight shop gibt..bin ich mir sicher es wird bald jemand sich etwas einfallen lassen...weil beim bestellen nervt die lange Länderliste...kenne das von Oscommerce...
Hallo Klaus,
vor dem Problem stand ich auch, als ich für mein Bestellsystem die Länder eingrenzen wollte. Bei mir sieht die Lösung so aus:
Deine Funktion zur Einschränkung wäre natürlich anders, aber der Weg über options_callback geht.Code:$GLOBALS['TL_DCA']['tl_member']['fields']['country']['options_callback'] = array('chshopCountries', 'listCountries'); class chshopCountries extends Backend { public function listCountries() { if (TL_MODE == 'BE') { $countries = $GLOBALS['TL_LANG']['CNT']; } else { $tmp_countries = array(); $this->import('Database'); $result = $this->Database->prepare("SELECT countries FROM tl_chshop_zones")->execute(); while($result->next()) { $tmp_countries = array_merge(unserialize($result->countries), $tmp_countries); } foreach($tmp_countries as $country) { $countries[$country] = $GLOBALS['TL_LANG']['CNT'][$country]; } } return $countries; } }
Grüße,
Christian
Contao-Partner am Niederrhein
Templating - Komplettservice - Erweiterungen
Infos: http://delahaye.de
Hi,
ich komme mit der Lösung von Christian nicht so ganz klar.
Kommt der Code in die langconfig.php?
Wo und wie werden die Länder die in der Liste erscheinen sollen im Code definiert?
Danke schon mal!
Gruß Matthias
Ich greife das Thema kurz auf, also meine Lösung ist weitgehend Update sicher und einfach: einfach in der countries.php die gewünschten Länder auskommentieren und per CHMOD die Schreibrechte entfernen bzw. auf 444 setzen.
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen