src/Eccube/Resource/template/admin/Content/page.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. {% set menus = ['content', 'page'] %}
  10. {% block title %}{{ 'admin.content.page_management'|trans }}{% endblock %}
  11. {% block sub_title %}{{ 'admin.content.contents_management'|trans }}{% endblock %}
  12. {% block javascript %}
  13.     <script>
  14.         // searchWordの実行
  15.         $('#search-page').on('input', function() {
  16.             searchWord($(this).val(), $('table.table tbody tr'));
  17.         });
  18.     </script>
  19. {% endblock javascript %}
  20. {% block main %}
  21.     <div class="c-contentsArea__cols">
  22.         <div class="c-contentsArea__primaryCol">
  23.             <div class="c-primaryCol">
  24.                 <div class="row justify-content-between mb-2">
  25.                     <div class="col-9">
  26.                         <a class="btn btn-ec-regular" href="{{ url('admin_content_page_new') }}">
  27.                             {{ 'admin.common.create__new'|trans }}
  28.                         </a>
  29.                     </div>
  30.                     <div class="col-3">
  31.                         <div class="row">
  32.                             <div class="col">
  33.                                 <div class="input-group mb-3">
  34.                                     <div class="input-group-text">
  35.                                         <span id="basic-addon1"><i class="fa fa-search"></i></span>
  36.                                     </div>
  37.                                     <input id="search-page" class="form-control" type="search" aria-label="Search">
  38.                                 </div>
  39.                             </div>
  40.                         </div>
  41.                     </div>
  42.                 </div>
  43.                 <div class="card rounded border-0 mb-4">
  44.                     <div class="card-body p-0">
  45.                         <table class="table table-sm">
  46.                             <thead>
  47.                             <th class="border-0 pt-2 pb-2 ps-3">{{ 'admin.content.page_name'|trans }}</th>
  48.                             <th class="border-0 pt-2 pb-2 ps-3">{{ 'admin.content.page_route_name'|trans }}</th>
  49.                             <th class="border-0 pt-2 pb-2 ps-3">{{ 'admin.content.page_url'|trans }}</th>
  50.                             <th class="border-0 pt-2 pb-2 ps-3">{{ 'admin.content.page_file_name'|trans }}</th>
  51.                             <th class="border-0 pt-2 pb-2">{{ 'admin.content.layout_name'|trans }}</th>
  52.                             <th class="border-0 pt-2 pb-2 pe-3"></th>
  53.                             </thead>
  54.                             {% for Page in Pages %}
  55.                                 <tr id="ex-page-{{ Page.id }}">
  56.                                     <td class="align-middle ps-3">
  57.                                         <a href="{{ url('admin_content_page_edit', {id : Page.id } ) }}">{{ Page.name }}</a>
  58.                                     </td>
  59.                                     <td class="align-middle ps-3 text-break">
  60.                                         {{ Page.url }}
  61.                                     </td>
  62.                                     <td class="align-middle ps-3 text-break">
  63.                                         {% if router.routecollection.get(Page.url) %}
  64.                                             {{ router.routecollection.get(Page.url).path }}
  65.                                         {% else %}
  66.                                             {{ Page.url }}
  67.                                         {% endif %}
  68.                                     </td>
  69.                                     <td class="align-middle ps-3 text-break">
  70.                                         {% if Page.file_name %}{{ Page.file_name }}.twig{% endif %}
  71.                                     </td>
  72.                                     {# TODO レイアウトの数にかかわらず高さを揃えたい #}
  73.                                     <td class="align-middle{{ Page.layouts|length < 2 ? ' pb-4' }} text-nowrap">
  74.                                         {% for Layout in Page.layouts %}
  75.                                             {% if Layout.device_type.id == constant('Eccube\\Entity\\Master\\DeviceType::DEVICE_TYPE_PC') %}
  76.                                                 {% set icon = 'fa-desktop' %}
  77.                                             {% else %}
  78.                                                 {% set icon = 'fa-mobile fa-2x' %}
  79.                                             {% endif %}
  80.                                             <div class="d-block">
  81.                                                 <i class="fa {{ icon }} me-2"></i>
  82.                                                 <span>{{ Layout.name }}</span>
  83.                                             </div>
  84.                                         {% endfor %}
  85.                                     </td>
  86.                                     <td class="align-middle pe-3">
  87.                                         <div class="row justify-content-end">
  88.                                             {% if Page.edit_type == constant('Eccube\\Entity\\Page::EDIT_TYPE_USER') %}
  89.                                                 <div class="col-auto text-center" data-bs-toggle="tooltip" data-bs-placement="top" title="{{ 'admin.common.delete'|trans }}">
  90.                                                     <a class="btn btn-ec-actionIcon" data-bs-toggle="modal" data-bs-target="#delete_{{ Page.id }}">
  91.                                                         <i class="fa fa-close fa-lg text-secondary" aria-hidden="true"></i>
  92.                                                     </a>
  93.                                                 </div>
  94.                                                 <div class="modal fade" id="delete_{{ Page.id }}" tabindex="-1" role="dialog"
  95.                                                      aria-labelledby="delete_{{ Page.id }}" aria-hidden="true">
  96.                                                     <div class="modal-dialog" role="document">
  97.                                                         <div class="modal-content">
  98.                                                             <div class="modal-header">
  99.                                                                 <h5 class="modal-title fw-bold">{{ 'admin.common.delete_modal__title'|trans }}</h5>
  100.                                                                 <button class="btn-close" type="button" data-bs-dismiss="modal" aria-label="Close">
  101.                                                                 </button>
  102.                                                             </div>
  103.                                                             <div class="modal-body text-start">
  104.                                                                 <p class="text-start">{{ 'admin.common.delete_modal__message'|trans({ '%name%' : Page.name }) }}</p>
  105.                                                             </div>
  106.                                                             <div class="modal-footer">
  107.                                                                 <button class="btn btn-ec-sub" type="button" data-bs-dismiss="modal">{{ 'admin.common.cancel'|trans }}</button>
  108.                                                                 <a class="btn btn-ec-delete" href="{{ url('admin_content_page_delete', {'id' : Page.id}) }}"
  109.                                                                         {{ csrf_token_for_anchor() }} data-method="delete" data-confirm="false">{{ 'admin.common.delete'|trans }}</a>
  110.                                                             </div>
  111.                                                         </div>
  112.                                                     </div>
  113.                                                 </div>
  114.                                             {% endif %}
  115.                                         </div>
  116.                                     </td>
  117.                                 </tr>
  118.                             {% endfor %}
  119.                         </table>
  120.                     </div>
  121.                 </div>
  122.             </div>
  123.         </div>
  124.     </div>
  125. {% endblock %}