| exception |
Twig\Error\RuntimeError {#10972
#message: "Variable "form" does not exist."
#code: 0
#file: "/home/nmtoraya01/toraya-seifuku.com/public_html/app/template/user_data/ApgFormBuilder42/apg_form_builder_2.twig"
#line: 13
-lineno: 13
-name: "@user_data/ApgFormBuilder42/apg_form_builder_2.twig"
-rawMessage: "Variable "form" does not exist."
-sourcePath: "/home/nmtoraya01/toraya-seifuku.com/public_html/app/template/user_data/ApgFormBuilder42/apg_form_builder_2.twig"
-sourceCode: """
{#\r\n
This file is part of EC-CUBE\r\n
\r\n
Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.\r\n
\r\n
http://www.ec-cube.co.jp/\r\n
\r\n
For the full copyright and license information, please view the LICENSE\r\n
file that was distributed with this source code.\r\n
#}\r\n
{% extends 'default_frame.twig' %}\r\n
\r\n
{% form_theme form 'Form/form_div_layout.twig' %}\r\n
\r\n
{% block stylesheet %}\r\n
{# custom css #}\r\n
<style>\r\n
</style>\r\n
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.13.2/jquery-ui.css">\r\n
<link rel="stylesheet" href="https://unpkg.com/filepond/dist/filepond.css">\r\n
<link\r\n
href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css"\r\n
rel="stylesheet"\r\n
/>\r\n
{% endblock stylesheet %}\r\n
\r\n
{% block javascript %}\r\n
<script src="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.js"></script>\r\n
<script src="https://unpkg.com/filepond-plugin-file-validate-size/dist/filepond-plugin-file-validate-size.js"></script>\r\n
<script src="https://unpkg.com/filepond/dist/filepond.min.js"></script>\r\n
{# custom js #}\r\n
<script>\r\n
$(function() {\r\n
FilePond.registerPlugin(\r\n
FilePondPluginImagePreview,\r\n
FilePondPluginFileValidateSize\r\n
);\r\n
\r\n
$('.upload-image').each((index, element) => {\r\n
const $elem = $(element);\r\n
const pond = FilePond.create(\r\n
$elem.get(0), {\r\n
instantUpload: true,\r\n
allowFileTypeValidation: true,\r\n
acceptedFileTypes: [\r\n
'image/gif',\r\n
'image/png',\r\n
'image/jpeg',\r\n
'image/pjpeg'\r\n
],\r\n
allowFileSizeValidation: true,\r\n
maxFileSize: '{{ maxFileSize }}',\r\n
labelIdle : '<span class="filepond--label-action"> ファイル選択 </span>、 or ドラッグ&ドロップ',\r\n
labelMaxFileSizeExceeded : 'ファイルが大きすぎます',\r\n
labelMaxFileSize : '最大ファイルサイズ : {filesize}',\r\n
labelFileProcessingError: 'ファイルのアップロードできませんでした',\r\n
onprocessfilestart: (file) => {\r\n
loadingOverlay();\r\n
},\r\n
server: {\r\n
url: '{{ url('apg_form_builder_upload_file', {id: FormEntity.id}) }}',\r\n
process: {\r\n
onload: (res) => {\r\n
const jsonObj = JSON.parse(res);\r\n
Object.keys(jsonObj).forEach(function (key) {\r\n
const hiddenTarget = $('input[data-file_uploader="' + key + '"]');\r\n
hiddenTarget.val(jsonObj[key][0]);\r\n
});\r\n
loadingOverlay('hide');\r\n
return res;\r\n
},\r\n
onerror: (res) => {\r\n
alert('ファイルアップロード中に予期しないエラーが発生しました。恐れ入りますが、再度やり直してください。');\r\n
console.log(res);\r\n
loadingOverlay('hide');\r\n
return res;\r\n
}\r\n
}\r\n
}\r\n
});\r\n
$('[data-file_uploader="' + $elem.attr('name') + '"]').each(function (){\r\n
if($(this).val()){\r\n
pond.addFile($(this).val(), {type: 'local'});\r\n
}\r\n
});\r\n
});\r\n
if ($('[type="date"]').prop('type') != 'date') {\r\n
// input type属性でdateが利用できるかどうか(カレンダー表示できないブラウザ対応)\r\n
$.when(\r\n
$.getScript("https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js")\r\n
).done(function() {\r\n
$(".afb_datepicker").datepicker({\r\n
dateFormat: "yy-mm-dd",\r\n
closeText: "閉じる",\r\n
prevText: "<前",\r\n
nextText: "次>",\r\n
currentText: "今日",\r\n
monthNames: [\r\n
"1月",\r\n
"2月",\r\n
"3月",\r\n
"4月",\r\n
"5月",\r\n
"6月",\r\n
"7月",\r\n
"8月",\r\n
"9月",\r\n
"10月",\r\n
"11月",\r\n
"12月"\r\n
],\r\n
monthNamesShort: [\r\n
"1月",\r\n
"2月",\r\n
"3月",\r\n
"4月",\r\n
"5月",\r\n
"6月",\r\n
"7月",\r\n
"8月",\r\n
"9月",\r\n
"10月",\r\n
"11月",\r\n
"12月"\r\n
],\r\n
dayNames: [\r\n
"日曜日",\r\n
"月曜日",\r\n
"火曜日",\r\n
"水曜日",\r\n
"木曜日",\r\n
"金曜日",\r\n
"土曜日"\r\n
],\r\n
dayNamesShort: ["日", "月", "火", "水", "木", "金", "土"],\r\n
dayNamesMin: ["日", "月", "火", "水", "木", "金", "土"],\r\n
weekHeader: "週",\r\n
isRTL: false,\r\n
showMonthAfterYear: true,\r\n
yearSuffix: "年",\r\n
firstDay: 1, // 週の初めは月曜\r\n
showButtonPanel: true // "今日"ボタン, "閉じる"ボタンを表示する\r\n
}\r\n
);\r\n
});\r\n
}\r\n
});\r\n
</script>\r\n
{% endblock javascript %}\r\n
\r\n
{% block main %}\r\n
\r\n
<div class="ec-contactRole">\r\n
<div class="ec-pageHeader">\r\n
<h1>{{ FormEntity.pageTitle }}</h1>\r\n
</div>\r\n
<div class="ec-off1Grid">\r\n
<div class="ec-off1Grid__cell">\r\n
<form method="post" action="{{ actionUrl }}" class="h-adr">\r\n
{{ form_widget(form._token) }}\r\n
{{ form_widget(form.revision) }}\r\n
\r\n
{# mode によって、表示内容を分けています #}\r\n
{% if mode != 'confirm' %}\r\n
\r\n
{# ▼▼▼▼ 入力画面 - ここから ▼▼▼▼ #}\r\n
\r\n
<div class="ec-borderedDefs">\r\n
{% for formJson in formJsonArray %}\r\n
\r\n
{% if formJson.type == 'header' %}\r\n
<{{ formJson.subtype }}>{{ formJson.label }}</{{ formJson.subtype }}>\r\n
{% elseif formJson.type == 'paragraph' %}\r\n
<{{ formJson.subtype }} class="ec-para-normal">{{ formJson.label|raw }}</{{ formJson.subtype }}>\r\n
{% elseif formJson.type == 'select' %}\r\n
<dl class="afb afb-type-{{ formJson.type }} afb-input-{{ formJson.name }}">\r\n
<dt>\r\n
{{ form_label(form[formJson.name], formJson.label, { 'label_attr': { 'class': 'ec-label' }}) }}\r\n
</dt>\r\n
<dd>\r\n
<div class="ec-select{{ has_errors(form[formJson.name]) ? ' error' }}">\r\n
{{ form_widget(form[formJson.name]) }}\r\n
{{ form_errors(form[formJson.name]) }}\r\n
{% if formJson.description is defined %}\r\n
<p class="afb-help">{{ formJson.description|raw }}</p>\r\n
{% endif %}\r\n
</div>\r\n
</dd>\r\n
</dl>\r\n
{% elseif formJson.type == 'checkbox-group' %}\r\n
<dl class="afb afb-type-{{ formJson.type }} afb-input-{{ formJson.name }}">\r\n
<dt>\r\n
{{ form_label(form[formJson.name], formJson.label, { 'label_attr': { 'class': 'ec-label' }}) }}\r\n
</dt>\r\n
<dd>\r\n
<div class="ec-checkbox{{ has_errors(form[formJson.name]) ? ' error' }}">\r\n
<label>\r\n
{{ form_widget(form[formJson.name]) }}\r\n
</label>\r\n
{{ form_errors(form[formJson.name]) }}\r\n
{% if formJson.description is defined %}\r\n
<p class="afb-help">{{ formJson.description|raw }}</p>\r\n
{% endif %}\r\n
</div>\r\n
</dd>\r\n
</dl>\r\n
{% elseif formJson.type == 'radio-group' %}\r\n
<dl class="afb afb-type-{{ formJson.type }} afb-input-{{ formJson.name }}">\r\n
<dt>\r\n
{{ form_label(form[formJson.name], formJson.label, { 'label_attr': { 'class': 'ec-label' }}) }}\r\n
</dt>\r\n
<dd>\r\n
<div class="ec-radio{{ has_errors(form[formJson.name]) ? ' error' }}">\r\n
{{ form_widget(form[formJson.name]) }}\r\n
{{ form_errors(form[formJson.name]) }}\r\n
</div>\r\n
{% if formJson.description is defined %}\r\n
<p class="afb-help">{{ formJson.description|raw }}</p>\r\n
{% endif %}\r\n
</dd>\r\n
</dl>\r\n
{% elseif formJson.type == 'date' %}\r\n
<dl class="afb afb-type-{{ formJson.type }} afb-input-{{ formJson.name }}">\r\n
<dt>\r\n
{{ form_label(form[formJson.name], formJson.label, { 'label_attr': { 'class': 'ec-label' }}) }}\r\n
</dt>\r\n
<dd>\r\n
<div class="ec-birth{{ has_errors(form[formJson.name]) ? ' error' }}">\r\n
{{ form_widget(form[formJson.name]) }}\r\n
{{ form_errors(form[formJson.name]) }}\r\n
</div>\r\n
{% if formJson.description is defined %}\r\n
<p class="afb-help">{{ formJson.description|raw }}</p>\r\n
{% endif %}\r\n
</dd>\r\n
</dl>\r\n
{% elseif formJson.type == 'file' %}\r\n
<dl class="afb afb-type-{{ formJson.type }} afb-input-{{ formJson.name }}">\r\n
<dt>\r\n
{{ form_label(form[formJson.name], formJson.label, { 'label_attr': { 'class': 'ec-label' }}) }}\r\n
</dt>\r\n
<dd>\r\n
{{ form_widget(form[formJson.name], {type : 'hidden'}) }}\r\n
<div class="ec-input{{ has_errors(form[formJson.name]) ? ' error' }}">\r\n
{% if formJson.fileType == 'image' %}\r\n
{{ form_widget(form[formJson.name~'_input'],\r\n
{attr:{class: 'upload-image'}}) }}\r\n
{{ form_errors(form[formJson.name]) }}\r\n
{% endif %}\r\n
{% if formJson.description is defined %}\r\n
<p class="afb-help">{{ formJson.description|raw }}</p>\r\n
{% endif %}\r\n
</div>\r\n
</dd>\r\n
</dl>\r\n
{% else %}\r\n
<dl class="afb afb-type-{{ formJson.type }} afb-input-{{ formJson.name }}">\r\n
<dt>\r\n
{{ form_label(form[formJson.name], formJson.label, { 'label_attr': { 'class': 'ec-label' }}) }}\r\n
</dt>\r\n
<dd>\r\n
<div class="ec-input{{ has_errors(form[formJson.name]) ? ' error' }}">\r\n
{{ form_widget(form[formJson.name]) }}\r\n
{{ form_errors(form[formJson.name]) }}\r\n
{% if formJson.type == 'textarea' %}\r\n
<p></p>\r\n
{% endif %}\r\n
{% if formJson.description is defined %}\r\n
<p class="afb-help">{{ formJson.description|raw }}</p>\r\n
{% endif %}\r\n
</div>\r\n
</dd>\r\n
</dl>\r\n
{% endif %}\r\n
{% endfor %}\r\n
</div>\r\n
\r\n
<div class="ec-RegisterRole__actions">\r\n
<div class="ec-off4Grid">\r\n
<div class="ec-off4Grid__cell">\r\n
<button type="submit" class="ec-blockBtn--action" name="mode"\r\n
value="confirm">{{ 'common.go_to_confirm'|trans }}\r\n
</button>\r\n
</div>\r\n
</div>\r\n
</div>\r\n
\r\n
{# ▲▲▲▲ 入力画面 - ここまで ▲▲▲▲ #}\r\n
\r\n
{% else %}\r\n
\r\n
{# ▼▼▼▼ 確認画面 - ここから ▼▼▼▼ #}\r\n
\r\n
<div class="ec-borderedDefs">\r\n
{% for formJson in formJsonArray %}\r\n
\r\n
{% if formJson.type == 'header' %}\r\n
<{{ formJson.subtype }}>{{ formJson.label }}</{{ formJson.subtype }}>\r\n
{% elseif formJson.type == 'paragraph' %}\r\n
<{{ formJson.subtype }} class="ec-para-normal">{{ formJson.label|raw }}</{{ formJson.subtype }}>\r\n
{% elseif\r\n
formJson.type == 'select'\r\n
or formJson.type == 'checkbox-group'\r\n
or formJson.type == 'radio-group'\r\n
%}\r\n
<dl class="afb afb-type-{{ formJson.type }} afb-confirm-{{ formJson.name }}">\r\n
<dt>\r\n
{{ form_label(form[formJson.name], formJson.label, { 'label_attr': { 'class': 'ec-label' }}) }}\r\n
</dt>\r\n
<dd>\r\n
{% set selectedData = form[formJson.name].vars.data %}\r\n
{% if selectedData is iterable %}\r\n
{% set firstFlg = true %}\r\n
{% for choice in form[formJson.name].vars.choices %}\r\n
{% set choideData = choice.data %}\r\n
{% for s in selectedData %}\r\n
{% if choideData == s %}\r\n
{% if firstFlg == false %}\r\n
/\r\n
{% else %}\r\n
{% set firstFlg = false %}\r\n
{% endif %}\r\n
{{ choice.label }}\r\n
{% endif %}\r\n
{% endfor %}\r\n
{% endfor %}\r\n
{% for s in selectedData %}\r\n
<input type="hidden" name="{{ formJson.name }}[]" value="{{ s }}">\r\n
{% endfor %}\r\n
{% else %}\r\n
{% for choice in form[formJson.name].vars.choices %}\r\n
{% set choideData = choice.data %}\r\n
{% if choideData == selectedData %}\r\n
{{ choice.label }}\r\n
{% endif %}\r\n
{% endfor %}\r\n
{{ form_widget(form[formJson.name], { type : 'hidden' }) }}\r\n
{% endif %}\r\n
</dd>\r\n
</dl>\r\n
{% elseif formJson.type == 'date' %}\r\n
<dl class="afb afb-type-{{ formJson.type }} afb-confirm-{{ formJson.name }}">\r\n
<dt>\r\n
{{ form_label(form[formJson.name], formJson.label, { 'label_attr': { 'class': 'ec-label' }}) }}\r\n
</dt>\r\n
<dd>\r\n
{{ form[formJson.name].vars.data|date_day }}\r\n
{{ form_widget(form[formJson.name], { type : 'hidden' }) }}\r\n
</dd>\r\n
</dl>\r\n
{% elseif formJson.type == 'file' %}\r\n
<dl class="afb afb-type-{{ formJson.type }} afb-confirm-{{ formJson.name }}">\r\n
<dt>\r\n
{{ form_label(form[formJson.name], formJson.label, { 'label_attr': { 'class': 'ec-label' }}) }}\r\n
</dt>\r\n
<dd>\r\n
{% if form[formJson.name].vars.data %}\r\n
<a target="_blank" href="{{ fileUrl~form[formJson.name].vars.data }}">\r\n
<img alt="" style="max-height:320px;max-width:320px;"\r\n
src="{{ fileUrl~form[formJson.name].vars.data }}">\r\n
</a>\r\n
{% endif %}\r\n
{{ form_widget(form[formJson.name], { type : 'hidden' }) }}\r\n
</dd>\r\n
</dl>\r\n
{% else %}\r\n
<dl class="afb afb-type-{{ formJson.type }} afb-confirm-{{ formJson.name }}">\r\n
<dt>\r\n
{{ form_label(form[formJson.name], formJson.label, { 'label_attr': { 'class': 'ec-label' }}) }}\r\n
</dt>\r\n
<dd>\r\n
{{ form[formJson.name].vars.data|nl2br }}\r\n
{{ form_widget(form[formJson.name], { type : 'hidden' }) }}\r\n
</dd>\r\n
</dl>\r\n
{% endif %}\r\n
{% endfor %}\r\n
</div>\r\n
\r\n
<div class="ec-RegisterRole__actions">\r\n
<div class="ec-off4Grid">\r\n
<div class="ec-off4Grid__cell">\r\n
<button type="submit"\r\n
class="ec-blockBtn--action"\r\n
name="mode"\r\n
style="margin-bottom: 16px;"\r\n
value="complete">{{ 'common.send'|trans }}\r\n
</button>\r\n
<button type="submit"\r\n
class="ec-blockBtn--cancel"\r\n
name="mode"\r\n
value="back">{{ 'common.back'|trans }}\r\n
</button>\r\n
</div>\r\n
</div>\r\n
</div>\r\n
\r\n
{# ▲▲▲▲ 確認画面 - ここまで ▲▲▲▲ #}\r\n
\r\n
{% endif %}\r\n
</form>\r\n
</div>\r\n
</div>\r\n
</div>\r\n
\r\n
{% endblock %}\r\n
"""
trace: {
/home/nmtoraya01/toraya-seifuku.com/public_html/app/template/user_data/ApgFormBuilder42/apg_form_builder_2.twig:13 {
__TwigTemplate_629d2767771ae4af4cbc212d4c8eaea2->{closure} …
› \r
› {% form_theme form 'Form/form_div_layout.twig' %}\r
› \r
}
/home/nmtoraya01/toraya-seifuku.com/public_html/app/template/user_data/ApgFormBuilder42/apg_form_builder_2.twig:13 {
__TwigTemplate_629d2767771ae4af4cbc212d4c8eaea2->doDisplay(array $context, array $blocks = []) …
› \r
› {% form_theme form 'Form/form_div_layout.twig' %}\r
› \r
}
/home/nmtoraya01/toraya-seifuku.com/public_html/vendor/twig/twig/src/Template.php:405 {
Twig\Template->displayWithErrorHandling(array $context, array $blocks = []) …
› try {
› $this->doDisplay($context, $blocks);
› } catch (Error $e) {
arguments: {
$context: [ …9]
$blocks: [ …3]
}
}
/home/nmtoraya01/toraya-seifuku.com/public_html/vendor/twig/twig/src/Template.php:378 {
Twig\Template->display(array $context, array $blocks = []) …
› {
› $this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
› }
arguments: {
$context: [ …9]
$blocks: [ …3]
}
}
/home/nmtoraya01/toraya-seifuku.com/public_html/src/Eccube/Twig/Template.php:41 {
Eccube\Twig\Template->display(array $context, array $blocks = []) …
› } else {
› parent::display($event->getParameters(), $blocks);
› }
arguments: {
$context: []
$blocks: []
}
}
/home/nmtoraya01/toraya-seifuku.com/public_html/vendor/twig/twig/src/Template.php:390 {
Twig\Template->render(array $context) …
› try {
› $this->display($context);
› } catch (\Throwable $e) {
arguments: {
$context: []
}
}
/home/nmtoraya01/toraya-seifuku.com/public_html/vendor/twig/twig/src/TemplateWrapper.php:45 {
Twig\TemplateWrapper->render(array $context = []): string …
› // as it should only be used by internal code
› return $this->template->render($context, \func_get_args()[1] ?? []);
› }
arguments: {
$context: []
...: {
[]
}
}
}
/home/nmtoraya01/toraya-seifuku.com/public_html/vendor/twig/twig/src/Environment.php:318 {
Twig\Environment->render($name, array $context = []) …
› {
› return $this->load($name)->render($context);
› }
arguments: {
$context: []
}
}
/home/nmtoraya01/toraya-seifuku.com/public_html/vendor/symfony/framework-bundle/Controller/AbstractController.php:258 {
Symfony\Bundle\FrameworkBundle\Controller\AbstractController->renderView(string $view, array $parameters = []): string …
›
› return $this->container->get('twig')->render($view, $parameters);
› }
arguments: {
$name: "@user_data/ApgFormBuilder42/apg_form_builder_2.twig"
$context: []
}
}
/home/nmtoraya01/toraya-seifuku.com/public_html/vendor/symfony/framework-bundle/Controller/AbstractController.php:266 {
Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render(string $view, array $parameters = [], Response $response = null): Response …
› {
› $content = $this->renderView($view, $parameters);
›
arguments: {
$view: "@user_data/ApgFormBuilder42/apg_form_builder_2.twig"
$parameters: []
}
}
/home/nmtoraya01/toraya-seifuku.com/public_html/app/Customize/Controller/UserDataController.php:207 {
Customize\Controller\UserDataController->index(Request $request, $route) …
›
› return $this->render($file);
› }
arguments: {
$view: "@user_data/ApgFormBuilder42/apg_form_builder_2.twig"
}
}
/home/nmtoraya01/toraya-seifuku.com/public_html/vendor/symfony/http-kernel/HttpKernel.php:163 {
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Request $request, int $type = self::MAIN_REQUEST): Response …
› // call controller
› $response = $controller(...$arguments);
›
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#14 …}
$route: "apg_form/2"
}
}
/home/nmtoraya01/toraya-seifuku.com/public_html/vendor/symfony/http-kernel/HttpKernel.php:75 {
Symfony\Component\HttpKernel\HttpKernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true) …
› try {
› return $this->handleRaw($request, $type);
› } catch (\Exception $e) {
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#14 …}
$type: 1
}
}
/home/nmtoraya01/toraya-seifuku.com/public_html/vendor/symfony/http-kernel/Kernel.php:202 {
Symfony\Component\HttpKernel\Kernel->handle(Request $request, int $type = HttpKernelInterface::MAIN_REQUEST, bool $catch = true) …
› try {
› return $this->getHttpKernel()->handle($request, $type, $catch);
› } finally {
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#14 …}
$type: 1
$catch: true
}
}
/home/nmtoraya01/toraya-seifuku.com/public_html/index.php:83 {
› $kernel = new Kernel($env, $debug);
› $response = $kernel->handle($request);
› $response->send();
arguments: {
$request: Symfony\Component\HttpFoundation\Request {#14 …}
}
}
}
} |