Opencart v2.3的多语言横幅

时间:2017-06-21 20:28:16

标签: opencart

我有一个包含多种语言的Opencart商店。横幅只能包含一张图片(无论选择何种语言),我为每种语言设计了横幅。

Opencart v 2.3.0.2

目录/./视图/主题/默认/模板/扩展/模块/的banner.tpl

<div id="banner<?php echo $module; ?>" class="owl-carousel">
  <?php foreach ($banners as $banner) { ?>
  <div class="item">
    <?php if ($banner['link']) { ?>
    <a href="<?php echo $banner['link']; ?>"><img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" class="img-responsive" /></a>
    <?php } else { ?>
    <img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" class="img-responsive" />
    <?php } ?>
  </div>
  <?php } ?>
</div>

1 个答案:

答案 0 :(得分:0)

您必须手动管理横幅图片文件(使用FTP),但这样的方法可能会有效:

  • 对于您要显示的每个横幅,请照常将其上传到admin。
  • 在保存图像的目录中,创建与您支持的语言对应的子目录(例如,&#34; en-gb&#34;)。
  • 此代码假设横幅位于catalog/demo/banners下。所以它只是添加了路径&#34; language_name&#34;在那之下。
  • 修改catalog/./view/theme/default/template/extension/module/banner.tpl以首先查看显示横幅的块中特定于语言的子目录。在2.3.0.2中,这看起来像:

<?php foreach ($banners as $banner) { $lang = $this->registry->get('language'); if (file_exists($lang . "/" . $banner['image'])) { $banner['image'] = str_replace("catalog/demo/banners", "catalog/demo/banners/$lang", $banner['image']); } } ?>

<div id="banner<?php echo $module; ?>" class="owl-carousel"> <?php foreach ($banners as $banner) { ?> <div class="item"> <?php if ($banner['link']) { ?> <a href="<?php echo $banner['link']; ?>"><img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" class="img-responsive" /></a> <?php } else { ?> <img src="<?php echo $banner['image']; ?>" alt="<?php echo $banner['title']; ?>" class="img-responsive" /> <?php } ?> </div> <?php } ?> </div>