templates/Theme/Produit/Produit/Produit/listeproduituser.html.twig line 270

Open in your IDE?
  1. {% extends "Theme/Users/User/layouthome.html.twig" %}
  2. {% block meta %}
  3.     {{ parent() }}
  4.     <meta name="keywords" content="{{ site }}, Business, Innovation,Administration"/>
  5.     <meta name="author" content="Noel Kenfack"/>
  6.     <meta name="description" content="{{ categorie.nom }} - {{ categorie.description }}"/>
  7. {% endblock %}
  8. {% block title %}
  9.     {{ parent() }} - {{ categorie.nom }}
  10. {% endblock %}
  11. {% block stylesheets %}
  12.     {{ parent() }}
  13. {% endblock %}
  14. {% block userblog_body %}
  15. <link rel="stylesheet" href="{{ asset('template/css/jquery.expandable.css') }}"/>
  16. <script type="text/javascript" src="{{ asset('template/js/jquery.expandable.js') }}"></script>
  17. <div style="background: #f0f0f2;">
  18. <div class="container">
  19. <div class="row">
  20.     {% if is_mobile() %}
  21.     <div class="col-md-12">
  22.         <ol class="c-navigation-breadcrumbs__directory">
  23.         <!-- Duplicating the "Home" link in both the global navigation and the breadcrumb trail is not recommended. -->
  24.         <li class="c-navigation-breadcrumbs__item" property="itemListElement" typeof="ListItem">
  25.           <a class="c-navigation-breadcrumbs__link" href="" property="item" typeof="WebPage">
  26.             <span class="u-visually-hidden" property="name"><span class="fa fa-home"> </span> Accueil</span>
  27.           </a>
  28.           <meta property="position" content="1">
  29.         </li>
  30.         <li class="c-navigation-breadcrumbs__item" property="itemListElement" typeof="ListItem">
  31.           <a class="c-navigation-breadcrumbs__link" href="{{ path('produit_produit_produit_formation_institut', {'id': categorie.id }) }}" property="item" typeof="WebPage">
  32.             <span property="name">{{ categorie.nom }}</span>
  33.           </a>
  34.           <meta property="position" content="2">
  35.         </li>
  36.         <li class="c-navigation-breadcrumbs__item" property="itemListElement" typeof="ListItem">
  37.           <a class="c-navigation-breadcrumbs__link" href="#!" property="item" aria-current="location">
  38.             <span property="name">À propos des {{ categorie.nom }}</span>
  39.           </a>
  40.           <meta property="position" content="3">
  41.         </li>
  42.         </ol>
  43.     </div>
  44.     {% else %}
  45.     <div class="col-md-12">
  46.     <div style="padding: 20px 0px;">
  47.         <div class="btn-group" style="float: right; margin-top: -10px;">
  48.         <button class="btn btn-default dropdown-toggle" data-toggle="dropdown"> Appliquer un filtre <span class="fa fa-angle-down"></span></button>
  49.         <ul class="dropdown-menu pull-right">
  50.             {% for i in range(0,4) %}
  51.                 <li><a href=""> formation.nom </a></li>
  52.                 <li class="divider"></li>
  53.             {% endfor %}
  54.         </ul>
  55.         </div>
  56.         <ul class="breadcrumbs">
  57.           <li><a href="#"><span class="fa fa-home"></span> Accueil</a></li>
  58.           <li><a href="{{ path('produit_produit_produit_formation_institut', {'id': categorie.id }) }}">{{ categorie.nom }}</a></li>
  59.           <li>À propos des {{ categorie.nom }}</li>
  60.         </ul>
  61.     </div>
  62.     </div>
  63.     {% endif %}
  64. </div>
  65. </div>
  66. </div>
  67. <style>
  68. #timeline {
  69.   list-style: none;
  70.   padding: 0;
  71.   position: relative;
  72.   -moz-box-sizing: border-box;
  73.   -webkit-box-sizing: border-box;
  74.   box-sizing: border-box;
  75. }
  76. #timeline:after {
  77.   border: 4px solid;
  78.   border-radius: 50%;
  79.   border-color: #374A67;
  80.   content: "";
  81.   display: block;
  82.   position: absolute;
  83.   left: 17px;
  84. }
  85. .timeline-item {
  86.   border-left: 2px solid #282F44;
  87.   margin: 0 20px;
  88.   padding: 0px 25px 20px 25px;
  89.   position: relative;
  90.   -moz-box-sizing: border-box;
  91.   -webkit-box-sizing: border-box;
  92.   box-sizing: border-box;
  93. }
  94. .timeline-item:before {
  95.   border: 10px solid #374A67;
  96.   border-radius: 50%;
  97.   content: "";
  98.   display: block;
  99.   position: absolute;
  100.   left: -11px;
  101.   width: 20px;
  102.   height: 20px;
  103.   -moz-box-sizing: border-box;
  104.   -webkit-box-sizing: border-box;
  105.   box-sizing: border-box;
  106. }
  107. .timeline-body {
  108.   background-color: #fbfbfb;
  109.   padding: 10px 20px;
  110.   position: relative;
  111.   top: -20px;
  112. }
  113. .timeline-lead {
  114.   line-height: 2px;
  115.   padding-bottom: 5px;
  116. }
  117. .timeline-date {
  118.   font-size: .7rem;
  119.   color: #757780;
  120.   letter-spacing: 1px;
  121.   font-weight: 600;
  122.   text-transform: uppercase;
  123. }
  124. .timeline-title{
  125.   color: #374A67;
  126.   letter-spacing: 1px;
  127.   font-weight: 700;
  128. }
  129. .timeline-content {
  130.   color: #070707;
  131. }
  132. .card-group {
  133.   position: relative;
  134.   width: 100%;
  135.   background: white;
  136.   box-shadow: 0 0 0.4rem rgba(0, 0, 0, 0.05);
  137.   border-radius: 0.4rem;
  138.   overflow: hidden;
  139.   box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
  140.   transition: all 0.3s cubic-bezier(.25,.8,.25,1);
  141. }
  142. .card-group:hover{
  143. box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22);
  144. }
  145. .card-group .card-header {
  146.   display: -webkit-box;
  147.   display: flex;
  148.   -webkit-box-orient: vertical;
  149.   -webkit-box-direction: reverse;
  150.           flex-direction: column-reverse;
  151.   height: 100px;
  152.   background-position: center;
  153.   background-size: cover;
  154.   -webkit-transition: height 0.3s;
  155.   transition: height 0.3s;
  156. }
  157. .card-group .card-header:hover {
  158.   height: 200px;
  159. }
  160. .card-group .card-header:hover + .card-body {
  161.   height: 29px;
  162. }
  163. .card-group .card-header .card-title {
  164.   font-size: 16px;
  165.   color: inherit;
  166.   margin: 0;
  167.   padding: 0.5rem 1rem;
  168.   padding-top: 1.2rem;
  169.   background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(60%, white));
  170.   background: linear-gradient(transparent, white 60%);
  171. }
  172. .card-group .card-body {
  173.   height: 150px;
  174.   overflow: hidden;
  175.   padding: 0 1rem;
  176.   -webkit-transition: 0.3s;
  177.   transition: 0.3s;
  178. }
  179. .card-group .card-body .sub-text {
  180.   font-size: 0.9rem;
  181.   color: #646b75;
  182. }
  183. .card-group .card-link-footer {
  184.   display: block;
  185.   padding: 1rem;
  186.   font-weight: bold;
  187.   color: #d96c0f;
  188.   text-align: center;
  189.   text-decoration: none;
  190.   -webkit-transition: 0.2s;
  191.   transition: 0.2s;
  192. }
  193. .card-group .card-link-footer:hover {
  194.   color: white;
  195.   box-shadow: inset 0 -56px 0 #23445e;
  196.   -webkit-transition: 0.2s;
  197.   transition: 0.2s;
  198. }
  199. .mt-0 {
  200.   margin-top: 0;
  201. }
  202. .mb-1 {
  203.   margin-bottom: 0.4rem;
  204. }
  205. .list-episodes {
  206.   list-style: none;
  207.   padding-left: 0;
  208.   margin: 0 -1rem;
  209.   color: #646b75;
  210. }
  211. .list-episodes li {
  212.   padding-left: 0.6rem;
  213. }
  214. .list-episodes li a {
  215.   display: block;
  216.   text-decoration: none;
  217.   color: inherit;
  218.   padding: 0.4rem 1rem;
  219.   padding-left: 0.4rem;
  220.   -webkit-transition: -webkit-transform 0.1s;
  221.   transition: -webkit-transform 0.1s;
  222.   transition: transform 0.1s;
  223.   transition: transform 0.1s, -webkit-transform 0.1s;
  224. }
  225. .list-episodes li a:hover {
  226.   -webkit-transform: translateX(4px);
  227.           transform: translateX(4px);
  228.   -webkit-transition: -webkit-transform 0.1s;
  229.   transition: -webkit-transform 0.1s;
  230.   transition: transform 0.1s;
  231.   transition: transform 0.1s, -webkit-transform 0.1s;
  232. }
  233. .list-episodes li a b {
  234.   font-size: 0.8rem;
  235.   margin-right: 4px;
  236. }
  237. .list-episodes li:nth-child(even) div {
  238.   border-radius: 4px 0 0 4px;
  239.   background: rgba(239, 241, 245, 0.9);
  240. }
  241. </style>
  242. <div style="background: #f0f0f2; padding-top: 20px;">
  243. <div class="container">
  244. <div class="row">
  245.     <div class="col-md-3">
  246.         {{ render(controller("App\\Controller\\Produit\\Service\\ServiceController:menuleft")) }}
  247.     </div>
  248.     
  249.     
  250.     <div class="col-md-9">
  251.         <div class="my-div">
  252.         <section class="testing" style="width: 100%;">
  253.            <div class="description2 to-expand">
  254.                 <h2>{{ souscategorie.nom }} </h2>
  255.                 <p>
  256.                     {{ souscategorie.description|raw }}
  257.                 </p>
  258.            </div>
  259.         </section>
  260.         </div>
  261.         
  262.         <div class="my-div">
  263.         <section class="testing" style="width: 100%;">
  264.         <div class="description2 to-expand">
  265.         <h2 style="margin-bottom: 20px;">Offres de formation</h2>
  266.             {% if categorie.typeservice == 'diplomante' %}
  267.                     <ul id="timeline">
  268.                       {% for prod in liste_produit %}
  269.                       <li class="timeline-item">
  270.                         <div class="timeline-icon"></div>
  271.                         <div class="timeline-body">
  272.                           <div class="timeline-lead">
  273.                             <h3 class="timeline-title"><a href="{{ path('produit_produit_detail_produit_market', {'id': prod.id}) }}">{{ prod.nom }}</a></h3>
  274.                             <span class="timeline-date">${date}</span>
  275.                           </div>
  276.                           <p class="timeline-content">{{ prod.contenu }}</p>
  277.                         </div>
  278.                       </li>
  279.                       {% endfor %}
  280.                     </ul>
  281.             {% else %}
  282.               <div class="cards row">
  283.               {% for prod in liste_produit %}
  284.               <div class="col-md-4">
  285.               
  286.                 <div class="card-group">
  287.                   <div class="card-header" style="background-image: url({% if prod.imgproduit != null %}{{ asset(prod.imgproduit.getwebpath) }}{% else %}{{ asset('template/images/present.png') }}{% endif %});">
  288.                     <h2 class="card-title text-left">
  289.                       <a href="{{ path('produit_produit_detail_produit_market', {'id': prod.id}) }}">{{ prod.nom }}</a>
  290.                     </h2>
  291.                   </div>
  292.                   <div class="card-body text-left">
  293.                     <p class="sub-text">{{ prod.contenu }}</p>
  294.                     <h4 class="mt-0 mb-1">Caractéristiques</h4>
  295.                     <ol class="list-episodes">
  296.                         {% for carprod in prod.caracteristiqueproduits %}
  297.                         <li>
  298.                             <div>
  299.                                 <a href="#!">{{ carprod.valeur }} {{ carprod.caracteristique.nom }}</a>
  300.                             </div>
  301.                         </li>
  302.                         {% endfor %}
  303.                     </ol>
  304.                   </div>
  305.                   <a class="card-link-footer commande-offer-formation" value="{{ prod.id }}" name="fc" href="#!"><span class="fa fa-hand-pointer-o"></span> S'inscrire</a>
  306.                 </div>
  307.               </div>
  308.               {% endfor %}
  309.             </div>
  310.             <script type="text/javascript">
  311.             $(document).ready(function(){
  312.               var zindex = 10;
  313.               
  314.               $("div.card").click(function(e){
  315.                 e.preventDefault();
  316.                 var isShowing = false;
  317.                 if ($(this).hasClass("show")) {
  318.                   isShowing = true
  319.                 }
  320.                 if ($("div.cards").hasClass("showing")) {
  321.                   // a card is already in view
  322.                   $("div.card.show")
  323.                     .removeClass("show");
  324.                   if (isShowing) {
  325.                     // this card was showing - reset the grid
  326.                     $("div.cards")
  327.                       .removeClass("showing");
  328.                   } else {
  329.                     // this card isn't showing - get in with it
  330.                     $(this)
  331.                       .css({zIndex: zindex})
  332.                       .addClass("show");
  333.                   }
  334.                   zindex++;
  335.                 } else {
  336.                   // no cards in view
  337.                   $("div.cards")
  338.                     .addClass("showing");
  339.                   $(this)
  340.                     .css({zIndex:zindex})
  341.                     .addClass("show");
  342.                   zindex++;
  343.                 }
  344.                 
  345.               });
  346.             });
  347.             </script>
  348.           {% endif %}
  349.           </div>
  350.         </section>
  351.         </div> 
  352.     </div>
  353. </div>
  354. </div>
  355. </div>
  356. <div style="background: #fff;">
  357. <div class="container">
  358. <div class="row">
  359.     <div class="col-md-12" style="height: 50px;">
  360.         Avis Utilisateurs
  361.     </div>
  362. </div>
  363. </div>
  364. </div>
  365. {% endblock %}
  366. {% block javascripttemplate %}
  367. $('.description2').expandable({
  368.     height: 600,
  369.     expand_responsive : 960,
  370.     offset: 30
  371. });
  372. $('.accordion-1 > li:eq(0) a').addClass('active').next().slideDown();
  373. $('.accordion-2 > li:eq(0) a').addClass('active').next().slideDown();
  374. $('.accordion a.targetlink').click(function(j) {
  375.     var dropDown = $(this).closest('li').find('p');
  376.     $(this).closest('.accordion').find('p').not(dropDown).slideUp();
  377.     if ($(this).hasClass('active')) {
  378.         $(this).removeClass('active');
  379.     } else {
  380.         $(this).closest('.accordion').find('a.active').removeClass('active');
  381.         $(this).addClass('active');
  382.     }
  383.     dropDown.stop(false, true).slideToggle();
  384.     j.preventDefault();
  385. });
  386. {% endblock %}