public/template/menu/templates/demo/menu.html.twig line 1

Open in your IDE?
  1. {% extends 'menushopbase.html.twig' %}
  2. {% block title %}{% endblock %}
  3. {% block stylesheets %}
  4.     {{ parent() }}
  5.     <style>
  6.         .accordion-button:after {
  7.             display:none !important;
  8.         }
  9.         body {
  10.            background: white;
  11.         }
  12.        .firmnameColor {
  13.     color: #444444;
  14.     display: block;
  15.     margin: 0 auto;
  16.     text-align: center;
  17.     font-size: 3em;
  18.     padding-top: 25px;
  19. }
  20.         .bodySize {
  21.         }
  22.         .navColor {
  23.         }
  24.         .titleColor {
  25.         }
  26.         b.numberinMenu {
  27.     background: #444;
  28.     width: 50px !important;
  29.     height: 50px !important;
  30.     display: inline-block;
  31.     text-align: center;
  32.     color: white;
  33. }
  34.         .rating {
  35.             --dir: right;
  36.             --fill: gold;
  37.             --fillbg: rgba(100, 100, 100, 0.15);
  38.             --heart: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 21.328l-1.453-1.313q-2.484-2.25-3.609-3.328t-2.508-2.672-1.898-2.883-0.516-2.648q0-2.297 1.57-3.891t3.914-1.594q2.719 0 4.5 2.109 1.781-2.109 4.5-2.109 2.344 0 3.914 1.594t1.57 3.891q0 1.828-1.219 3.797t-2.648 3.422-4.664 4.359z"/></svg>');
  39.             --star: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 17.25l-6.188 3.75 1.641-7.031-5.438-4.734 7.172-0.609 2.813-6.609 2.813 6.609 7.172 0.609-5.438 4.734 1.641 7.031z"/></svg>');
  40.             --stars: 5;
  41.             --starsize: 3rem;
  42.             --symbol: var(--star);
  43.             --value: 1;
  44.             --w: calc(var(--stars) * var(--starsize));
  45.             --x: calc(100% * (var(--value) / var(--stars)));
  46.             block-size: var(--starsize);
  47.             inline-size: var(--w);
  48.             position: relative;
  49.             touch-action: manipulation;
  50.             -webkit-appearance: none;
  51.         }
  52.         [dir="rtl"] .rating {
  53.             --dir: left;
  54.         }
  55.         .rating::-moz-range-track {
  56.             background: linear-gradient(to var(--dir), var(--fill) 0 var(--x), var(--fillbg) 0 var(--x));
  57.             block-size: 100%;
  58.             mask: repeat left center/var(--starsize) var(--symbol);
  59.         }
  60.         .rating::-webkit-slider-runnable-track {
  61.             background: linear-gradient(to var(--dir), var(--fill) 0 var(--x), var(--fillbg) 0 var(--x));
  62.             block-size: 100%;
  63.             mask: repeat left center/var(--starsize) var(--symbol);
  64.             -webkit-mask: repeat left center/var(--starsize) var(--symbol);
  65.         }
  66.         .rating::-moz-range-thumb {
  67.             height: var(--starsize);
  68.             opacity: 0;
  69.             width: var(--starsize);
  70.         }
  71.         .rating::-webkit-slider-thumb {
  72.             height: var(--starsize);
  73.             opacity: 0;
  74.             width: var(--starsize);
  75.             -webkit-appearance: none;
  76.         }
  77.         .rating, .rating-label {
  78.             display: block;
  79.             font-family: ui-sans-serif, system-ui, sans-serif;
  80.         }
  81.         .rating-label {
  82.             margin-block-end: 1rem;
  83.         }
  84.         /* NO JS */
  85.         .rating--nojs::-moz-range-track {
  86.             background: var(--fillbg);
  87.         }
  88.         .rating--nojs::-moz-range-progress {
  89.             background: var(--fill);
  90.             block-size: 100%;
  91.             mask: repeat left center/var(--starsize) var(--star);
  92.         }
  93.         .rating--nojs::-webkit-slider-runnable-track {
  94.             background: var(--fillbg);
  95.         }
  96.         .rating--nojs::-webkit-slider-thumb {
  97.             background-color: var(--fill);
  98.             box-shadow: calc(0rem - var(--w)) 0 0 var(--w) var(--fill);
  99.             opacity: 1;
  100.             width: 1px;
  101.         }
  102.         [dir="rtl"] .rating--nojs::-webkit-slider-thumb {
  103.             box-shadow: var(--w) 0 0 var(--w) var(--fill);
  104.         }
  105.     </style>
  106. {% endblock %}
  107. {% block header %}
  108.     <div class="container">
  109.         <header class="logo">
  110.             <h3 class="text-logo firmnameColor"> <b >{{ s.geschaftName }}</b></h3>
  111.         </header>
  112.     </div>
  113. {% endblock %}
  114. {% block main %}
  115.     <div class="container">
  116.         <div class="row">
  117.         <div class="col-xs-12 col-sm-12 col-md-6">
  118.         <div class="firmdata">
  119.             <p class="text-center">
  120.             {% if impress.geschaftAddress is not null %}
  121.              <b>{{ impress.geschaftAddress }}</b>
  122.              {% endif %}
  123.              {% if impress.geschaftHNumber is not null %}
  124.              <b >{{ impress.geschaftHNumber }}</b>
  125.              {% endif %}
  126.              <br>
  127.              {% if impress.geschaftZIP is not null %}
  128.              <b id="geschaftZIP">{{ impress.geschaftZIP }}</b>
  129.              {% endif %}
  130.              {% if impress.geschaftCity is not null %}
  131.              <b id="geschaftCity">{{ impress.geschaftCity }}</b><br>
  132.              {% endif %}
  133. <br>
  134. {% if impress.geschaftTel %}
  135. Tel: <a href="tel:{{ impress.geschaftTel }}">{{ impress.geschaftTel }}</a><br>
  136. {% endif %}
  137. {% if impress.geschaftEmail %}
  138. Email: <a href="mailto:{{ impress.geschaftEmail }}">{{ impress.geschaftEmail }}</a><br>
  139. {% endif %}
  140.     </p>
  141.         </div>
  142. </div>
  143.         <div class="col-xs-12 col-sm-12 col-md-6">
  144.         {% if openClose is iterable  %}
  145.          <p class="text-center"><b>Heute:</b>   {% if openClose is not null  %} {{ openClose[1] }}  - {{ openClose[2]}} {% endif %} </p>
  146.         {% else %}
  147. <p class="text-center"><b>Heite:</b>   {% if openClose is not null  %} {{ openClose }} {% endif %} </p>
  148.         {% endif %}
  149.     <div class="deliver">
  150.     <p class="text-center">
  151.     <b> Lieferbedienungen:  </b>
  152.         {% for d in delivery %}
  153.                {{ d.name }}
  154.         {% endfor %}
  155.         </p>
  156.         <div class="payment">
  157.  <p class="text-center">
  158. <b> Bezahlmethoden: </b>
  159.         {% for p in payment %}
  160.               {{ p.name }}
  161.         {% endfor %}
  162.         </p>
  163. </div>
  164. </div>
  165. </div>
  166.     <hr>
  167. </div>
  168.     {#<div class="modal fade" id="demo" tabindex="-1" role="dialog" aria-labelledby="agb_modallabel" aria-hidden="true">
  169.         <div class="modal-dialog" role="document">
  170.             <div class="modal-content">
  171.                 <div class="modal-header">
  172.                     <h3 class="modal-title" id="agb_modallabel">Achtung</h3>
  173.                     <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
  174.                         <span aria-hidden="true">&times;</span>
  175.                     </button>
  176.                 </div>
  177.                 <div class="modal-body">
  178.                     Dies ist eine Demoversion und nicht für den Endbenutzer bestimmt.
  179.                     Das Unternehmen ist nicht verantwortlich für die Handlungen des Benutzers während des Testens der Website-Funktionalität.
  180.                 </div>
  181.             </div>
  182.         </div>
  183.     </div>#}
  184.         <h4 class="text-center display-2 text-uppercase titleColor" style="font-size: 3em !important; text-transform: uppercase;">speisekarte</h4>
  185.             <div class="row">
  186.                 <div class="col-md-12">
  187.                     <div class="accordion" id="accordionMenu">
  188.                         {% for key, value in allProducts %}
  189.                         {% if value|length > 0 %}
  190.                           {% set products = value %}
  191.                           {#  {% if category.enableMenu == true or category.enableMenu is not null or category.enableMenu is not empty %}#}
  192.                                 <div class="accordion-item">
  193.                                 <h2 class="accordion-header " >
  194.                                     <button class="accordion-button navColor" type="button" >
  195.                                         {{ key }}
  196.                                     </button>
  197.                                 </h2>
  198.                                 <div id="collapse{{ key }}" class="accordion-collapse collapse show" aria-labelledby="heading{{ key }}" data-bs-parent="#accordionMenu">
  199.                                     <div class="accordion-body">
  200.                                         <div class="w3-container w3-white w3-padding-top-32">
  201.                                             {% for product in products %}
  202.                                                 <h1 class="w3-font titleColor">
  203.                                                 {% if product.numberInMenu is not empty %}
  204.                                                     <b class="numberinMenu">{{ product.numberInMenu }}</b>
  205.                                                 {% endif %}
  206.                                                  {% if product.nameInShopMenu is not empty %}
  207.                                                 <b>{{ product.nameInShopMenu }}</b>
  208.                                                 {% else %}
  209.                                                   <b>{{ product.name }}</b>
  210.                                                   {% endif %}
  211.                                                     <span class="w3-right w3-tag w3-dark-grey w3-round"> {{ product.price | format_currency(s.currency)  }}</span></h1>
  212.                                                     {% if product.description is not null and product.description is not empty %}
  213.                                                          <p class="w3-xxlarge w3-text-grey bodySize"><b>{{ product.description }}</b></p>
  214.                                                     {% endif %}
  215.                                                 {% if product.component is not empty  %}
  216.                                                 <p class="w3-xxlarge w3-text-grey bodySize"  style="">
  217.                                                     <b>Inhaltsstoffe/Zusatzstoffe:</b> &nbsp;
  218.                                                     {% for component in product.component %}
  219.                                                         {% if loop.last %}
  220.                                                          {{ component.name }}
  221.                                                         {% else %}
  222.                                                             {{ component.name }} ,
  223.                                                         {% endif %}
  224.                                                     {% endfor %}
  225.                                                 </p>
  226.                                                 {% endif %}
  227.                                                 {% if product.alergen is not empty  %}
  228.                                                     <p class="w3-xxlarge w3-text-grey bodySize">
  229.                                                     <b>Allergen:</b> &nbsp;
  230.                                                     {% for alergen in product.alergen %}
  231.                                                         {{ alergen.name }} ,
  232.                                                     {% endfor %}
  233.                                                 </p>
  234.                                                 {% endif %}
  235.                                                 {% if product.calories is not empty  %}
  236.                                                     <p class="w3-xxlarge w3-text-grey bodySize">
  237.                                                         <b>Calories:</b> {{  product.calories }}
  238.                                                     </p>
  239.                                                 {% endif %}
  240.                                                 {% if not  loop.last %}
  241.                                                     <hr>
  242.                                                 {% endif %}
  243.                                             {% endfor %}
  244.                                         </div>
  245.                                     </div>
  246.                                 </div>
  247.                             </div>
  248.                           {#  {% endif %}#}
  249.                           {% endif %}
  250.                         {% endfor %}
  251.                         {% if feedback == true %}
  252.                         <div class="accordion-item">
  253.                             <h2 class="accordion-header" id="Feedback3">
  254.                                 <button class="accordion-button navColor" type="button" aria-controls="collapseFeedback">
  255.                                   Feedback
  256.                                 </button>
  257.                             </h2>
  258.                             <div id="collapseFeedback" class="accordion-collapse collapse show" aria-labelledby="headingFeedback" data-bs-parent="#accordionMenu">
  259.                                 <div class="accordion-body">
  260.                                     {{ form(form) }}
  261.                                 </div>
  262.                             </div>
  263.                         </div>
  264.                         {% endif %}
  265.                     </div>
  266.                 </div>
  267.             </div>
  268.     </div>
  269. {% endblock %}
  270. {% block footer %}
  271.     <footer class="container-fluid" style="padding:2em; background: #e4e4e4; position: inherit;
  272.                         bottom: 0;" >
  273.                         <div class="container">
  274.                         <div class="row">
  275.                         <div class="col-4 offset-4">
  276.                         <p class="text-center"> <a href="https://blitzkasse.de">Powered by Blitzkasse.de</a>
  277. </p>
  278. <p>Der Betreiber dieser Internetseite ist Informationslieferant und für die hier präsentierten Informationen verantwortlich.<br>
  279. Der Betreiber dieser Website ist {{ impress.geschaftInh }}</p>
  280. </div>
  281. </div>
  282. </div>
  283.         <div class="container">
  284.             <div class="row">
  285.                 <div class="col-4">
  286.                     <ul class="list-unstyled text-large">
  287.                         <li class="mb-1"><a class="link-secondary text-decoration-none" id="impressum_btn" data-toggle="modal" id="" data-target="#impressum" href="javascript:void(0)">IMPRESSUM</a></li>
  288.                     </ul>
  289.                 </div>
  290.                 <div class="col-4">
  291.                     <ul class="list-unstyled text-large">
  292.                         <li class="mb-1"><a class="link-secondary text-decoration-none" id="datenschutz_btn" data-toggle="modal" data-target="#data" href="javascript:void(0);">Datenshutz</a></li>
  293.                     </ul>
  294.                 </div>
  295.                       <div class="col-4">
  296.                     <ul class="list-unstyled text-large">
  297.                         <li class="mb-1"><a class="link-secondary text-decoration-none" id="agb_btn" data-toggle="modal" data-target="#exampleModal" href="javascript:void(0)">AGB</a></li>
  298.                     </ul>
  299.                 </div>
  300.             </div>
  301.         </div>
  302.     </footer>
  303. {#    Datenschutz Modal#}
  304.     <!-- Modal -->
  305.     <div class="modal fade" id="daten" tabindex="-1" role="dialog" aria-labelledby="datenlabel" aria-hidden="true">
  306.         <div class="modal-dialog" role="document">
  307.             <div class="modal-content">
  308.                 <div class="modal-header">
  309.                     <h5 class="modal-title" id="datenlabel">Datenschutz</h5>
  310.                     <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
  311.                         <span aria-hidden="true">&times;</span>
  312.                     </button>
  313.                 </div>
  314.                 <div class="modal-body">
  315.                    {{ s.shopDatenshutz|raw }}
  316.                 </div>
  317.             </div>
  318.         </div>
  319.     </div>
  320. {#    AGB Modal#}
  321.     <!-- Modal -->
  322.     <div class="modal fade" id="agb_modal" tabindex="-1" role="dialog" aria-labelledby="agb_modallabel" aria-hidden="true">
  323.         <div class="modal-dialog" role="document">
  324.             <div class="modal-content">
  325.                 <div class="modal-header">
  326.                     <h5 class="modal-title" id="agb_modallabel">AGB</h5>
  327.                     <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
  328.                         <span aria-hidden="true">&times;</span>
  329.                     </button>
  330.                 </div>
  331.                 <div class="modal-body">
  332.                    {{ s.shopAGB|raw }}
  333.                 </div>
  334.             </div>
  335.         </div>
  336.     </div>
  337. {#    Impressum modal#}
  338.     <!-- Modal -->
  339.     <div class="modal fade" id="impressum" tabindex="-1" role="dialog" aria-labelledby="impressumlabel" aria-hidden="true">
  340.         <div class="modal-dialog" role="document">
  341.             <div class="modal-content">
  342.                 <div class="modal-header">
  343.                     <h5 class="modal-title" id="impressumlabel">Impressum</h5>
  344.                     <button type="button" class="close" data-bs-dismiss="modal" aria-label="Close">
  345.                         <span aria-hidden="true">&times;</span>
  346.                     </button>
  347.                 </div>
  348.                 <div class="modal-body">
  349.                         <div class="preview">
  350.                                 <p>Anbieter gem. § 5 Telemediengesetz (TMG) und § 18 des Medienstaatsvertrags (MStV):
  351.                                 </p>
  352.                                 {% if s.geschaftName != "0" %}
  353.                                  <span id="geschaftName">{{ s.geschaftName }}</span><br>
  354.                                 {% endif %}
  355.                                 {% if impress.geschaftInh != "0" %}
  356.                                  <span id="geschaftInh">{{ impress.geschaftInh }}</span><br>
  357.                                 {% endif %}
  358.                                 {% if impress.geschaftAddress != "0" %}
  359.                                   <span> <b id="geschaftAddress">{{ impress.geschaftAddress }}</b> <b id="geschaftHNumber">{{ impress.geschaftHNumber }}</b>, <b id="geschaftZIP">{{ impress.geschaftZIP }}</b>  ,<b id="geschaftCity">{{ impress.geschaftCity }}</b> </span><br>
  360.                                 {% endif %}
  361.                                 {% if impress.geschaftTel != "0" %}
  362.                                 <span>Tel.::<b id="geschaftTel">{{ impress.geschaftTel }}</b></span><br>
  363.                                 {% endif %}
  364.                                 {% if impress.geschaftFax != "0" %}
  365.                                 <span>Fax.::<b id="geschaftFax">{{ impress.geschaftFax }}</b></span><br>
  366.                                 {% endif %}
  367.                                 {% if impress.geschaftWebsite != "0" %}
  368.                                 <span id="geschaftWebsite"><a href="{{ impress.geschaftWebsite }}">{{ impress.geschaftWebsite }}</a></span><br>
  369.                                 {% endif %}
  370.                                 {% if impress.geschaftEmail != "0" %}
  371.                                   <span>Email.::<b id="geschaftEmail">{{ impress.geschaftEmail }}</b></span><br>
  372.                                 {% endif %}
  373.                                 {% if impress.HBR != "0" %}
  374.                                   <span>HRB  .::<b id="HBR">{{ impress.HBR }}</b></span><br>
  375.                                 {% endif %}
  376.                                 {% if impress.geschaftSteuer != "0" %}
  377.                                   <span>USt.ID <b id="geschaftSteuer">{{ impress.geschaftSteuer }}</b></span><br>
  378.                                 {% endif %}
  379.                                 {% if impress.registergericht != "0" %}
  380.                                    <div id="registergericht_text"><span>Registergericht: <b id="registergericht">{{ impress.registergericht }}</b></span><br></div>
  381.                                 {% endif %}
  382.                                 {% if impress.handelsregisternummer != "0" %}
  383.                                  <div id="handelsregisternummer_text"><span>Handelsregisternummer: <b id="handelsregisternummer">{{ impress.handelsregisternummer }}</b></span><br></div>
  384.                                 {% endif %}
  385.                                 {% if impress.geschaftBank %}
  386.                                        {% if impress.geschaftBank != "0" %}
  387.                                 <span id="geschaftBank">Bankname: {{ impress.geschaftBank }}</span><br>
  388.                                  {% endif %}
  389.                                    {% if impress.geschaftIBAN != "0" %}
  390.                                 <span>IBAN: <b id="geschaftIBAN">{{ impress.geschaftIBAN }}</b></span><br>
  391.                                  {% endif %}
  392.                                    {% if impress.geschaftBIC != "0" %}
  393.                                 <span>BIC: <b id="geschaftBIC">{{ impress.geschaftBIC }}</b></span><br>
  394.                                  {% endif %}
  395.                                 {% endif %}
  396.                                 <p>Informationen zur Online-Streitbeilegung Die EU-Kommission stellt im Internet unterfolgendem Link eine Plattform zur Online-Streitbeilegung bereit:https://ec.europa.eu/consumers/odr/ Diese Plattform dient als Anlaufstelle zur außergerichtlichen Beilegungvon Streitigkeiten aus Online-Kauf- oder Dienstleistungsverträgen, andenen ein Verbraucher beteiligt ist.</p>
  397.                 </div>
  398.             </div>
  399.         </div>
  400.     </div>
  401. {% endblock %}
  402. {% block js %}
  403.     <script>
  404.         let url = "{{ path('leaveFeedback',{'shopName': s.geschaftName}) }}";
  405.         $( document ).ready(function() {
  406.                $("#agb_btn").on('click', function (){
  407.                    $('#agb_modal').modal('toggle');
  408.                });
  409.                $("#datenschutz_btn").on('click', function (){
  410.                    $('#daten').modal('toggle');
  411.                });
  412.                $("#impressum_btn").on('click', function (){
  413.                    $('#impressum').modal('toggle');
  414.                });
  415.                let noty = "{{ notification }}";
  416.                if(noty !== "false"){
  417.                    Swal.fire(
  418.                        'Good job!',
  419.                        'Feedback leaved!',
  420.                        'success'
  421.                    )
  422.                }
  423.                $('#user_feedback_rank').on('input', function() {
  424.   text = $('user_feedback_rank').val();
  425.   $('div').html(text);
  426. });
  427.         });
  428.      /*   $('document').ready(function() {
  429.             $('#demo').modal('toggle');
  430.         });*/
  431.         function isEmail(email) {
  432.             var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  433.             return regex.test(email);
  434.         }
  435.     </script>
  436. {% endblock %}