Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Sortierung der erlaubten Länder ändern? Probleme mit Umlauten - Österreich ganz unten in der liste
 
mischah
Member
 
Total Posts:  33
Joined:  2008-04-22
Germany
 

Hallo zusammen,

ich würde gerne auf die Sortierung der erlaubten Länder Einfluss nehmen.

Denn sowohl im Backend unter System -> Konfiguration -> Allgemein als auch im Frontend bei der Adresseingabe (z.B innerhalb der Kasse) landen Länder die mit Umlauten beginnen ganz unten in der Liste.

Das ist zwar kein Weltuntergang, aber dennoch ein wenig unschön.

Ich habe mich schon durch den Core gewühlt und habe da einige Dateien gefunden, die mit dem Zusammensetuzen der Länerliste zu tun haben, allerdings ist der Code so verschachtelt und für mich komplex, dass ich keinen Ansatz finde.

Zur Info.
/app/design/frontend/default/default/template/checkout/onepage/billing.phtml
Hier wird die Funktion getCountryHtmlSelect(’billing’) aufgerufen.

Diese befindet sich in der Datei /app/code/core/Mage/Directory/Block/Data.php und ruft wieder jede Menge andere Funktionen auf. Ich blicke da nicht durch …

Hat jemand eine Idee, wie man auf die Sortierung Einfluss nehmen kann?

 
Magento Community Magento Community
Magento Community
Magento Community
 
marcel82
Jr. Member
 
Avatar
Total Posts:  8
Joined:  2009-08-20
 

Ich hatte das gleiche Problem und eine Lösung programmiert.

Ergänze die Funktion “getCountryHtmlSelect” vor der Zeile “$html = $this->getLayout()->createBlock(’core/html_select’)..”
mit folgendem Code:

for ($i=0;$i<count($options);$i++)
{
  $options[$i][
'label']=str_replace(utf8_encode('Ä'), 'Ae#'$options[$i]['label']);
  
$options[$i]['label']=str_replace(utf8_encode('Ö'), 'Oe#'$options[$i]['label']);
  
$options[$i]['label']=str_replace(utf8_encode('Ãœ'), 'Ue#'$options[$i]['label']);
}

foreach ($options as $key => $row{

    $value[$key]  
$row['value'];
    
$label[$key] $row['label'];
}

array_multisort
($labelSORT_ASC$valueSORT_ASC$options);

for (
$i=0;$i<count($options);$i++)
{
  $options[$i][
'label']=str_replace('Oe#'utf8_encode('Ö'), $options[$i]['label']);
  
$options[$i]['label']=str_replace('Ae#'utf8_encode('Ä'), $options[$i]['label']);
  
$options[$i]['label']=str_replace('Ue#'utf8_encode('Ãœ'), $options[$i]['label']);
}

Somit werden die Länder korrekt sortiert.

 
Magento Community Magento Community
Magento Community
Magento Community
 
mischah
Member
 
Total Posts:  33
Joined:  2008-04-22
Germany
 

Toll. Vielen Dank : ]

 
Magento Community Magento Community
Magento Community
Magento Community
 
loeffel
Guru
 
Avatar
Total Posts:  427
Joined:  2009-02-03
 

Super, danke auch von mir!!

 
Magento Community Magento Community
Magento Community
Magento Community
 
loeffel
Guru
 
Avatar
Total Posts:  427
Joined:  2009-02-03
 

Mit Magento v 1.5.1.0 scheint das nicht mehr zu funktionieren - hat das jemand in der aktuellen Version umsetzen können?

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top