В настоящее время в моем файле /etc/system.xml я могу использовать это, чтобы просмотреть полный список регионов, которые хранятся в Magento, и отобразить их как множественный выбор. Это хорошо работает, однако я бы предпочел только тянуть через регионы для одной страны, например округа Великобритании или штаты США:
<counties translate="label">
<label>Counties</label>
<frontend_type>multiselect</frontend_type>
<sort_order>10</sort_order>
<source_model>adminhtml/system_config_source_allregion</source_model>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</counties>
Причина этого в том, что я добавил в систему множество регионов / штатов / округов, и теперь это не очень удобное поле для выбора нескольких пользователей.
UPDATE:
После того, как я сразу же не принял решения, представленные ниже, я вернулся к этой проблеме через некоторое время, чтобы составить собственное решение, основанное на предоставленных ответах.
Я скопировал приложение / код / core / Mage / Adminhtml / Model / System / Config / Source / Allregion.php в приложение / code / core / Mage / Adminhtml / Model / System / Config / Source / Ukregion.php
Затем я изменил определение класса на Mage_Adminhtml_Model_System_Config_Source_Ukregion.
Тогда я изменился:
$regionsCollection = Mage::getResourceModel('directory/region_collection')->load();
для включения фильтра страны:
$regionsCollection = Mage::getResourceModel('directory/region_collection')->addCountryFilter('GB')->load();
Теперь я получаю округа для Великобритании (которые мне пришлось редактировать самостоятельно, но это другая проблема в стиле истории-magento).
Наконец я изменил свой system.xml:
<counties translate="label">
<label>Counties</label>
<frontend_type>multiselect</frontend_type>
<sort_order>10</sort_order>
<source_model>adminhtml/system_config_source_ukregion</source_model>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</counties>
Использование «Великобритании» вместо «ГБ» является полностью преднамеренным - ГБ не включает округа NI, которые он просто использует по «унаследованным причинам». «Великобритания» включает Северную Ирландию, как и мой список округов.