2012-03-28 2 views
2

У меня проблема с функцией CakePHP __().Cakephp language translation not printing value

Пожалуйста, смотрите код ниже:

$options = array('1'=>__('SMS | Email'),'2'=>__('Favourite Them')); 
echo $form->input('action', array('options' => $options,'empty'=>__('Please select'),'div'=>false,'label'=>false,'class'=>'Srch_fld_comb')); 

Это не будет печатать любые значения, только я мог видеть, нулевые значения.

Но ниже работает отлично:

$options = array('1'=>'SMS | Email','2'=>'Favourite Them'); 
echo $form->input('action', array('options' => $options,'empty'=>'Please select','div'=>false,'label'=>false,'class'=>'Srch_fld_comb')); 

Пожалуйста, сообщите мне. Я использую CAKEPHP 1.3.X

+0

Пожалуйста, обратите внимание, что это будет хорошо с CakePHP 2.x. Для CakePHP 1.3 см. Ответ герцога. – nIcO

+0

@nlcO Спасибо за информацию – user1297865

ответ

2

Проблема не в функции __(), вы забываете добавить параметр false/true в свой код.

По умолчанию он будет ложным и будет работать как обычное эхо. Но, если вы используете его в другой строке, он должен быть правдой, поэтому он просто возвращает значение.

Смотрите пример ниже:

$options = array('1'=>__('SMS | Email',true),'2'=>__('Favourite Them',true)); 
echo $form->input('action', array('options' => $options, 'empty'=>__('Please select',true),'div'=>false,'label'=>false,'class'=>'Srch_fld_comb'));