Изображение заголовка OpenCart 3 из модуля - PullRequest
0 голосов
/ 30 мая 2019

Я хотел бы добавить изображение в качестве фона, выбрав из модуля. Новое расширение создается под именем starter_module.

Пожалуйста, не предлагайте добавлять изображение в css файл.

Изображение, установленное в модуле, не сохраняется, это может быть проблемой, если вы знаете решение, пожалуйста, добавьте свой комментарий.

Большое спасибо,

Я добавил в: admin / view / template / extension / module / starter_module.twig

<div class="form-group">
        <label class="col-sm-2 control-label" for="input-headbg">Header Image</label>
        <div class="col-sm-10">
        <a href="" id="thumb-headbg" data-toggle="image" class="img-thumbnail">
        <img src="{{ headbg }}" alt="" title="" data-placeholder="{{ placeholder }}" />
        </a>
        <input type="hidden" name="config_headbg" value="{{ config_headbg }}" id="input-headbg" />
    </div>
</div>

В admin / controller / extension / module / starter_module.php

//Top page
// Module Image
$this->model_setting_setting->editSetting('config_headbg', $this->request->post);
// Module Image
// Module Image

if (isset($this->request->post['config_headbg'])) {
    $data['headbg'] = $this->request->post['config_headbg'];
} else {
    $data['headbg'] = $this->config->get('config_headbg');
}
$this->load->model('tool/image');

if (isset($this->request->post['config_headbg']) && is_file(DIR_IMAGE . $this->request->post['config_headbg'])) {
    $data['headbg'] = $this->model_tool_image->resize($this->request->post['config_headbg'], 100, 100);
} elseif ($this->config->get('config_headbg') && is_file(DIR_IMAGE . $this->config->get('config_headbg'))) {
    $data['headbg'] = $this->model_tool_image->resize($this->config->get('config_headbg'), 100, 100);
} else {
    $data['headbg'] = $this->model_tool_image->resize('no_image.png', 100, 100);
}
$data['placeholder'] = $this->model_tool_image->resize('no_image.png', 100, 100);

// Module Image

В каталоге / контроллер / общий / header.php

if (is_file(DIR_IMAGE . $this->config->get('config_headbg'))) {
    $data['headbg'] = $server . 'image/' . $this->config->get('config_headbg');
} else {
    $data['headbg'] = '';
}

В каталоге / view / theme / default / template / common / header.twig


{{ headbg }}

Большое спасибо,

Файлы, которые вы здесь проверяете https://github.com/bblori/OpenCart3-Module-Header-Image

1 Ответ

0 голосов
/ 30 мая 2019

Я новичок в opencart, но из того, что я вижу в вашей форме, ввод называется headbg <input type="hidden" name="headbg" value="{{ config_headbg }}" id="input-headbg" /> и в контроллере администратора вы проверяете config_headbg if (isset($this->request->post['config_headbg']))

...