Para incluir el campo de países permitidos en la configuración de su módulo personalizado:
agregue lo siguiente al system.xml de su módulo
<sallowspecific translate="label">
<label>Ship to Applicable Countries</label>
<frontend_type>select</frontend_type>
<sort_order>90</sort_order>
<frontend_class>shipping-applicable-country</frontend_class>
<source_model>adminhtml/system_config_source_shipping_allspecificcountries</source_model>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>0</show_in_store>
</sallowspecific>
<specificcountry translate="label">
<label>Ship to Specific Countries</label>
<frontend_type>multiselect</frontend_type>
<sort_order>91</sort_order>
<source_model>adminhtml/system_config_source_country</source_model>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>0</show_in_store>
<can_be_empty>1</can_be_empty>
</specificcountry>
debajo de la <fields>
etiqueta en su sección personalizada.
Para agregarlo en el formulario de administrador:
en app / code / local / Yourmodulename / Block / Adminhtml / Yourmodulename / Edit / Tab / Form.php
$countryList = Mage::getModel('directory/country')->getResourceCollection()->loadByStore()->toOptionArray(true);
$fieldset->addField('allowed_countries', 'multiselect', array( /* "allowed_countries" is the column name in your custom table to store these values */
'name' => 'countries[]',
'label' => Mage::helper('yourmodulename')->__('Allowed Countries'),
'title' => Mage::helper('yourmodulename')->__('Allowed Countries'),
'required' => true, /* only if it is required */
'values' => $countryList,
));
Nota:
- Debe escribir la lógica para guardar los valores de selección múltiple en la base de datos en saveAction ()
para mostrar esto en la cuadrícula de administración:
Consulte este enlace .