我想制作一个包含27个问题的表格,并为每个问题提供相同的答案字段:
Question.yml
#question for the question Form, this are the question u have to answer
Questions:
- 'Question 1: Ich habe ziemlich regelmässig Tagträume und Fantasien über Dinge, die mir passieren Könnten'
- 'Question 2: Ich empfinde warmherzige Gefühle für Leute, denen es weniger gut geht als mir'
- 'Question 3: Manchmal fällt es mit schwer, die Dinge vom Standpunkt der anderen zu betrachten'
- 'Question 4: Hin und wieder tun mir Menschne sehr leid, wenn sie Probleme haben'
- 'Question 5: Die Gefühle eriner Person in einem Roman kann ich mir oft sehr gut vorstellen'
- 'Question 6: In Notfallsituationen fühle ich mich ängstlich und unbehaglich'
- 'Question 7: Ich bleibe gewöhnlich objektiv, wenn ich einen Film oder ein Theaterstück sehe, und lasse mich meistens nicht vollkommen von ihm gefangen nehmen'
- 'Question 8: Ich versuche, bei einem Streit zuerst beide Seite zu verstehen, bevor ich eine Entscheidung treffe'
- 'Question 9: Wenn ich sehe, wie jemand ausgenutzt wird, glaube ich,ihn schützen zu müssen'
- 'Question 10: Ich fühle mich hilflos, wenn ich inmiten einer sehr emotionsgeladenen Situation bin'
- 'Question 11: Machmal versuche ich meine Freunde besser zu verstehen, indem ich mir vorstelle, wie die Dinge aus ihrer Perspektive aussehen'
- 'Question 12: Ich bin nur selten von einem guten Buch oder Film sehr gefesselt'
- 'Question 13: Wenn ich sehe, wie jemand verletzt wird, bleibe ich in der Regel ruhig'
- 'Question 14: Gewöhnlich geht mir das Unglück anderer Menschen nicht sehr nahe'
- 'Question 15: Wenn ich sicher, bin Recht zu haben, verschwende ich meine Zeit nicht damit, mir Argumente andere Leute anzuhören'
- 'Question 16: Nachdem ich einen Film gesehen habe, fühle ich mich so, als ob ich eine Person aus dem Film sei'
- 'Question 17: In einer gespannten emotionalen Situation zu sein, beängstigt mich'
- 'Question 18: Wenn ich sehe, dass jemand ungerecht behandelt wird, habe ich manchmal nicht viel mitleid mit ihm'
- 'Question 19: Gewöhnlich verhalte ich mich ziemlich umsichtig in Notsituationen'
- 'Question 20: Mich berühren Dinge sehr, die ich nur beobachte'
- 'Question 21: Ich glaube, jedes Problem hat zwei Seiten, und versuche deshalb, beide zu berücksichtigen'
- 'Question 22: Ich würde mich selbst als eine ziemlich weichherzige Person bezeichnen'
- 'Question 23: Wenn ich einen guten Film sehe, kann ich mich sehr leicht in die Hauptperson hineinversetzen'
- 'Question 24: In heiklnen Situationen neige ich dazu, die Kontrole über mich zu verlieren'
- 'Question 25: Wenn mir das Verhalten eines anderen komisch vorkommt, versuche ich mich für einen Weile in seine Lage zu versetzten'
- 'Question 26: Wenn ich eine interessante Geschichte oder ein gutes Buch lese, versuche ich mir vorzustellen, wie ich mich fühlen würde, wenn mir die Ereignisse passieren würden'
- 'Question 27: Wenn ich sehe, dass jemand in einem Notfall dringend Hilfe braucht, macht mich das völlig fertig'
- 'Question 28: Bevor ich jemanden kritisiere, versuche ich mir vorzustellen, wie ich mich an seiner Stelle FÜhlen würde'
要调用问题的班级:
<?php
namespace AppBundle\Controller;
use Symfony\Component\Config\Definition\Exception\Exception;
use Symfony\Component\Yaml\Yaml;
class Questions
{
public function giveMeTheQuestions()
{
$questions = Yaml::parse(file_get_contents('../web/bundles/framework/yml/questions.yml'));
return $questions;
}
}
实体:
<?php
namespace AppBundle\Entity;
class Answer
{
private $name;
/**
* @return mixed
*/
public function getName()
{
return $this->name;
}
/**
* @param mixed $name
*/
public function setName($name)
{
$this->name = $name;
}
}
我的表格控制器:
<?php
namespace AppBundle\Controller;
use AppBundle\Entity\Answer;
use AppBundle\Entity\PsychoTest;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use AppBundle\Form\Type\PfsType;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class IndexController extends Controller
{
private $questionsArray;
public function startAction(Request $request)
{
$pfsForm = new PsychoTest();
$questions = new Questions();
$this->questionsArray = $questions->giveMeTheQuestions();
$this->questionsArray = $this->questionsArray['Questions'];
for($i=0;$i<sizeof($this->questionsArray);$i++){
$answer = new Answer();
$answer->setName('bla');
$pfsForm->getAnswers()->add($answer);
}
$form = $this->createForm(PfsType::class, $pfsForm);
return $this->render(
'index.html.twig',
array(
'questions' => $this->questionsArray,
'form' => $form->createView()
)
);
}
}
我的模板:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{{ form_start(form) }}
{# render the task's only field: description #}
{{ form_row(form.description) }}
<h3>Questions</h3>
<ul class="tags">
{# iterate over each existing tag and render its only field: name #}
{% for answers in form.answers %}
{{ form_label(answers.name, 'Your name') }}
<li>{{ form_row(answers.name) }}</li>
{% endfor %}
</ul>
<input type="submit" formaction="http://localhost/pfs/web/app_dev.php/index">
{{ form_end(form) }}
我想使用问题作为字段的标签,但我不知道如何解决问题。愿有人帮帮我吗? THX
米莎
答案 0 :(得分:1)
快速解决方案是使用loop.index0
此循环变量来访问问题:
...
{% for answers in form.answers %}
{{ form_label(answers.name, questions['Questions'][loop.index0]) }}
<li>{{ form_row(answers.name) }}</li>
{% endfor %}
...
但是,建议您在表单构建PfsType
上设置这些标签,以便更好地重复使用。