ответ не правильно .. из-за его не только dfined поле в базе данных, также должны захватить и хранится в особым образом значения, в этом примере я demostrate хранить как «1,2,3,6,8» с использованием одного поля
ПОЛНЫЙ КОД И ВСЕ ШАГИ нА: https://groups.google.com/forum/m/?hl=es#!topic/venenuxsarisari/z8vfPsvFFjk
здесья поставил только самые важные части ..
как упоминалось ИНТ он предыдущей ссылке, добавлена новая FIEL в определении модели, класса и таблицы SQL
разрешений
этот метод, чтобы хранить в БД, как «1 , 2,3 ", так что вы можете использовать только одно поле для связи, что несколько выбранных значений, лучше использовать групповой ящик, но его довольно сложно, посмотрите на класс контроллера AdminCustomers в каталоге контроллеров prestachop, у этого есть многосегментная группа, которая использовала событие реляционной таблицы, сохраненное в одном поле
затем в хелперов виде списка массива входов определяют отборное как:
в начале DonT Foget к добавил, что линия:
// aqui el truco de guardar el multiselect como una secuencia separada por comas, mejor es serializada pero bueh
$this->fields_value['id_employee[]'] = explode(',',$obj->id_employee);
это $ OBJ являются представление загруженного ранее сохраненного значения, когда перейдите к редактированию ... из этого объекта, получите сохраненное значение поля вашего мультиселектора, сохраненное как «1,3,4,6»
, а в полевой форме вспомогательный список входов определяет множественный выбор as:
array(
'type' => 'select',
'label' => $this->l('Select and employee'),
'name' => 'id_employee_tech',
'required' => false,
'col' => '6',
'default_value' => (int)Tools::getValue('id_employee_tech'),
'options' => array(
'query' => Employee::getEmployees(true), // el true es que solo los que estan activos
'id' => 'id_employee',
'name' => 'firstname',
'default' => array(
'value' => '',
'label' => $this->l('ninguno')
)
)
),
затем переопределить процесс пост слишком
public function postProcess()
{
if (Tools::isSubmit('submitTallerOrden'))
{
$_POST['id_employee'] = implode(',', Tools::getValue('id_employee'));
}
parent::postProcess();
}
этой марки, хранящейся в БД, как «1,2,3»
Я просто ответил здесь подобное (или же) проблема: HTTP: //stackoverflow.com/questions/27731117/prestashop-set-multiple-select-from-the-module-and-get-them-in-the-input Пожалуйста, используйте это как руководство для удовлетворения требований хелпера формы и создания вашей формы Правильный способ! – Jamol