国家下拉列表输出查看

时间:2011-07-29 17:23:12

标签: php cakephp cakephp-1.3

我有一个国家列表助手实现得很好,可以很愉快地选择。

我现在想解决的一件事是如何输出所选国家/地区以查看...

助手样本:

class CountryListHelper extends FormHelper { 

    var $helpers = array('Form'); 

function select($fieldname) {
$list = $this->Form->input($fieldname , array(
    'type' => 'select', 'label' => 'Country of Residence', 'options' => array(
        '' =>   'Please select a country',
        'AF' => 'Afganistan',
        'AL' => 'Albania',
        'DZ' => 'Algeria',
        'AS' => 'American Samoa',
        'AD' => 'Andorra', 
        'AO' => 'Angola',
        'AI' => 'Anguilla',
        'AQ' => 'Antarctica',

编辑和添加视图中的代码:

echo $this->CountryList->select('country');

存储的数据只是首字母缩略词(如帮助程序代码片段所示),这是输出到view.ctp(例如AF)的内容。 有没有办法从帮助器中检索以将完整的国家/地区名称与首字母缩写词匹配并将其推送到view.ctp?

来自view.ctp的

我试图修改的片段,以显示完整的国家/地区名称,仅作为首字母缩略词。

<dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Country of Residence'); ?></dt>
        <dd<?php if ($i++ % 2 == 0) echo $class;?>>
            <?php echo $user['User']['country']; ?>
            &nbsp;
        </dd>

非常感谢提前!

1 个答案:

答案 0 :(得分:1)

class CountryListHelper extends AppHelper { 
   var $helpers = array('Form'); 
   var $countries = array(
    'AF' => 'Afganistan',
    'AL' => 'Albania',
    'DZ' => 'Algeria',
    ...)
function getCountry($country){
   return $this->countries[$country]; 
}
function select($fieldname){
   $list = $this->Form->input($fieldname , array(
   'type' => 'select', 'label' => 'Country of Residence', 'options' => $countries)

从视图中调用:

echo $this->CountryList->getCountry($user['User']['country']);