2011-07-29 8 views
0

私はカントリーリストのヘルパーをうまく実装していて、とても楽しく選択できます。表示するカントリードロップダウンリストの出力

は、私は今、うまくしようとしている一つのことは、どのように出力表示するには、選択した国...ヘルパーの

サンプルへ:

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'); 

のみ頭字語であり、これは、出力が(例えばAF)をview.ctpするためされているものです。 ヘルパーから検索して頭字語に完全な国名を一致させ、view.ctpにプッシュする方法はありますか?

snippet from view.ctp私はちょうど頭字語にapposedとして完全な国名を表示するように変更しようとしています。

<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
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']); 
+0

ないかなり私が求めていた - – Plastika

+0

少ないが:)私が書いていたかわからなかったおかげなし)固定。また、代わりにAppHelperから拡張する必要があります。 –

+0

大変感謝しています!最後に、この1つを発汗停止することができます.. – Plastika

関連する問題