templates/Trainings/training_listing.html.twig line 1

Open in your IDE?
  1. {% extends "layout/layout.html.twig" %}
  2. {# {% block title %}GFS::Training Listing{% endblock %} #}
  3. {% block content %}
  4.     <!--Start Wrapper-->
  5.     <div
  6.         class="wrapper">
  7.         <!--Start Main Slider-->
  8.         <section class="main-slider-section product-main-slider">
  9.             <div class="container container-lg">
  10.                 <div class="custom-slider singal-slider main-slider">
  11.                     <div class="slide">
  12.                         <div class="slide-media slide-media-desktop">
  13.                             <img src="/static/assets/images/All_Training_Desktop_Spotlight_Desktop.jpg" alt="Training all banner image"/>
  14.                         </div>
  15.                         <div class="slide-media slide-media-mobile">
  16.                             <img src="/static/assets/images/All_Training_Desktop_Spotlight_Mobile.jpg" alt="Training all banner image mobile"/>
  17.                         </div>
  18.                         <div class="silde-content-box">
  19.                             <div class="slide-content">
  20.                                 <h1>
  21.                                     <span class="title-sm d-block">{{ pimcore_input("training_list_heading1") }}</span>
  22.                                     <span class="title-lg underline-end">{{ pimcore_input("training_list_heading2") }}</u>
  23.                                 </h3>
  24.                             </h1>
  25.                             <a href="javascript:void(0)" class="btn btn-custom btn-overlay d-none">Discover More</a>
  26.                         </div>
  27.                         <div class="product-brand d-none">
  28.                             <img src="/static/assets/images/goody_logo.png" alt="goody logo"/>
  29.                         </div>
  30.                     </div>
  31.                 </div>
  32.             </div>
  33.         </div>
  34.     </section>
  35.     <!--End Main Slider-->
  36.     <!--Start Breadcrumbs-->
  37.     <div class="breadcrumb-holder">
  38.         <ol class="breadcrumb">
  39.             <li class="breadcrumb-item">
  40.                 <a href="/{{app.request.locale}}">{{'Home'|trans}}</a>
  41.             </li>
  42.             <li class="breadcrumb-item">
  43.                 <a href="/{{app.request.locale}}/professional-training">{{'Training'|trans}}</a>
  44.             </li>
  45.             <li class="breadcrumb-item active" aria-current="page">
  46.                 {{'All Training'|trans}}
  47.             </li>
  48.         </ol>
  49.     </div>
  50.     <!--End Breadcrumbs-->
  51.     <!--Start Page Info Section-->
  52.     <section class="pageinfo-section">
  53.         <div class="container container-sm">
  54.             <h2 class="title">{{'All Training'|trans}}</h2>
  55.             {# <p>
  56.                                                                         At Goody we strive to cater to the needs of different food service
  57.                                                                         channels by offering a wide variety of food and beverages. Our
  58.                                                                         client base includes hotels, restaurants bakeries and catering
  59.                                                                         companies. By partnering with our clients, we are able to assist
  60.                                                                         them in sourcing the right ingredients to provide better meals for
  61.                                                                         their customers. Over the years, Goody professional has established its position
  62.                                                                         as a trusted food service supplier that continuously works to
  63.                                                                         enhance its clients’ experience.
  64.                                                                       </p> #}
  65.             <p>{{ pimcore_input("training_list_description") }}</p>
  66.         </div>
  67.     </section>
  68.     <!--End Page Info Section-->
  69.     <!--Start Product Box-->
  70.     <section class="product-result-container culinary-programs-training-section-last">
  71.         <div class="container container-sm">
  72.             <div class="row">
  73.                 <div class="col-12 col-md-12 col-xl-3 filter-box">
  74.                     <h4 class="title">{{'Filters'|trans}}</h4>
  75.                     <div class="filder-options">
  76.                         <div class="input-holder">
  77.                             <input type="text" placeholder="{{'Search for Training'|trans}}" class="input-holder-training" id="search" value="{{ (filters is not empty) ? filters.query : '' }}"/>
  78.                         </div>
  79.                     </div>
  80.                     <div class="filter-accordion">
  81.                         <div class="card filter-card d-none" id="filter1">
  82.                             <div class="card-header d-none">
  83.                                 <button type="button" data-toggle="collapse" data-target="#collapse1" aria-expanded="true" aria-controls="collapse1">
  84.                                     Category
  85.                                 </button>
  86.                             </div>
  87.                             <div id="collapse1" class="collapse show" data-parent="#filter1">
  88.                                 <div class="card-body d-none">
  89.                                     <ul class="list-unstyled check-list">
  90.                                         {% for cat in trainCat %}
  91.                                             <li>
  92.                                                 <input class="styled-checkbox category_checkbox" id="{{cat.id}}" type="checkbox" value="{{cat.id}}" {{ (filters is not empty) and (cat.id in filters.category_ids) ? 'checked' : '' }}/>
  93.                                                 <label for="{{cat.id}}">{{cat.trainCateName}}</label>
  94.                                             </li>
  95.                                         {% endfor %}
  96.                                     </ul>
  97.                                     <div class="btn-holder clear-filter">
  98.                                         <a href="javascript:void(0)" class="btn btn-link" onclick="clearFilter('.category_checkbox')">{{'Clear Filter'|trans}}</a>
  99.                                     </div>
  100.                                 </div>
  101.                             </div>
  102.                         </div>
  103.                         <div class="card filter-card" id="filter2">
  104.                             <div class="card-header">
  105.                                 <button type="button" data-toggle="collapse" data-target="#collapse2" aria-expanded="true" aria-controls="collapse2">
  106.                                     {{'Chefs'|trans}}
  107.                                 </button>
  108.                             </div>
  109.                             <div id="collapse2" class="collapse show" data-parent="#filter2">
  110.                                 <div class="card-body">
  111.                                     <ul class="list-unstyled check-list">
  112.                                         {% for chef in chefs %}
  113.                                             <li>
  114.                                                 <input class="styled-checkbox chef_checkbox" id="{{chef.id}}" type="checkbox" value="{{chef.id}}" {{ (filters is not empty) and (chef.id in filters.chef_ids) ? 'checked' : '' }}/>
  115.                                                 <label for="{{chef.id}}">{{chef.chef_name}}</label>
  116.                                             </li>
  117.                                         {% endfor %}
  118.                                     </ul>
  119.                                     <div class="btn-holder clear-filter">
  120.                                         <a href="javascript:void(0)" class="btn btn-link" onclick="clearFilter('.chef_checkbox')">{{'Clear Filter'|trans}}</a>
  121.                                     </div>
  122.                                 </div>
  123.                             </div>
  124.                         </div>
  125.                         <div class="card filter-card d-none" id="filter4">
  126.                             <div class="card-header">
  127.                                 <button type="button" data-toggle="collapse" data-target="#collapse4" aria-expanded="true" aria-controls="collapse4">
  128.                                     Type
  129.                                 </button>
  130.                             </div>
  131.                             <div id="collapse4" class="collapse show" data-parent="#filter4">
  132.                                 <div class="card-body">
  133.                                     <ul class="list-unstyled check-list">
  134.                                         <li>
  135.                                             <input class="styled-checkbox type_checkbox" id="breakfast" type="checkbox" value="Type Name 01"/>
  136.                                             <label for="breakfast">Type Name 01</label>
  137.                                         </li>
  138.                                         <li>
  139.                                             <input class="styled-checkbox type_checkbox" id="brunch" type="checkbox" value="Type Name 02"/>
  140.                                             <label for="brunch">Type Name 02</label>
  141.                                         </li>
  142.                                         <li>
  143.                                             <input class="styled-checkbox type_checkbox" id="lunch" type="checkbox" value="Type Name 03"/>
  144.                                             <label for="lunch">Type Name 03</label>
  145.                                         </li>
  146.                                         <li>
  147.                                             <input class="styled-checkbox type_checkbox" id="supper" type="checkbox" value="Type Name 04"/>
  148.                                             <label for="supper">Type Name 04</label>
  149.                                         </li>
  150.                                         <li>
  151.                                             <input class="styled-checkbox type_checkbox" id="dinner" type="checkbox" value="Type Name 05"/>
  152.                                             <label for="dinner">Type Name 05</label>
  153.                                         </li>
  154.                                         <li>
  155.                                             <input class="styled-checkbox type_checkbox" id="dessert" type="checkbox" value="Type Name 06"/>
  156.                                             <label for="dessert">Type Name 06</label>
  157.                                         </li>
  158.                                         <li>
  159.                                             <input class="styled-checkbox type_checkbox" id="elevenses" type="checkbox" value="Type Name 07"/>
  160.                                             <label for="elevenses">Type Name 07</label>
  161.                                         </li>
  162.                                         <li>
  163.                                             <input class="styled-checkbox type_checkbox" id="tea" type="checkbox" value="Type Name 08"/>
  164.                                             <label for="tea">Type Name 08</label>
  165.                                         </li>
  166.                                     </ul>
  167.                                     <div class="btn-holder clear-filter">
  168.                                         <a href="javascript:void(0)" class="btn btn-link">{{'Clear Filter'|trans}}</a>
  169.                                     </div>
  170.                                 </div>
  171.                             </div>
  172.                         </div>
  173.                         <div class="apply-filter">
  174.                             <a href="javascript:void(0)" class="btn btn-custom btn-green" onclick="searchFilter(this)">{{'Apply Filter'|trans}}</a>
  175.                         </div>
  176.                     </div>
  177.                 </div>
  178.                 <div
  179.                     class="col-12 col-md-12 col-xl-9 product-results">
  180.                     <!--Start Product Small Banner-->
  181.                     <div class="social-holder-box social-small-box catalog-download all-training-box all-training-box-2">
  182.                         <div class="social-holder-img all-training-img slide-media-desktop">
  183.                             <img src="/static/assets/images/485x166_desktop.jpg" alt="small banner desktop"/>
  184.                         </div>
  185.                         <div class="social-holder-img all-training-img slide-media-mobile">
  186.                             <img src="/static/assets/images/374x128_mobile.jpg" alt="small banner mobile"/>
  187.                         </div>
  188.                         <div class="social-holder-info all-training-info all-website-social">
  189.                             <div class="all-training-info-para">
  190.                                 <p>{{'what do you wish to learn today'|trans}}</p>
  191.                             </div>
  192.                             <div class="main-training-search-box-btn btn-border">
  193.                                 <a href="javascript:void(0)" class="btn btn-custom btn-lg-o-white training-btn">{{'Find a Training'|trans}}
  194.                                     <img src="/static/assets/images/cooker-blue.svg" alt="chef-cap"/></a>
  195.                             </div>
  196.                         </div>
  197.                     </div>
  198.                     <!--End Product Small Banner-->
  199.                     <div
  200.                         class="product-box-holder">
  201.                         <!--Start Featured Recipes Section-->
  202.                         <section class="featured-recipes-section inner-frecipes-section all-training-section website-all-training">
  203.                             <div class="featured-recipes">
  204.                                 <div
  205.                                     class="all-training-recip">
  206.                                     {# {{dump(videos)}} #}
  207.                                     {% if videos|length < 1 %}
  208.                                         <h3>No Training Found</h3>
  209.                                     {% endif %}
  210.                                     {% for vid in videos  %}
  211.                                         <div class="slide">
  212.                                             <div class="slide-holder">
  213.                                                 <a href="/{{app.request.locale}}/training_detail1/{{vid.turl}}">
  214.                                                     <figure class="slide-img">
  215.                                                         <img src="{{ vid.Videos[0].title_img.data }}" alt="{{vid.videoName}}"/>
  216.                                                     </figure>
  217.                                                 </a>
  218.                                                 <div class="slide-content">
  219.                                                     <ul class="list-unstyled recipe-info">
  220.                                                         <li class="book-green">
  221.                                                             {{vid.lesson_count}}
  222.                                                             {{'Lesson'|trans}}</li>
  223.                                                         <li class="course-hour-box-content-lesson custom-basic-pdng">
  224.                                                             <span><img src="/static/assets/images/level-01.svg" alt="level-01"/></span>
  225.                                                             <span>
  226.                                                                 {{vid.level}}
  227.                                                             </span>
  228.                                                         </li>
  229.                                                         <li class="feather-clock-green">{{vid.Videos[0]['vid_duration'].data}}
  230.                                                             {{'Sec'|trans}}
  231.                                                             {# {{ render(controller(
  232.                                                                                                                                                                                                                                                                                                                                               'App\\Helper\\VideoHelper::seconds2humanTimes',
  233.                                                                                                                                                                                                                                                                                                                                               {'ss':  vid.Videos[0]["training_vid"].getData().getData().getCustomSettings()['duration']}
  234.                                                                                                                                                                                                                                                                                                                                                 ))
  235.                                                                                                                                                                                                                                                                                                                                                 }} #}
  236.                                                         </li>
  237.                                                     </ul>
  238.                                                     <div class="frecipes-box">
  239.                                                         <a href="/{{app.request.locale}}/training_detail1/{{vid.turl}}">
  240.                                                             <h3>{{vid.videoName}}</h3>
  241.                                                         </a>
  242.                                                         <p>
  243.                                                             {{vid.details}}
  244.                                                         </p>
  245.                                                     </div>
  246.                                                     {# <ul class="list-unstyled recipe-info">
  247.                                                                                                                                                                                                                                                                                                   <li class="share">Share</li>
  248.                                                                                                                                                                                                                                                                                                   <li class="like">Like</li>
  249.                                                                                                                                                                                                                                                                                                   <li class="save">Save</li>
  250.                                                                                                                                                                                                                                                                                                 </ul> #}
  251.                                                     {% set user = app.session.get('loginUserName') %}
  252.                                                     {% if user is not null %}
  253.                                                         <ul class="list-unstyled recipe-info">
  254.                                                             <li class="share" onclick="loyaltyProgram(this,{{vid.id}},'{{vid.videoName}}',10,'Training','Share')">
  255.                                                                 <span onclick="sharemodal('Training','{{ app.request.getSchemeAndHttpHost() ~ '/' ~ app.request.locale ~ '/training_detail/' ~ vid.turl}}','{{" share skill knowledge with your friends"|trans }}')">{{'Share'|trans}}</span>
  256.                                                             </li>
  257.                                                             {% if vid.id in Liked_training_list_Ids %}
  258.                                                                 <li class='liked'>{{'Like'|trans}}</li>
  259.                                                             {% else %}
  260.                                                                 <li class="like training_list" onclick="loyaltyProgram(this,{{vid.id}},'{{vid.videoName}}',10,'Training','Like' , '{{app.request.locale}}')">{{'Like'|trans}}</li>
  261.                                                             {% endif %}
  262.                                                             <li class="download d-none" onclick="loyaltyProgram(this,{{vid.id}},'{{vid.videoName}}',10,'Training','Save')">{{'Download'|trans}}</li>
  263.                                                         </ul>
  264.                                                     {% else %}
  265.                                                         <ul class="list-unstyled recipe-info">
  266.                                                             <li class="share" onclick="sharemodal('Training','{{ app.request.getSchemeAndHttpHost() ~ '/' ~ app.request.locale ~ '/training_detail/' ~ vid.turl}}','{{" share skill knowledge with your friends"|trans }}')">{{'Share'|trans}}</li>
  267.                                                             <li class="like logged-out">{{'Like'|trans}}</li>
  268.                                                             <li class="download d-none">{{'Download'|trans}}</li>
  269.                                                         </ul>
  270.                                                     {% endif %}
  271.                                                 </div>
  272.                                             </div>
  273.                                         </div>
  274.                                     {% endfor %}
  275.                                 </div>
  276.                             </div>
  277.                         </section>
  278.                         <!--End Featured Recipes Section-->
  279.                         <!--Start GFS Loyalty Program-->
  280.                         {{ 
  281.                             pimcore_areablock("content-loyalty", {
  282.                             "allowed": ["loyalty-banner"],
  283.         
  284.                             })
  285.                         }}
  286.                         <div class="info-media loyalty-program loyalty-program-small loyalty-program-listing-inner loyalty-program-inner culinary-loyalty d-none">
  287.                             <div class="info-section">
  288.                                 <h5>{{'Loyalty Program'|trans}}</h5>
  289.                                 <h4>{{ loyaltybanner.sliders[0].localizedfields.data.getLocalizedValue('heading')}}</h4>
  290.                                 <h3>{{ loyaltybanner.sliders[0].localizedfields.data.getLocalizedValue('heading1')}}</h3>
  291.                                 <p>{{ loyaltybanner.sliders[0].localizedfields.data.getLocalizedValue('description')}}</p>
  292.                                 <div class="btn-holder ">
  293.                                     <div class="btn-border">
  294.                                         <a href="/{{app.request.locale}}/loyalty-program" class="btn btn-custom btn-green">{{'Discover More'|trans}}</a>
  295.                                     </div>
  296.                                     <div class="newsletter-subscribe">
  297.                                         <h4 class="cstsmLP">"{{'Coming Soon'|trans}}"</h4>
  298.                                     </div>
  299.                                     {% if app.session.get('loginUserName') is null %}
  300.                                         <div class="btn-border btn-border-black d-none">
  301.                                             <a href="/{{app.request.locale}}/signup" class="btn btn-custom btn-lg-o-black">Sign-up Now!</a>
  302.                                         </div>
  303.                                     {% endif %}
  304.                                 </div>
  305.                             </div>
  306.                             <div class="media-section">
  307.                                 <img src="{{loyaltybanner.sliders[0].slider_image.data}}" alt="loyalty banner"/>
  308.                             </div>
  309.                         </div>
  310.                         <!--End GFS Loyalty Program-->
  311.                         <section class="
  312.                                                                                                                                                                                     featured-recipes-section
  313.                                                                                                                                                                                     inner-frecipes-section
  314.                                                                                                                                                                                     chef-special-dish
  315.                                                                                                                                                                                     training-featured-section
  316.                                                                                                                                                                                   ">
  317.                             <div class="featured-recipes">
  318.                                 <div class="
  319.                                                                                                                                                                                                                                 custom-slider
  320.                                                                                                                                                                                                                                 featured-recipes-slider
  321.                                                                                                                                                                                                                                 all-training-recip
  322.                                                                                                                                                                                                                               ">
  323.                                     {% for vid in videos | slice(6,6)  %}
  324.                                         <div class="slide">
  325.                                             <div class="slide-holder">
  326.                                                 <figure class="slide-img">
  327.                                                     <img src="{{ vid.Videos[0].title_img.data }}" alt="{{vid.videoName}}"/>
  328.                                                 </figure>
  329.                                                 <div class="slide-content">
  330.                                                     <ul class="list-unstyled recipe-info">
  331.                                                         <li class="book-green">
  332.                                                             {{ (vid.lesson_count == 1)? vid.lesson_count ~ " Lesson" : vid.lesson_count ~ " Lessons" }}</li>
  333.                                                         <li
  334.                                                             class="feather-clock-green">{# {{ render(controller(
  335.                                                                                                                                                                                                                                                                                                                                                                   'App\\Helper\\VideoHelper::seconds2humanTimes',
  336.                                                                                                                                                                                                                                                                                                                                                                   {'ss':  vid.Videos[0]["training_vid"].getData().getData().getCustomSettings()['duration']}
  337.                                                                                                                                                                                                                                                                                                                                                                     ))
  338.                                                                                                                                                                                                                                                                                                                                                                     }} #}
  339.                                                         </li>
  340.                                                     </ul>
  341.                                                     <div class="frecipes-box">
  342.                                                         <h3>{{vid.videoName}}</h3>
  343.                                                         <p>
  344.                                                             {{vid.details}}
  345.                                                         </p>
  346.                                                     </div>
  347.                                                     {% set user = app.session.get('loginUserName') %}
  348.                                                     {% if user is not null %}
  349.                                                         <ul class="list-unstyled recipe-info">
  350.                                                             <li class="share" onclick="loyaltyProgram(this,{{vid.id}},'{{vid.videoName}}',10,'Training','Share')">{{'Share'|trans}}</li>
  351.                                                             <li class="like" onclick="loyaltyProgram(this,{{vid.id}},'{{vid.videoName}}',10,'Training','Like' , '{{app.request.locale}}')">{{'Like'|trans}}</li>
  352.                                                             <li class="save" onclick="loyaltyProgram(this,{{vid.id}},'{{vid.videoName}}',10,'Training','Save')">{{'Save'|trans}}</li>
  353.                                                         </ul>
  354.                                                     {% else %}
  355.                                                         <ul class="list-unstyled recipe-info">
  356.                                                             <li class="share">{{'Share'|trans}}</li>
  357.                                                             <li class="like logged-out">{{'Like'|trans}}</li>
  358.                                                             <li class="save">{{'Save'|trans}}</li>
  359.                                                         </ul>
  360.                                                     {% endif %}
  361.                                                 </div>
  362.                                             </div>
  363.                                         </div>
  364.                                     {% endfor %}
  365.                                 </div>
  366.                                 <div class="
  367.                                                                                                                                                                                                                                 custom-slider
  368.                                                                                                                                                                                                                                 featured-recipes-slider
  369.                                                                                                                                                                                                                                 all-training-recip
  370.                                                                                                                                                                                                                               ">
  371.                                     <div class="slide">
  372.                                         <div class="new_div"></div>
  373.                                     </div>
  374.                                     <div class="
  375.                                                                                                                                                                                                                                 custom-slider
  376.                                                                                                                                                                                                                                 featured-recipes-slider
  377.                                                                                                                                                                                                                                 all-training-recip
  378.                                                                                                                                                                                                                               "></div>
  379.                                 </div>
  380.                             </section>
  381.                             <div class="load-more d-none">
  382.                                 <a href="javascript:void(0)" class="btn btn-custom btn-outline" id="load-more" onclick="loadMoreProduct()">Load more</a>
  383.                             </div>
  384.                         </div>
  385.                     </div>
  386.                 </div>
  387.             </div>
  388.         </section>
  389.         <!--End Product Box-->
  390.         {% if (app.request.locale =='ar') %}
  391.             {% set topMenu ="/en/professional-training-culinary-programs" %}
  392.         {% else %}
  393.             {% set topMenu ="/ar/professional-training-culinary-programs" %}
  394.         {% endif %}
  395.         <script>
  396.             var _TopMenuLink = "{{ topMenu }}";
  397.         </script>
  398.         <script>
  399.             function searchFilter(e) {
  400. let new_path = 'category_id=';
  401. let new_chef = '&chef=';
  402. let new_type = '&type=';
  403. let category_count = 1
  404. let type_count = 1
  405. let query = '';
  406. $('.category_checkbox').each(function (index, value) {
  407. if ($(this).is(':checked')) {
  408. if (category_count > 1) {
  409. new_path += '_';
  410. }
  411. new_path += $(this).val();
  412. category_count++;
  413. }
  414. });
  415. $('.type_checkbox').each(function (index, value) {
  416. if ($(this).is(':checked')) {
  417. if (type_count > 1) {
  418. new_type += '_';
  419. }
  420. new_type += $(this).val();
  421. type_count++;
  422. }
  423. });
  424. $('.chef_checkbox').each(function (index, value) {
  425. if ($(this).is(':checked')) {
  426. if (type_count > 1) {
  427. new_chef += '_';
  428. }
  429. new_chef += $(this).val();
  430. type_count++;
  431. }
  432. });
  433. if ($('#search').val()) {
  434. query = '&query=' + $('#search').val();
  435. }
  436. window.location.href = '?' + new_path + new_type + new_chef + query;
  437. }
  438. function clearFilter(c) {
  439. $(c).each(function (index, value) {
  440. $(this).prop('checked', false);
  441. });
  442. }
  443. let page = 1;
  444. function loadMoreProduct() {
  445. let add_query = '&';
  446. if (!window.location.search) {
  447. add_query = '?';
  448. }
  449. $.ajax({
  450. type: "GET",
  451. url: window.location.href + add_query + 'page=' + page,
  452. data: '',
  453. cache: false,
  454. beforeSend: function () {
  455. $('#load-more').addClass('btn-load');
  456. },
  457. complete: function () {
  458. $('#load-more').removeClass('btn-load');
  459. },
  460. success: function (data) {
  461. if (data.success) {
  462. $('.new_div').append(data.success);
  463. page++;
  464. } else if (data.success == '') {
  465. $('#load-more').hide();
  466. }
  467. }
  468. });
  469. }
  470.         </script>
  471.     {% endblock %}
  472.     {% block footer %}
  473.         {% include "includes/footer.html.twig" %}
  474.     {% endblock %}