Используйте флажок Веб-сайт/По умолчанию для поля формы виджета Mage Adminhtml Block
У меня есть форма в разделе администратора, которая имеет дело с пользовательской сущностью. У этой сущности есть основная таблица, а затем таблица для хранения параметров на уровне хранилища. Мне интересно, можно ли использовать те же флажки в моей форме, что и на странице редактирования конфигурации или продукта, при изменении области действия.
Моя форма расширяется Mage_Adminhtml_Block_Widget_Form
, и я добавляю поля следующим образом.
$fieldSet->addField(
'field_code',
'text',
array(
'label' => Mage::helper('myhelper')->__('Field Label'),
'class' => '',
'required' => false,
'name' => 'field_code',
)
);
Я уже добавил переключатель области через layout.xml и сохраните значения сущностей для область действия в отдельной таблице, которая все хорошо работает.
Но было бы здорово, если бы пользователю не нужно было вводить эти значения, если он хотел использовать запись области по умолчанию.
ПРИМЕЧАНИЕ: Я видел, как некоторые люди использовали after_element_html
раньше для добавления элементов, но я подумал, что может быть основная функция, которая сделает это.
1 answers
Не уверен, что это решение вашей проблемы, но это может быть подсказкой в правильном направлении.
Вы можете указать пользовательский элемент, отображаемый на любой из вкладок вашей формы, следующим образом (пример взят из модуля каталога):
protected function _prepareLayout()
{
Varien_Data_Form::setElementRenderer(
$this->getLayout()->createBlock('adminhtml/widget_form_renderer_element')
);
Varien_Data_Form::setFieldsetRenderer(
$this->getLayout()->createBlock('adminhtml/widget_form_renderer_fieldset')
);
Varien_Data_Form::setFieldsetElementRenderer(
$this->getLayout()->createBlock('adminhtml/catalog_form_renderer_fieldset_element')
);
}
Последний метод устанавливает блок визуализации элементов. Вы можете попытаться использовать это, но я думаю, что вы получите некоторые ошибки, потому что это предназначено для объектов подслушивания.
Вы можете создать блок, который расширяет Mage_Adminhtml_Block_Catalog_Form_Renderer_Fieldset_Element
, и добавить к нему пользовательский шаблон, аналогичный catalog/form/renderer/fieldset/element.phtml
где вы можете добавить свои флажки или что-нибудь еще.