themes/BootstrapChildTheme/BitBagSyliusCmsPlugin/views/Shop/FrequentlyAskedQuestion/index.html.twig line 1

Open in your IDE?
  1. {% extends '@SyliusShop/layout.html.twig' %}
  2. {% import '@SyliusUi/Macro/messages.html.twig' as messages %}
  3. {% block content %}
  4. <style>
  5.     .accord>div.active {
  6.     }
  7.     .accord>div:not(.active) {
  8.         height:0;
  9.         overflow:hidden;
  10.         margin:0;
  11.         transition: height 0.5s ease-in-out;
  12.     }
  13.     .accord>h2{
  14.         color:#003CBC;
  15.         font-size: 1.3125rem; 
  16.         font-family: Poppins; 
  17.         font-weight: 700; 
  18.         letter-spacing: 0.02625rem; 
  19.         cursor: pointer;
  20.         background-color: #F2F5FC;
  21.         padding:1.25rem 1.88rem;
  22.         margin-top:2.19rem;
  23.         margin-bottom:0;
  24.     }
  25.     .accord>h2+div>div{
  26.         background-color: #F2F5FC;
  27.         padding:1.88rem;
  28.     }
  29.     .accord>h2>img{
  30.         margin-right:1.87rem;
  31.         width:2.5rem;
  32.     }
  33.     #bitbag-faqs .accordion-button{
  34.         color:#000;
  35.         padding-left:0;
  36.     }
  37.     #bitbag-faqs .accordion-collapse p span{
  38.         font-size:0.9rem !important;
  39.         font-style: normal !important;
  40.         font-weight: 400 !important;
  41.         line-height: normal !important; 
  42.     }
  43.     #bitbag-faqs .accordion-button.active::after{
  44.         transform: rotate(180deg) !important;
  45.     }
  46.     #bitbag-faqs .accordion-collapse{
  47.         height:0;
  48.         overflow:hidden;
  49.         margin:0;
  50.         transition: height 0.5s ease-in-out;
  51.     }
  52.     #bitbag-faqs .collapse:not(.show) {
  53.         display: block !important;
  54.       }
  55. </style>
  56.     <div class="ui stackable grid mt-5">
  57.         <h1 class="ui monster section dividing header">{{ 'sylius_pages.page.faqTitle'|trans }}</h1>
  58.         <div id="bitbag-faqs" class="ui sixteen wide column">
  59.             {% if resources|length > 0 %}
  60.                 <div class="ui one">
  61.                     <div class="accord">
  62.                         <h2><img src="{{ asset('assets/shop/img/crop_square.svg') }}" />{{ 'app.pages.faq.storyteller_operation'|trans }}</h2>
  63.                         <div>
  64.                             <div class="calcHeight">
  65.                             {% for frequentlyAskedQuestion in resources %}
  66.                                 {% if frequentlyAskedQuestion.position < 10 %}
  67.                                 <div class="w-100 d-block">
  68.                                     {% include '@BitBagSyliusCmsPlugin/Shop/FrequentlyAskedQuestion/Index/_show.html.twig' %}
  69.                                 </div>
  70.                                 {% endif %}
  71.                             {% endfor %}
  72.                             </div>
  73.                         </div>
  74.                     </div>
  75.                     <div class="accord">
  76.                         <h2><img src="{{ asset('assets/shop/img/phone_iphone.svg') }}" />{{ 'app.pages.faq.app_operation'|trans }}</h2>
  77.                         <div>
  78.                             <div class="calcHeight">
  79.                             {% for frequentlyAskedQuestion in resources %}
  80.                                 {% if frequentlyAskedQuestion.position >= 10 and frequentlyAskedQuestion.position < 20 %}
  81.                                 <div class="w-100 d-block">
  82.                                     {% include '@BitBagSyliusCmsPlugin/Shop/FrequentlyAskedQuestion/Index/_show.html.twig' %}
  83.                                 </div>
  84.                                 {% endif %}
  85.                             {% endfor %}
  86.                             </div>
  87.                         </div>
  88.                     </div>
  89.                     <div class="accord">
  90.                         <h2><img src="{{ asset('assets/shop/img/menu_book.svg') }}" />{{ 'app.pages.faq.catalog'|trans }}</h2>
  91.                         <div>
  92.                             <div class="calcHeight">
  93.                             {% for frequentlyAskedQuestion in resources %}
  94.                                 {% if frequentlyAskedQuestion.position >= 20 and frequentlyAskedQuestion.position < 30 %}
  95.                                 <div class="w-100 d-block">
  96.                                     {% include '@BitBagSyliusCmsPlugin/Shop/FrequentlyAskedQuestion/Index/_show.html.twig' %}
  97.                                 </div>
  98.                                 {% endif %}
  99.                             {% endfor %}
  100.                             </div>
  101.                         </div>
  102.                     </div>
  103.                     <div class="accord">
  104.                         <h2><img src="{{ asset('assets/shop/img/local_mall.svg') }}" />{{ 'app.pages.faq.shop_operation'|trans }}</h2>
  105.                         <div>
  106.                             <div class="calcHeight">
  107.                             {% for frequentlyAskedQuestion in resources %}
  108.                                 {% if frequentlyAskedQuestion.position >= 30 and frequentlyAskedQuestion.position < 40 %}
  109.                                 <div class="w-100 d-block">
  110.                                     {% include '@BitBagSyliusCmsPlugin/Shop/FrequentlyAskedQuestion/Index/_show.html.twig' %}
  111.                                 </div>
  112.                                 {% endif %}
  113.                             {% endfor %}
  114.                             </div>
  115.                         </div>
  116.                     </div>
  117.                     <div class="accord">
  118.                         <h2><img src="{{ asset('assets/shop/img/list_alt.svg') }}" />{{ 'app.pages.faq.orders_and_deliveries'|trans }}</h2>
  119.                         <div>
  120.                             <div class="calcHeight">
  121.                             {% for frequentlyAskedQuestion in resources %}
  122.                                 {% if frequentlyAskedQuestion.position >= 40 and frequentlyAskedQuestion.position < 50 %}
  123.                                 <div class="w-100 d-block">
  124.                                     {% include '@BitBagSyliusCmsPlugin/Shop/FrequentlyAskedQuestion/Index/_show.html.twig' %}
  125.                                 </div>
  126.                                 {% endif %}
  127.                             {% endfor %}
  128.                             </div>
  129.                         </div>
  130.                     </div>
  131.                     <div class="accord">
  132.                         <h2><img src="{{ asset('assets/shop/img/account_circle.svg') }}" />{{ 'app.pages.faq.my_account'|trans }}</h2>
  133.                         <div>
  134.                             <div class="calcHeight">
  135.                             {% for frequentlyAskedQuestion in resources %}
  136.                                 {% if frequentlyAskedQuestion.position >= 50 and frequentlyAskedQuestion.position < 60 %}
  137.                                 <div class="w-100 d-block">
  138.                                     {% include '@BitBagSyliusCmsPlugin/Shop/FrequentlyAskedQuestion/Index/_show.html.twig' %}
  139.                                 </div>
  140.                                 {% endif %}
  141.                             {% endfor %}
  142.                             </div>
  143.                         </div>
  144.                     </div>
  145.                     <div class="accord">
  146.                         <h2><img src="{{ asset('assets/shop/img/library_music.svg') }}" />{{ 'app.pages.faq.book_subscription_audios'|trans }}</h2>
  147.                         <div>
  148.                             <div class="calcHeight">
  149.                             {% for frequentlyAskedQuestion in resources %}
  150.                                 {% if frequentlyAskedQuestion.position >= 60 and frequentlyAskedQuestion.position < 70 %}
  151.                                 <div class="w-100 d-block">
  152.                                     {% include '@BitBagSyliusCmsPlugin/Shop/FrequentlyAskedQuestion/Index/_show.html.twig' %}
  153.                                 </div>
  154.                                 {% endif %}
  155.                             {% endfor %}
  156.                             </div>
  157.                         </div>
  158.                     </div>
  159.                 </div>
  160.             {% else %}
  161.                 {{ messages.info('sylius.ui.no_results_to_display') }}
  162.             {% endif %}
  163.         </div>
  164.     </div>
  165.     
  166.     {% if resources|length > 0 %}
  167.         <script type="application/ld+json">
  168.         {
  169.           "@context": "https://schema.org",
  170.           "@type": "FAQPage",
  171.           "mainEntity": [
  172.             {% for frequentlyAskedQuestion in resources %}
  173.                 {
  174.                     "@type": "Question",
  175.                     "name": "{{ frequentlyAskedQuestion.question }}",
  176.                     "acceptedAnswer": {
  177.                         "@type": "Answer",
  178.                         "text": "{{ frequentlyAskedQuestion.answer|striptags|escape }}"
  179.                     }
  180.                 }{% if not loop.last %},{% endif %}
  181.             {% endfor %}
  182.           ]
  183.         }
  184.         
  185.        
  186.         </script>
  187.     {% endif %}
  188. {% endblock %}
  189. {% block javascripts %}
  190.         <script>
  191.             let accord = document.querySelectorAll(".accord>h2");
  192.             let ssQ = document.querySelectorAll(".accordion-button");
  193.         for(const acc of accord){
  194.             acc.addEventListener("click", function(){
  195.                 this.classList.toggle('active');
  196.                 if(this.classList.contains('active')){
  197.                     let childDiv = this.nextElementSibling.querySelector("div.calcHeight");
  198.                     let height = childDiv.offsetHeight;
  199.                     this.nextElementSibling.style.height = height + "px";
  200.                 }else{
  201.                     this.nextElementSibling.style.height = "0px";
  202.                 }
  203.             })
  204.         }
  205.         for(const s of ssQ){
  206.             s.addEventListener("click", function(){
  207.                 this.classList.toggle('active');
  208.                 let id = this.dataset.bsTarget;
  209.                 let div = document.querySelector(id);
  210.                 let heightParent = this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.offsetHeight;
  211.                 let sHeight = div.querySelector(".accordion-body").offsetHeight;
  212.                 console.log(sHeight);
  213.                 if(this.classList.contains('active')){
  214.                     div.style.height = sHeight + "px";
  215.                     this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.style.height = (heightParent + sHeight + 20) + "px";
  216.                 }
  217.                 else{
  218.                     div.style.height = "0px";
  219.                     this.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode.style.height = (heightParent - sHeight - 20) + "px";
  220.                 }
  221.             })
  222.         }
  223.         </script>
  224. {% endblock %}