Я пытаюсь локализовать существующее приложение cakephp. По большей части я работаю так, как хочу, но есть один сценарий, который я не могу понять.Локализация значения массива в CakePHP
Я использую форму помощника, чтобы создать форму, как это:
echo $this->Form->create('search', array('url' =>
array('controller' => '/',
'action' => '/search/searcher'),
'onsubmit'=>'return checkForm();',
'class'=>'find-form'));
echo '<fieldset>';
echo $this->Form->input('name', array(
'type'=>'hidden',
'div'=>false,
'id'=>'name',
'class'=>'nice',
'label'=>false,
'value'=>''
));
echo $this->Form->input('myvalue', array(
'type'=>'text',
'div'=>false,
'id'=>'searchval',
'class'=>'nice',
'value'=> __('Enter search string'),
'label'=>false));
Проблема с линии:
'value'=> __('Enter search string'),
Результирующий HTML выглядит следующим образом:
...
<fieldset>
<input type="hidden" name="data[search][name]"
id="name" value="" />
Enter Search String
<input name="data[search][myvalue]"
type="text"
id="searchval"
class="nice"
and so on.
Значение «Enter Search String» переведено правильно, но оно находится вне входного тега, поэтому оно отображается снаружи окна поиска.
Я пробовал различные перестановки кода, как:
'value'=> echo __('Enter search string'),
'value'=> `__('Enter search string')`,
И ничего не похоже на работу. Как я уже сказал, это работает в других областях зрения (в качестве значения массива, хотя), но я не могу заставить этого работать.
Кстати, код, прежде чем я начал выглядел следующим образом:
'value'=> 'Enter search string',
Любые идеи?
Спасибо за ваше время.
ding ding ding !! Это работало как чемпион, спасибо миллион. – user791194
Приятно слышать, что это сработало :) Удачи с остальной частью вашего проекта. – Oldskool