Выпуск в отображении магазина Multi-Select Down Down в пользовательском модуле
-
12-12-2019 - |
Вопрос
У меня есть пользовательский модуль сообщества, в котором я хочу разрешить хранить мультифигурировать раскрывающуюся.
Я уже отображаю раскрывающуюся, но когда я сохраню его значение, а затем, если я редактирую форму, я не вижу выбранное значение, хотя значение хранится правильно в базе данных.
Может кто-нибудь позволит мне знать, что я пропускаю в форме?
Решение
Вы можете добавить это в свою форму .php
$fieldset->addField('store_id','multiselect',array(
'name' => 'stores[]',
'label' => Mage::helper('banners')->__('Store View'),
'title' => Mage::helper('banners')->__('Store View'),
'required' => true,
'values' => Mage::getSingleton('adminhtml/system_store')->getStoreValuesForForm(false, true)
));
.
, и вы должны иметь функцию в вашем модуле с функцией _afterLoad
class Mage_Banners_Model_Mysql4_Banners extends Mage_Core_Model_Mysql4_Abstract
{
public function _construct()
{
// Note that the banners_id refers to the key field in your database table.
$this->_init('banners/banners', 'banners_id');
}
protected function _afterLoad(Mage_Core_Model_Abstract $object)
{
$select = $this->_getReadAdapter()->select()
->from($this->getTable('banners_store'))
->where('banners_id = ?', $object->getId());
if ($data = $this->_getReadAdapter()->fetchAll($select)) {
$storesArray = array();
foreach ($data as $row) {
$storesArray[] = $row['store_id'];
}
$object->setData('store_id', $storesArray);
}
return parent::_afterLoad($object);
}
.
Вышеуказанные код предназначены только для вашей помощи, вы можете установить его в соответствии с именем столбца и таблицы базы данных
Не связан с magento.stackexchange