src/Eccube/Resource/template/admin/Content/page_edit.twig line 1

Open in your IDE?
  1. {#
  2. This file is part of EC-CUBE
  3. Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
  4. http://www.ec-cube.co.jp/
  5. For the full copyright and license information, please view the LICENSE
  6. file that was distributed with this source code.
  7. #}
  8. {% extends '@admin/default_frame.twig' %}
  9. {# 設定メニューからも遷移するため、遷移元に応じてナビを変更 #}
  10. {% if app.request.query.get('return') == 'tradelaw' %}
  11.     {% set menus = ['setting', 'shop', 'shop_tradelaw'] %}
  12. {% elseif app.request.query.get('return') == 'agreement' %}
  13.     {% set menus = ['setting', 'shop', 'shop_agreement'] %}
  14. {% else %}
  15.     {% set menus = ['content', 'page'] %}
  16. {% endif %}
  17. {% block title %}{{ 'admin.content.page_management'|trans }}{% endblock %}
  18. {% block sub_title %}{{ 'admin.content.contents_management'|trans }}{% endblock %}
  19. {% form_theme form '@admin/Form/bootstrap_4_horizontal_layout.html.twig' %}
  20. {% block stylesheet %}
  21.     <style>
  22.         .ui-resizable-se {
  23.             right: -3px;
  24.             bottom: -3px;
  25.         }
  26.     </style>
  27. {% endblock %}
  28. {% block javascript %}
  29.     <script>
  30.         ace.require('ace/ext/language_tools');
  31.         var editor = ace.edit('editor');
  32.         editor.session.setMode('ace/mode/twig');
  33.         editor.setTheme('ace/theme/tomorrow');
  34.         editor.setValue('{{ form.tpl_data.vars.value|escape('js') }}');
  35.         editor.setOptions({
  36.             enableBasicAutocompletion: true,
  37.             enableSnippets: true,
  38.             enableLiveAutocompletion: true,
  39.             showInvisibles: true
  40.         });
  41.         $("#editor").resizable({
  42.             resize: function (event, ui) {
  43.                 editor.resize();
  44.             }
  45.         });
  46.         $('#content_page_form').on('submit', function(elem) {
  47.             $('#main_edit_tpl_data').val(editor.getValue());
  48.         });
  49.     </script>
  50. {% endblock %}
  51. {% block main %}
  52.     <form id="content_page_form" method="post"
  53.           action="{%- if page_id is not null %}{{ url('admin_content_page_edit', {id: page_id}) }}{% else %}{{ url('admin_content_page_new') }}{% endif -%}">
  54.         {{ form_widget(form._token) }}
  55.         <div class="c-contentsArea__cols">
  56.             <div class="c-contentsArea__primaryCol">
  57.                 <div class="c-primaryCol">
  58.                     <!-- ページ設定 -->
  59.                     <div class="card rounded border-0 mb-4">
  60.                         <div class="card-header">
  61.                             <div class="row">
  62.                                 <div class="col-8"><span class="card-title">{{ 'admin.content.page__card_title'|trans }}</span></div>
  63.                                 <div class="col-4 text-end">
  64.                                     <a data-bs-toggle="collapse" href="#pageDetail" aria-expanded="false" aria-controls="pageDetail">
  65.                                         <i class="fa fa-angle-up fa-lg"></i>
  66.                                     </a>
  67.                                 </div>
  68.                             </div>
  69.                         </div>
  70.                         <div class="collapse show ec-cardCollapse" id="pageDetail">
  71.                             <div class="card-body">
  72.                                 <!-- ページ名 -->
  73.                                 <div class="row mb-2">
  74.                                     <div class="col-2">
  75.                                         <span>{{ 'admin.content.page_name'|trans }}</span>
  76.                                         <span class="badge bg-primary ms-1">{{ 'admin.common.required'|trans }}</span>
  77.                                     </div>
  78.                                     <div class="col-10">
  79.                                         {{ form_widget(form.name) }}
  80.                                         {{ form_errors(form.name) }}
  81.                                     </div>
  82.                                 </div>
  83.                                 <!-- URL -->
  84.                                 <div class="row mb-2">
  85.                                     <div class="col-2">
  86.                                         <span>{{ 'admin.content.page_url'|trans }}</span>
  87.                                         <span class="badge bg-primary ms-1">{{ 'admin.common.required'|trans }}</span>
  88.                                     </div>
  89.                                     <div class="col-10">
  90.                                         <div class="row">
  91.                                             {% if is_user_data_page %}
  92.                                                 <div class="col-3 pe-0"><span class="align-middle">{{ url('homepage') }}{{ eccube_config.eccube_user_data_route }}/</span></div>
  93.                                                 <div class="col-9 ps-0">{{ form_widget(form.url) }}</div>
  94.                                             {% else %}
  95.                                                 <div class="col pe-0"><span class="align-middle">{{ app.request.schemeAndHttpHost }}{{ app.request.basePath }}{{ url }}</span></div>
  96.                                                 <div>{{ form_widget(form.url, { type : 'hidden' } ) }}</div>
  97.                                             {% endif %}
  98.                                             {{ form_errors(form.url) }}
  99.                                         </div>
  100.                                     </div>
  101.                                 </div>
  102.                                 <!-- ファイル名 -->
  103.                                 <div class="row mb-2">
  104.                                     <div class="col-2">
  105.                                         <div class="d-inline-block" data-bs-toggle="tooltip" data-bs-placement="top" title="{{ 'tooltip.content.page_file_name'|trans }}">
  106.                                             <span>{{ 'admin.content.page_file_name'|trans }}</span><i class="fa fa-question-circle fa-lg ms-1"></i>
  107.                                         </div>
  108.                                         <span class="badge bg-primary ms-1">{{ 'admin.common.required'|trans }}</span>
  109.                                     </div>
  110.                                     <div class="col-10">
  111.                                         <div class="row">
  112.                                             {% if is_user_data_page %}
  113.                                                 <div class="col-3 pe-0 align-middle"><span class="align-middle">{{ template_path }}/</span></div>
  114.                                                 <div class="col-7 ps-0">
  115.                                                     {{ form_widget(form.file_name) }}
  116.                                                 </div>
  117.                                                 <div class="col-2 ps-0">.twig</div>
  118.                                             {% else %}
  119.                                                 <div class="col pe-0 align-middle">
  120.                                                     <span class="align-middle">{{ template_path }}/{{ form.file_name.vars.value }}.twig</span>
  121.                                                     <div>{{ form_widget(form.file_name, { type : 'hidden' } ) }}</div>
  122.                                                 </div>
  123.                                             {% endif %}
  124.                                             {{ form_errors(form.file_name) }}
  125.                                         </div>
  126.                                     </div>
  127.                                 </div>
  128.                                 <!-- コード -->
  129.                                 <div class="row mb-2">
  130.                                     <div class="col-2">
  131.                                         <div class="d-inline-block" data-bs-toggle="tooltip" data-bs-placement="top" title="{{ 'tooltip.content.page_source_code'|trans }}">
  132.                                             <span>{{ 'admin.content.page_source_code'|trans }}</span><i class="fa fa-question-circle fa-lg ms-1"></i>
  133.                                         </div>
  134.                                         <span class="badge bg-primary ms-1">{{ 'admin.common.required'|trans }}</span>
  135.                                     </div>
  136.                                     <div class="col-10">
  137.                                         <div id="editor" style="height: 480px" class="form-control{{ has_errors(form.tpl_data) ? ' is-invalid' }}"></div>
  138.                                         <div style="display: none">{{ form_widget(form.tpl_data) }}</div>
  139.                                         {{ form_errors(form.tpl_data) }}
  140.                                     </div>
  141.                                 </div>
  142.                                 {# エンティティ拡張の自動出力 #}
  143.                                 {% for f in form|filter(f => f.vars.eccube_form_options.auto_render) %}
  144.                                     {% if f.vars.eccube_form_options.form_theme %}
  145.                                         {% form_theme f f.vars.eccube_form_options.form_theme %}
  146.                                         {{ form_row(f) }}
  147.                                     {% else %}
  148.                                         <div class="row">
  149.                                             <div class="col-2"><span>{{ f.vars.label|trans }}</span></div>
  150.                                             <div class="col-10">
  151.                                                 {{ form_widget(f) }}
  152.                                                 {{ form_errors(f) }}
  153.                                             </div>
  154.                                         </div>
  155.                                     {% endif %}
  156.                                 {% endfor %}
  157.                             </div>
  158.                         </div>
  159.                     </div>
  160.                     {%- if not is_confirm_page %}
  161.                         <!-- レイアウト設定 -->
  162.                         <div class="card rounded border-0 mb-4">
  163.                             <div class="card-header">
  164.                                 <div class="row">
  165.                                     <div class="col-8">
  166.                                         <div class="d-inline-block" data-bs-toggle="tooltip" data-bs-placement="top"
  167.                                              title="{{ 'tooltip.content.page_layout'|trans }}">
  168.                                             <span class="card-title">
  169.                                                 {{ 'admin.content.page_layout__card_title'|trans }}
  170.                                                 <i class="fa fa-question-circle fa-lg ms-1"></i>
  171.                                             </span>
  172.                                         </div>
  173.                                     </div>
  174.                                     <div class="col-4 text-end">
  175.                                         <a data-bs-toggle="collapse" href="#pageLayout" aria-expanded="false" aria-controls="pageLayout">
  176.                                             <i class="fa fa-angle-up fa-lg"></i>
  177.                                         </a>
  178.                                     </div>
  179.                                 </div>
  180.                             </div>
  181.                             <div class="collapse show ec-cardCollapse" id="pageLayout">
  182.                                 <div class="card-body">
  183.                                     <!-- PC -->
  184.                                     <div class="row mb-2">
  185.                                         <div class="col-2"><span>{{ 'admin.content.page_pc'|trans }}</span></div>
  186.                                         <div class="col-10">
  187.                                             {{ form_widget(form.PcLayout) }}
  188.                                             {{ form_errors(form.PcLayout) }}
  189.                                         </div>
  190.                                     </div>
  191.                                     <!-- モバイル -->
  192.                                     <div class="row mb-2">
  193.                                         <div class="col-2"><span>{{ 'admin.content.page_mobile'|trans }}</span></div>
  194.                                         <div class="col-10">
  195.                                             {{ form_widget(form.SpLayout) }}
  196.                                             {{ form_errors(form.SpLayout) }}
  197.                                         </div>
  198.                                     </div>
  199.                                 </div>
  200.                             </div>
  201.                         </div>
  202.                         <!-- メタ設定 -->
  203.                         <div class="card rounded border-0 mb-4">
  204.                             <div class="card-header">
  205.                                 <div class="row">
  206.                                     <div class="col-8">
  207.                                         <div class="d-inline-block" data-bs-toggle="tooltip" data-bs-placement="top" title="{{ 'tooltip.content.page_meta'|trans }}">
  208.                                             <span class="card-title">{{ 'admin.content.page_meta__card_title'|trans }}</span>
  209.                                             <i class="fa fa-question-circle fa-lg ms-1"></i>
  210.                                         </div>
  211.                                     </div>
  212.                                     <div class="col-4 text-end">
  213.                                         <a data-bs-toggle="collapse" href="#pageMeta" aria-expanded="false" aria-controls="pageMeta">
  214.                                             <i class="fa fa-angle-up fa-lg"></i>
  215.                                         </a>
  216.                                     </div>
  217.                                 </div>
  218.                             </div>
  219.                             <div class="collapse show ec-cardCollapse" id="pageMeta">
  220.                                 <div class="card-body">
  221.                                     <!-- author -->
  222.                                     <div class="row mb-2">
  223.                                         <div class="col-2"><span>{{ 'admin.content.page_meta_author'|trans }}</span></div>
  224.                                         <div class="col-10">
  225.                                             {{ form_widget(form.author) }}
  226.                                             {{ form_errors(form.author) }}
  227.                                         </div>
  228.                                     </div>
  229.                                     <!-- description -->
  230.                                     <div class="row mb-2">
  231.                                         <div class="col-2"><span>{{ 'admin.content.page_meta_description'|trans }}</span></div>
  232.                                         <div class="col-10">
  233.                                             {{ form_widget(form.description) }}
  234.                                             {{ form_errors(form.description) }}
  235.                                         </div>
  236.                                     </div>
  237.                                     <!-- keyword -->
  238.                                     <div class="row mb-2">
  239.                                         <div class="col-2"><span>{{ 'admin.content.page_meta_keyword'|trans }}</span></div>
  240.                                         <div class="col-10">
  241.                                             {{ form_widget(form.keyword) }}
  242.                                             {{ form_errors(form.keyword) }}
  243.                                         </div>
  244.                                     </div>
  245.                                     <!-- robot -->
  246.                                     <div class="row mb-2">
  247.                                         <div class="col-2"><span>{{ 'admin.content.page_meta_robot'|trans }}</span></div>
  248.                                         <div class="col-10">
  249.                                             {{ form_widget(form.meta_robots) }}
  250.                                             {{ form_errors(form.meta_robots) }}
  251.                                         </div>
  252.                                     </div>
  253.                                     <!-- metatag -->
  254.                                     <div class="row">
  255.                                         <div class="col-2">
  256.                                             <div class="d-inline-block" data-bs-toggle="tooltip" data-bs-placement="top" title="{{ 'tooltip.content.page_meta_tags'|trans }}">
  257.                                                 <span>{{ 'admin.content.page_meta_metatag'|trans }}</span>
  258.                                                 <i class="fa fa-question-circle fa-lg ms-1"></i>
  259.                                             </div>
  260.                                         </div>
  261.                                         <div class="col-10">
  262.                                             {{ form_widget(form.meta_tags) }}
  263.                                             {{ form_errors(form.meta_tags) }}
  264.                                         </div>
  265.                                     </div>
  266.                                 </div>
  267.                             </div>
  268.                         </div>
  269.                     {% endif -%}
  270.                 </div>
  271.             </div>
  272.         </div>
  273.         <div class="c-conversionArea">
  274.             <div class="c-conversionArea__container">
  275.                 <div class="row justify-content-between align-items-center">
  276.                     <div class="col-6">
  277.                         <div class="c-conversionArea__leftBlockItem">
  278.                             <a class="c-baseLink" href="{{ url('admin_content_page') }}">
  279.                                 <i class="fa fa-backward" aria-hidden="true"></i>
  280.                                 <span>{{ 'admin.content.page_management'|trans }}</span>
  281.                             </a>
  282.                         </div>
  283.                     </div>
  284.                     <div class="col-6">
  285.                         <div id="ex-conversion-action" class="row align-items-center justify-content-end">
  286.                             <div class="col-auto">
  287.                                 <button class="btn btn-ec-conversion px-5" type="submit">{{ 'admin.common.registration'|trans }}</button>
  288.                             </div>
  289.                         </div>
  290.                     </div>
  291.                 </div>
  292.             </div>
  293.         </div>
  294.     </form>
  295. {% endblock %}