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

Statt Auswahl der Sprache über Dropdown sollen Flaggen angezeigt werden. 
 
nod74
Member
 
Total Posts:  35
Joined:  2007-09-01
 

Wie der Titel schon sagt würde ich gerne die Sprachauswahl über flaggen steuern. Das Dropdown scheint ja so eingebunden zu sein:

<div class="language-switcher">
<
label for="select-language">Your Language: </label>
<
select id="select-language" onchange="[removed].href=this.value">
<
option value="http://www.xxxxxxxxx.eu/?___store=spanish&___from_store=english">Spanish</option>
<
option selected="selected" value="http://www.xxxxxxxxx.eu/?___store=english&___from_store=english">English</option>
<
option value="http://www.xxxxxxxxxxx.eu/?___store=german&___from_store=english">German</option>
</
select>
</
div>

Wenn ich nun das Dropdown mit drei Flaggen austausche und auf jede Flagge folgenden Link einfüge:

http://www.xxxxxxxxxxxxxxxx.eu/?___store=spanish&
http://www.xxxxxxxxxxxxxxxxxxxxxx.eu/?___store=german&
http://www.xxxxxxxxxxxxxxxxxxxxxx.eu/?___store=english&

wechselt zar die Sprache des Shops aber der User landet immer wieder auf der Startseite.

Hier muß sicher eine Javafunktion aufgerufen werden aber welche?

Wäre dankbar um Hinweise.

Grüße
Nod

 
Magento Community Magento Community
Magento Community
Magento Community
 
Sven Wappler
Jr. Member
 
Avatar
Total Posts:  9
Joined:  2008-11-16
Aachen, Germany
 

Moin,
Er landet wahrscheinlich immer auf der Startseite, weil du immer diese aufrufst. Und zwar steht jedes mal die URL deiner Root-Ebene im Link. Damit die URL auf der jeweiligen Seite, auf der sich der Besucher befindet, sich der aktuellen Seite anpasst, musst du in dein Template gehen, in die Datei <pfad zum skin>/template/page/switch/languages.phtml und diese entsprechend anpassen und dabei die Funktion <?php echo $_lang->getCurrentUrl() ?> verwenden. Am besten sich dies mal bei einem Theme wie “modern” mal abschauen.

 
Magento Community Magento Community
Magento Community
Magento Community
 
nod74
Member
 
Total Posts:  35
Joined:  2007-09-01
 

Super vielen Dank für den Hinweis werde ich gleich mal ausprobieren!

Danke
nod

 
Magento Community Magento Community
Magento Community
Magento Community
 
Sven Wappler
Jr. Member
 
Avatar
Total Posts:  9
Joined:  2008-11-16
Aachen, Germany
 

Ich will übrigens mir auch demnächst Flaggen einbauen. Nur habe ich erst am Sonntag mit Magento angefangen und prüfe noch, wie man einen Multilanguage-Store strukturell aufzieht. Zudem bin ich gerade dabei mein erstes eigenes Theme auf YAML-Basis zu erstellen und ich muss mich erst an dieses View-Schema gewöhnen.

 
Magento Community Magento Community
Magento Community
Magento Community
 
nod74
Member
 
Total Posts:  35
Joined:  2007-09-01
 

Ich hatte auch schon ewig auf ein YAML template gewartet. Aber da scheint sich seit geraumer Zeit nichts mehr zu tun.

 
Magento Community Magento Community
Magento Community
Magento Community
 
MarvinToys
Sr. Member
 
Avatar
Total Posts:  194
Joined:  2008-07-27
 

könnte jemand die eine fertige Codezeile hier rein setzten für eine shopsprache?
die restlichen Sprachen mach ich dann allein.
bei mir kommt immer: syntax error, unexpected ‘?’, expecting ‘)’

und zwar einfach nur nen imagetag was bei ‘Klick’ dann die Sprache wechselt + auf die aktuelle Seite,.,.,.Das mit der aktuellen Seite bekomm ich halt net hin. Da kommt immer Error.

Ich hatte erst die Flag.phtml in Magento aktiviert und Flagen zugewiesen. Aber das ist immernoch absoluter Quatsch. Namen+Flagge und Dropdown. Das Dropdown nimmt viel zu viel Platz weg im Header für nur 2 Sprachen. Da bin ich mit 2 Minibildern besser dran. Zumal der Titel sowieso dumm ist. Der dürfte eigentlich nicht übersetzt werden da ‘language’ in jeder Sprache verstanden wird, aber ‘Sprache wählen’ blickt doch kein anderssprachiger.  <--- Flaggen sieht man sofort, jeder weiß das es um Sprache geht und fertig.

Aber diese blöde Syntax fehler. Ich komme nicht dahinter wie das mit dem Sprachwechsel auf die aktuelle Seite ist. jedesmal Syntax error.

ThX
Danke schon mal im vorraus

 
Magento Community Magento Community
Magento Community
Magento Community
 
mago
Jr. Member
 
Avatar
Total Posts:  25
Joined:  2009-03-29
Germany
 

Ich habe, denke ich genau das gemacht, was du Dir da wünscht.
Dazu habe ich die languages.phtml so umgeschrieben, daß der select durch Flaggen-Links ersetzt wird.
Die languages.phtml habe ich dann vom head in eine sidebox umgesetzt.

<?php if(count($this->getStores())>1): ?>
<div class="box box-language">
    
<?php foreach ($this->getStores() as $_lang): ?>
        
<a href="<?php echo $_lang->getCurrentUrl() ?>"><img src="/skin/frontend/myTemplate/default/images/ar/<?php echo $this->htmlEscape($_lang->getName()) ?>.gif" border="0"></a>
    
<?php endforeach; ?>
</div>
<?php endif; ?>

Eigentlich ganz einfach grin

 
Magento Community Magento Community
Magento Community
Magento Community
 
MarvinToys
Sr. Member
 
Avatar
Total Posts:  194
Joined:  2008-07-27
 

DANKE DANKE DANKE

 
Magento Community Magento Community
Magento Community
Magento Community
 
mago
Jr. Member
 
Avatar
Total Posts:  25
Joined:  2009-03-29
Germany
 

Also, der Unterschied zu der flags.phtml ist schon sehr offensichtlich. Der OP hatte das Problem von der flags.phtml die Lösung, wie von mir beschrieben, abzuleiten.

 
Magento Community Magento Community
Magento Community
Magento Community
 
andi
Member
 
Avatar
Total Posts:  54
Joined:  2007-09-19
Munich
 

Hallo,

habe das Problem so gelöst:

<?php if(count($this->getStores())>1): ?>
<div class="box box-language">
    
<?php foreach ($this->getStores() as $_lang): ?>
        
<div class="flaggen"><a href="<?php echo $_lang->getCurrentUrl() ?>"><?php echo $this->htmlEscape($_lang->getName()) ?> <img src="<?php echo $this->getSkinUrl('images/'.$_lang->getName().'.gif') ?>" alt="Flagge <?php echo $this->htmlEscape($_lang->getName()) ?>" /></a></div>
    
<?php endforeach; ?>
</div>
<?php endif; ?>

Im Prinzip wird der Name der Sprache und rechts daneben die Flagge dargestellt, habe außerdem den Code in der Validität verbessert.

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