src/Elements/Bundle/DemiFrontendBundle/Resources/views/Includes/teaser/package-teaser.html.twig line 1

Open in your IDE?
  1. {% if searchParam is not defined or searchParam.getDateFrom() is empty %}
  2.     {% set fromDate = null %}
  3. {% else %}
  4.     {% set fromDate = demi_getSearchFrom() %}
  5. {% endif %}
  6. {% set imgSrc = demi_getFirstImageForHousePackageMaster(housePackageMaster, accommodation, fromDate) %}
  7. {% set useGal = true %}
  8. {% if imgSrc == null %}
  9.     {% set imgSrc = demi_core_configuration("getTeaserFallbackImage",[]) %}
  10.     {% set useGal = false %}
  11. {% endif %}
  12. {% set validDatesString = "" %}
  13. {% set validDates = housePackageMaster.getValidDates() %}
  14. {% set earliestFromDate = null %}
  15. {% set latestToDate = null %}
  16. {% if validDates is not empty and validDates.getItems() is not empty %}
  17.     {% for item in validDates.getItems() %}
  18.         {% if item.getTo().getTimestamp() > 'now'|date('U') %}
  19.             {% if earliestFromDate == null or earliestFromDate.gt(item.getFrom()) %}
  20.                 {% set earliestFromDate = item.getFrom() %}
  21.             {% endif %}
  22.             {% if latestToDate == null or latestToDate.lt(item.getTo()) %}
  23.                 {% set latestToDate = item.getTo() %}
  24.             {% endif %}
  25.         {% endif %}
  26.     {% endfor %}
  27. {% endif %}
  28. {% set price = 0 %}
  29. {% if cheapestProducts is not empty %}
  30.     {% set pricearray = demi_getMinPriceOfHousePackageMasterResultSet(cheapestProducts) %}
  31.     {% set price = pricearray["price"] %}
  32.     {% set priceInfo = pricearray["priceInfo"] %}
  33.     {% set cP = pricearray["cP"] %}
  34. {% endif %}
  35. {% set earlyDate = elements_dateFormat( earliestFromDate, 'date-short') %}
  36. {% if earliestFromDate is not empty %}
  37.     {% set earlyDateTimeFormat = earliestFromDate|format('Y-m-d') %}
  38. {% else  %}
  39.      {% set earlyDateTimeFormat = '' %}
  40. {% endif %}
  41. {% set latestDate = elements_dateFormat( latestToDate, 'date-long') %}
  42. {% if latestToDate is not empty %}
  43.     {% set latestDateTimeFormat = latestToDate|format('Y-m-d') %}
  44. {% else %}
  45.     {% set latestDateTimeFormat = '' %}
  46. {% endif %}
  47. {% set validDatesString = validDatesString ~ '<time datetime="' ~ earlyDateTimeFormat ~ '">' ~ earlyDate ~ '</time> - <time datetime="' ~ latestDateTimeFormat ~ '">' ~ latestDate ~ '</time>' %}
  48. {% set validDatesString = '<div>' ~ validDatesString ~ '</div>' %}
  49. {% if searchParam.getDateFrom() %}
  50.     {% set mealObj = demi_getMealTypeByFid(cP.getMealCode() ?? '') %}
  51.     {% if mealObj is not null %}
  52.         {% set priceInfoString = '<div class="small text-nowrap"><div class="demi-icon demi-icon-restaurant mr-1 icon-in-text" aria-label="' ~ "demi.detail.room.meals"|trans ~ '" title="' ~ "demi.detail.room.meals"|trans ~ '"></div>' ~ mealObj.getText() ~ '</div>' %}
  53.         {% if cP.getPriceData() is not empty and cP.getPriceData().getPriceBeforeSpecial() != cP.getPrice() %}
  54.             {% set specialPrice= '<div class="sr-only">' ~ "demi.instead-of"|trans ~ '</div>' ~ '<s>' ~ demi_paymentGetPriceObject(cP.getPriceData().getPriceBeforeSpecial(), pimcore_object(accommodation.getId())) ~ '</s>' %}
  55.         {% endif %}
  56.     {% endif %}
  57. {% else %}
  58.     {% if price>0 %}
  59.         {% set priceInfoString = '<div class="mt-1">' ~  include('@ElementsDemiFrontend/Includes/priceInfoStr.html.twig',{'type': null,'nights': null})  ~ '</div>' %}
  60.     {% endif %}
  61. {% endif %}
  62. {% if isAffiliate %}
  63.     {% set route = 'demi_acco_affiliate_detail_package_page' %}
  64. {% else %}
  65.     {% set route = 'demi_acco_detail_package_page' %}
  66. {% endif %}
  67. {% set packageDetailUrl = demi_demiUrl({
  68.     'accommodation': accommodation,
  69.     'package': housePackageMaster
  70. }, route) %}
  71. {% set template = demi_getDeviceDependentTemplate('@ElementsDemiFrontend/Includes/teaser/', 'offer-teaser', container) %}
  72. {{ include(template, {
  73.     'text': validDatesString,
  74.     'priceInfo': priceInfoString is defined ? priceInfoString : null,
  75.     'specialPrice': specialPrice is defined ? specialPrice : null,
  76.     'id': housePackageMaster.getId(),
  77.     'img': imgSrc,
  78.     'title': housePackageMaster.getName(),
  79.     'price': price,
  80.     'href': packageDetailUrl,
  81.     'opensOverlay': false,
  82.     'position': position,
  83.     'useGal': useGal
  84. }
  85. ) }}