У меня есть модуль, который получает значение из пользовательской таблицы, в которой есть идентификатор категории. Я хотел бы получить название категории в моем списке. Я попытался добавить таблицу соединения, но когда я получил значение в списке полей, оно пустое.
Цель проста, есть таблица в админке, где я могу получить значение из своей пользовательской таблицы и, кроме того,имя категории, связанной с идентификатором в моей пользовательской таблице.
Есть идеи?
include_once dirname(_PS_ROOT_DIR_).'\prestashop\modules\referencegenerator\classes\Shortcode.php';
class AdminReferenceGeneratorController extends ModuleAdminController
{
public function __construct()
{
parent::__construct();
$this->bootstrap = true; // use Bootstrap CSS
$this->table = 'referencegenerator'; // SQL table name, will be prefixed with _DB_PREFIX_
$this->identifier = 'id'; // SQL column to be used as primary key
$this->className = 'Shortcode'; // PHP class name
$this->allow_export = true; // allow export in CSV, XLS..
$this->_join .= ' LEFT JOIN `'._DB_PREFIX_.'category_lang` cl
ON (cl.`id_category` = `id_cat`
AND cl.`id_lang` = '.(int)$this->context->language->id.')';
$this->_defaultOrderBy = 'id'; // the table alias is always `a`
$this->_defaultOrderWay = 'DESC';
$this->fields_list = [
'id' => ['title' => 'ID','class' => 'fixed-width-xs'],
'id_cat' => ['title' => 'Id Cat'],
'name'=> ['title' => 'Cat Name'],
'shortcode' => ['title' => 'Shortcode'],
];
$this->addRowAction('edit');
$this->addRowAction('delete');
$this->addRowAction('details');
$this->fields_form = [
'legend' => [
'title' => 'Pasta',
'icon' => 'icon-list-ul'
],
'input' => [
['name'=>'id_cat','type'=>'text','label'=>'id_cat','required'=>true,],
['name'=>'shortcode','type'=>'text','label'=>'shortcode','required'=>true],
],
'submit' => [
'title' => $this->trans('Save', [], 'Admin.Actions'),
]
];
}
}
Класс:
<?php
class Shortcode extends ObjectModel {
public $id;
public $id_cat;
public $shortcode;
public static $definition = [
'table' => 'referencegenerator',
'primary' => 'id',
'fields' => [
'id_cat' => ['type' => self::TYPE_STRING, 'validate' => 'isAnything', 'required'=>true],
'shortcode' => ['type' => self::TYPE_STRING, 'validate' => 'isAnything', 'required'=>true],
],
];
}