我希望prefill textarea字段包含来自控制器的内容。如果我这样做是可行的:
<textarea name="parameters"
class="form-control"
id="parameters"
rows="{{ size }}"
disabled>
{% for i in contents %}
{{ i }}
{% endfor %}
</textarea>
但我不知道如何处理:
$form = $this->createFormBuilder()
->add('textarea', TextareaType::class,[
'data' => // $contents (it's an array)
我不使用实体,$ contents是一个数组填充:
file = fopen($newFile, "r+");
$contents = [] ;
while (($content = fgets($file)) !== false) {
array_push($contents, $content);
}
fclose($file);
任何想法都会交配? TY:D
答案 0 :(得分:0)
我认为问题在于de data是一个数组而Symfony无法将其转换为字符串。你可以试试这个:
$form = $this->createFormBuilder()->add(
'textarea',
TextareaType::class,
[
'data' => implode(' ' , $content)
]
我希望这可以帮到你
答案 1 :(得分:0)
感谢您的回答 JoseM.González,我稍后会尝试您的方法,因为在此期间我自己创建了一个解决方案啊!
看:
$file = fopen($newFile, "r+");
$contents = fread($file, filesize($newFile));
$form = $this->createFormBuilder()
->add('textarea', TextareaType::class, [
'data' => $contents,
'attr' => ['rows' => 100],
])
使用数组是一个坏主意,它更容易:)