在我的项目中,我必须以两种语言显示网上商店。默认情况下,您可以选择具有以下代码的语言:
app/design/frontend/base/default/template/page/switch/language.phtml
<?php if(count($this->getStores())>1): ?>
<div class="form-language">
<label for="select-language"><?php echo $this->__('Your Language:') ?></label>
<select id="select-language" title="<?php echo $this->__('Your Language') ?>" onchange="window.location.href=this.value">
<?php foreach ($this->getStores() as $_lang): ?>
<?php $_selected = ($_lang->getId() == $this->getCurrentStoreId()) ? ' selected="selected"' : '' ?>
<option value="<?php echo $_lang->getCurrentUrl() ?>"<?php echo $_selected ?>><?php echo $this->htmlEscape($_lang->getName()) ?></option>
<?php endforeach; ?>
</select>
</div>
<?php endif; ?>
这当然会显示一个选择框,其中的选项是所有语言。
但是,我想更改它以使其成为单独的链接。我真的不知道该怎么做。
这就是我现在所拥有的。
<?php if(count($this->getStores())>1): ?>
<div class="form-language">
<?php foreach ($this->getStores() as $_lang):?>
<a href="" title=""><?php echo $this->htmlEscape($_lang->getName()) ?></a>
<?php endforeach;?>
</div>
<?php endif; ?>
PS:我没有在默认的magento代码中改变这个。我在 app/design/frontend/default/projectname/template/page/switch/language.phtml 工作。
所以我设法用这段代码自己完成了这个工作:
<?php if(count($this->getStores())>1): ?>
<div class="form-language">
<?php foreach ($this->getStores() as $_lang):?>
<a href="<?php echo Mage::getUrl() . '?___store=' . $_lang->getId()?>" title=""><?php echo $this->htmlEscape($_lang->getName()) ?></a>
<?php endforeach;?>
</div>
<?php endif; ?>
但是现在当我切换语言时。它重定向到主页。我发现我应该使用:
$_lang->getCurrentUrl()
但我不知道把它放在我的代码中的什么地方。