为了账号安全,请及时绑定邮箱和手机立即绑定

商店设置中的 Opencart 3 多语言字段

商店设置中的 Opencart 3 多语言字段

PHP
慕哥6287543 2023-08-06 10:43:33
我想在 Opencart 3 商店设置中将“开放”字段设置为多语言。在admin\view\template\setting\setting.twig中。我找到了这些行:<div class="form-group">    <label class="col-sm-2 control-label" for="input-open"><span data-toggle="tooltip" data-container="#tab-general" title="{{ help_open }}"> {{ entry_open }}</span></label>    <div class="col-sm-10">      <textarea name="config_open" rows="5" placeholder="{{ entry_open }}" id="input-open" class="form-control">{{ config_open }}</textarea>    </div></div>我从 textarea - input 和 add {% for language in languages %}、语言标志和语言 ID 中进行了制作。{% for language in languages %}<div class="form-group">    <label class="col-sm-2 control-label" for="input-open{{ language.language_id }}"><img src="language/{{ language.code }}/{{ language.code }}.png" title="{{ language.name }}" /><span data-toggle="tooltip" data-container="#tab-general" title="{{ help_open }}"> {{ entry_open }}</span></label>    <div class="col-sm-10">        <input type="text" name="config_open[{{ language.language_id }}][title]" placeholder="{{ entry_open }}" id="input-open{{ language.language_id }}" value="{{ config_open[language.language_id] ? config_open[language.language_id].title }}" class="form-control" />    </div></div>{% endfor %}之后,在商店设置中,我有两种语言的“开放”字段。现在这些字段中的信息已被存储。在前端控制器中,我做了这个。$data['open'] = nl2br($this->config->get('config_open'));什么时候一种语言都可以工作,但现在我有一个错误:Warning: nl2br() expects parameter 1 to be string, array given in /var/www/fastuser/data/www/localstite.loc/storage/modification/catalog/controller/common/header.php on line 81
查看完整描述

1 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

已编辑...


相应的控制器文件必须包含以下代码:


$this->load->model('localisation/language');

    $languages = $this->model_localisation_language->getLanguages();

        

            foreach ($languages as $language) {

                if (isset($this->request->post[config_open' . $language['language_id']])) {

                    $data['config_open'][$language['language_id']] = $this->request->post['config_open' . $language['language_id']];

                } else {

                    $data['config_open'][$language['language_id']] = $this->config->get('config_open' . $language['language_id']);

                }   

            }

线:


 <input type="text" name="config_open[{{ language.language_id }}][title]" placeholder="{{ entry_open }}" id="input-open{{ language.language_id }}" value="{{ config_open[language.language_id] ? config_open[language.language_id].title }}" class="form-control" />

用。。。来代替:


 <input type="text" name="config_open{{ language.language_id }}" placeholder="{{ entry_open }}" id="input-open{{ language.language_id }}" value="{% if config_open[language.language_id] %}{{ config_open[language.language_id] }}{% endif %}" class="form-control" />

和前端线:


$data['open'] = nl2br($this->config->get('config_open'));

用。。。来代替:


$data['open'] = nl2br($this->config->get('config_open' . $this->config->get('config_language_id')));



查看完整回答
反对 回复 2023-08-06
  • 1 回答
  • 0 关注
  • 131 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号