Как управлять содержимым (текстом) для отображения в $ form-> input? - PullRequest
0 голосов
/ 12 мая 2011

люди. Я начинаю с CakePHP и после просмотра этого урока ( http://book.cakephp.org/view/1543/Simple-Acl-controlled-Application ), а также после использования команды «торт-пирог» для создания моего модели, контроллеры и просмотры, все нормально, но когда я посещаю Добавить добавить представление (просмотров \ сообщений \ add.php), я нахожу, что вместо отображения входного текста для имя пользователя, он показывает выбор со всеми именами пользователей.

это строка в представлении добавления сообщения, в которой отображается выбор.

echo $this->Form->input('user_id');

PostsController :

function add() {
// Some other code  
    $users = $this->Post->User->find('list');
    $this->set(compact('users'));
}

Хотя я знаю, как отображать только имя пользователя в настоящее время вошедший в систему пользователь, я не знаю, как управлять контентом для отображения в $ this-> Form-> input (), потому что если я использую переменную, которая не является частью модель "Post" показана, но в качестве метки для ввода.

У вас есть идеи, как решить эту проблему?

P.S. Я пытался найти эту информацию в кулинарной книге, но не смог найти ничего конкретного для моей ситуации: (

Ответы [ 2 ]

1 голос
/ 18 мая 2011

Если вы хотите добавить строку в качестве значения ввода, попробуйте это:

echo $form->input('my label text',array('value'=>'the value string','type'=>'hidden')); 

Это сделает скрытый ввод и установит значение.
Или удалите type=>hidden, и он будет иметь значение, вы также можете добавить туда такие вещи, как disabled и тому подобное, или изменить div, который он создает, использовать div'=>array() и поместить свои параметры div в это массив ... надеюсь, это поможет.

1 голос
/ 14 мая 2011

Я бы хотел помочь вам в этом.

Прежде всего, когда вы хотите текстовое поле, вы должны определить тип поля ввода.

echo $form->input('user_id', array('type'=>'text', 'label'=false));

Я надеюсь,это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...