最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > Magento > Magento教程 >

如何在magento管理中添加国家和州下拉列表

时间:2014-05-28 23:46来源:未知 作者:最模板zuimoban 点击:
我哭鼻子能够创建此适当的方式,像 magento 不会,但如果你将拥有的所有国家的所有状态然后我觉得这是最完美的解决方案。 如果您没有为所有国家的所有状态然后此模块不被,解决你的问题

我哭鼻子能够创建此适当的方式,像 magento 不会,但如果你将拥有的所有国家的所有状态然后我觉得这是最完美的解决方案。如果您没有为所有国家的所有状态然后此模块不被,解决你的问题。如果任何人知道的正确方式然后请添加该解决方案通过注释。我在这里描述我到底怎么。

打开您的窗体,则在 Yournamespace/Modulename/Block/Adminhtml/Modulename/Edit/Tab/Form.php 中添加字段的下方

  1. $country = $fieldset->addField(‘country’, ‘select’, array(
  2.             ‘name’  => ‘country’,
  3.             ‘label’     => ‘Country’,
  4.             ‘values’    => Mage::getModel(‘adminhtml/system_config_source_country’) ->toOptionArray(),
  5.             ‘onchange’ => ‘getstate(this)’,
  6.         ));
  7.  
  8. $fieldset->addField(‘state’, ‘select’, array(
  9.             ‘name’  => ‘state’,
  10.             ‘label’     => ‘State’,
  11.             ‘values’    => Mage::getModel(‘modulename/modulename’)
  12.                             ->getstate(‘AU’),
  13.         ));
  14.  
  15.          /*
  16.          * Add Ajax to the Country select box html output
  17.          */
  18.         $country->setAfterElementHtml(“<script type=“text/javascript”>
  19.             function getstate(selectElement){
  20.                 var reloadurl = ‘”. $this
  21.                  ->getUrl(‘modulename/adminhtml_modulename/state’) . country/ + selectElement.value;
  22.                 new Ajax.Request(reloadurl, {
  23.                     method: ‘get’,
  24.                     onLoading: function (stateform) {
  25.                         $(‘state’).update(‘Searching…’);
  26.                     },
  27.                     onComplete: function(stateform) {
  28.                         $(‘state’).update(stateform.responseText);
  29.                     }
  30.                 });
  31.             }
  32.         </script>“);

 

现在创建的 modulenamecontroller.php 文件,将会像这样的国家行动
 

  1.  public function stateAction() {
  2.         $countrycode = $this->getRequest()->getParam(‘country’);
  3.         $state = “<option value=”>Please Select</option>”;
  4.         if ($countrycode != ) {
  5.             $statearray = Mage::getModel(‘directory/region’)->getResourceCollection() ->addCountryFilter($countrycode)->load();
  6.             foreach ($statearray as $_state) {
  7.                 $state .= “<option value=’” . $_state->getCode() . “‘>” . $_state->getDefaultName() . “</option>”;
  8.             }
  9.         }
  10.         echo $state;
  11.     }
(责任编辑:最模板)
------分隔线----------------------------
栏目列表
推荐内容