diff --git a/src/Eccube/Controller/Admin/Content/PageController.php b/src/Eccube/Controller/Admin/Content/PageController.php index 48d7607feb9..b9f856d16f9 100644 --- a/src/Eccube/Controller/Admin/Content/PageController.php +++ b/src/Eccube/Controller/Admin/Content/PageController.php @@ -159,7 +159,12 @@ public function edit(Request $request, $id = null, Environment $twig, RouterInte if ($isUserDataPage) { $templatePath = $this->getParameter('eccube_theme_user_data_dir'); } else { - $templatePath = $this->getParameter('eccube_theme_front_dir'); + if (preg_match('/^@/', $Page->getFileName(), $matches)) { + // file_nameが@で始まる場合プラグインの名前空間とみなす + $templatePath = $this->getParameter('eccube_theme_app_dir').'/plugin'; + } else { + $templatePath = $this->getParameter('eccube_theme_front_dir'); + } } $filePath = $templatePath.'/'.$Page->getFileName().'.twig'; @@ -235,7 +240,12 @@ public function edit(Request $request, $id = null, Environment $twig, RouterInte $templatePath = $this->getParameter('eccube_theme_user_data_dir'); $url = ''; } else { - $templatePath = $this->getParameter('eccube_theme_front_dir'); + if (preg_match('/^@/', $PrevPage->getFileName())) { + // file_nameが@で始まる場合プラグインの名前空間とみなす + $templatePath = $this->getParameter('eccube_theme_app_dir').'/plugin'; + } else { + $templatePath = $this->getParameter('eccube_theme_front_dir'); + } $url = $router->getRouteCollection()->get($PrevPage->getUrl())->getPath(); } $projectDir = $this->getParameter('kernel.project_dir'); diff --git a/src/Eccube/Form/Type/Admin/MainEditType.php b/src/Eccube/Form/Type/Admin/MainEditType.php index 9a41ef7bfea..a9de73f918f 100644 --- a/src/Eccube/Form/Type/Admin/MainEditType.php +++ b/src/Eccube/Form/Type/Admin/MainEditType.php @@ -101,7 +101,7 @@ public function buildForm(FormBuilderInterface $builder, array $options) 'max' => $this->eccubeConfig['eccube_stext_len'], ]), new Assert\Regex([ - 'pattern' => '/^([0-9a-zA-Z_\-]+\/?)+$/', + 'pattern' => '/^@?([0-9a-zA-Z_\-]+\/?)+$/', ]), ], ]) diff --git a/src/Eccube/Resource/template/admin/Content/page_edit.twig b/src/Eccube/Resource/template/admin/Content/page_edit.twig index 3d33dec3776..556404fe472 100644 --- a/src/Eccube/Resource/template/admin/Content/page_edit.twig +++ b/src/Eccube/Resource/template/admin/Content/page_edit.twig @@ -133,7 +133,7 @@ file that was distributed with this source code.
.twig
{% else %}
- {{ template_path }}/{{ form.file_name.vars.value }}.twig + {{ template_path }}/{{ form.file_name.vars.value|replace({'@' : ''}) }}.twig
{{ form_widget(form.file_name, { type : 'hidden' } ) }}
{% endif %}