Я создаю приложение CakePHP с формой, которая генерирует значения по умолчанию (сейчас это только данные-заполнители, пока это не будет решено), которые добавляются в таблицу.Форма работает, она прекрасно вставляет запись, но по какой-то причине форма использует только первый символ значений по умолчанию.Так, например, «Заголовок» имеет только символ «t» в форме, «Содержимое» имеет только «c» и т. Д.
Когда я pr ($ this-> data), все данные-заполнителиесть.Я могу отредактировать их и добавить больше текста, который сохраняется нормально, так что это не проблема длины поля формы.Где-то между $ this-> data и $ this-> Form-> input значения по умолчанию усечены.Я не знаю, с чего начать устранение неполадок.Я ничего не смог найти здесь, и я мог найти только одно упоминание об этой проблеме, прибегая к помощи, которая не была решена.
Cakephp 1.3.6, PHP 5.3.3, Linux
Спасибо за вашу помощь
Результаты пр ($ this-> data):
Array
(
[title] => title
[content] => content
[media_url] => media_url
)
Просмотр:
<? pr($this->data); ?>
<div class="generators form">
<?php echo $this->Form->create('Generator');?>
<fieldset>
<legend>Create New Post</legend>
<?php
echo $this->Form->input('title');
echo $this->Form->input('content');
echo $this->Form->input('publish_date');
echo $this->Form->input('media_url');
?>
</fieldset>
<?php echo $this->Form->end('Create Post');?>
</div>
Контроллер:
<?php
class GeneratorsController extends AppController {
var $name = 'Generators';
function posts()
{
// save the post
if (!empty($this->data)) {
$this->Generator->create();
if ($this->Generator->save($this->data)) {
$this->Session->setFlash(__('The post has been created', true));
$this->redirect(array('action' => 'posts'));
// TODO: call posting app
} else {
$this->Session->setFlash(__('There was a problem. Please, try again.', true));
}
}
else
{
// create post
$this->data['title'] = "title";
$this->data['content'] = "content";
//$this->data['publish_date'] = "";
$this->data['media_url'] = "media_url";
}
}
}
?>
Модель:
<?php
class Generator extends AppModel {
var $name = 'Generator';
var $displayField = 'title';
}
?>