Показать изображение в generateList () в backoffice - PullRequest
0 голосов
/ 13 февраля 2019

Я хотел бы отображать изображения через вспомогательную функцию в бэк-офисе.В документации говорится, что вы можете добавить следующее:

    ['image'] => 's',                              // If set, an image will be displayed in this field located in the '/img' subfolder defined as value here (optional).
    ['image_id'] => 3,                             // If 'image' is set abd if 'image_id' is set, it will be used as the image filename,
                                                   // else the record item id will be used (optional)

Я пытался заменить список контента добавлением HTML, очевидно, это не красиво и не работает.

public function renderBanners()
{
     $fields_list = array(
        'id_product' => array(
            'title' => $this->l('Id product'),
            'type' => 'text',
            'orderby' => true,
        ),
        'id_category' => array(
            'title' => $this->l('Id category'),
            'type' => 'text',
            'orderby' => false,
        ),
        'image_desktop' => array(
            'title' => $this->l('Image desktop'),
            'type' => 'image',
            'image' => $this->name
        ),
        'image_mobile' => array(
            'title' => $this->l('Image mobile'),
            'type' => 'text',
        ),
        'from_date' => array(
            'title' => $this->l('From date'),
            'type' => 'text',
            'orderby' => false,
        ),
        'to_date' => array(
            'title' => $this->l('To date'),
            'type' => 'text',
            'orderby' => false,
        ),
        'active' => array(
            'title' => $this->l('active'),
            'type' => 'text',
            'orderby' => false,
        ),
    );
    $helper = new HelperList();
    $helper->shopLinkType = '';
    $helper->no_link = true;
    $helper->list_no_link = false;
    $helper->identifier = 'id_insanetopbanner';
    $helper->actions = array('delete', 'edit');
    $helper->show_toolbar = true;
    $helper->imageType = 'jpg';
    $helper->toolbar_btn['new'] = array(
        'href' => AdminController::$currentIndex.'&configure='.$this->name.'&addBanner&token='.Tools::getAdminTokenLite('AdminModules'),
        'desc' => $this->l('Add new')
    );
    $helper->title = $this->l('Banners');
    $helper->table = $this->name;
    $helper->token = Tools::getAdminTokenLite('AdminModules');
    $helper->currentIndex = AdminController::$currentIndex . '&configure=' . $this->name;
    $list_content = $this->getListContent();
    $helper->listTotal = count($list_content);
    return $helper->generateList($list_content, $fields_list);
}

Я хотел бы использовать собственный код PrestaShop, чтобы изображение отображалось в списке в офисе.

...