我有一个国家列表助手实现得很好,可以很愉快地选择。
我现在想解决的一件事是如何输出所选国家/地区以查看...
助手样本:
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']; ?>
</dd>
非常感谢提前!
答案 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']);