我不能让Magento在内置的Magento iphone主题中显示货币和语言选择器(我使用的是Magento CE 1.7)。
显然,似乎函数"$this->getCurrencies()"
和函数"$this->getStores()"
都返回任何值。
奇怪的是,在我的安装中,货币和语言切换器都能正常使用桌面主题。
有没有人在内置移动主题中遇到过同样的问题?任何提示?
答案 0 :(得分:0)
我昨天用Magento 1.7.0.2遇到了同样的问题。您可以通过三个步骤将语言选择器添加到菜单中。
我认为您已将iphone设计包复制到您的包中。不修改核心文件和设计始终是最佳做法。
第1步
您必须将语言块添加到标题块中。在" checkout.links"之后将以下行添加到文件中阻止(在线70处)
前端/ [YOUR_PACKAGE] /iphone/layout/page.xml
<block type="page/switch" name="store_language" as="store_language" template="page/switch/languages.phtml"/>
第2步
您必须将render命令添加到相应的HTML模板中。将以下行添加到<dd class="menu-box">
块(第38行)中
前端/ [YOUR_PACKAGE] /iphone/template/page/html/header.phtml
<dd class="menu-box">
<?php echo $this->getChildHtml('topLinks') ?>
<?php echo $this->getChildHtml('checkoutLinks') ?>
<?php echo $this->getChildHtml('accountLinks') ?>
<?php echo $this->getChildHtml('store_language') ?> <!-- Add the language block here -->
</dd>
第3步
在原始iphone版本的HTML模板中有一些奇怪的东西。您必须用<li id="language-switcher">
替换HTML块<ul id="language-switcher">
。编辑语言模板
前端/ [YOUR_PACKAGE] /iphone/template/page/switch/languages.phtml
如下所示:
<?php if(count($this->getStores())>1): ?>
<ul id="language-switcher">
<a href="#"><?php echo $this->__('Language') ?>: <span id="current-language"></span></a>
<ol class="switcher-options" style="display:none;">
<?php foreach ($this->getStores() as $_lang): ?>
<?php $_selected = ($_lang->getId() == $this->getCurrentStoreId()) ? ' class="selected"' : '' ?>
<li<?php echo $_selected ?>>
<a href="<?php echo $_lang->getCurrentUrl() ?>"><?php echo $this->escapeHtml($_lang->getName()) ?></a>
</li>
<?php endforeach; ?>
</ol>
</ul>
<?php endif; ?>
如果指定了多种语言,您现在应该可以在幻灯片菜单的末尾看到语言切换器 对于其他街区,如&#34;商店&#34;您可以让自己受到基本/默认设计包的启发,就像我完成此任务一样:)。
答案 1 :(得分:0)
您好我按照您提供的所有示例进行操作,但主页上没有显示任何货币和语言选择器。