templates/includes/vue/vue-product-config.html.twig line 1

Open in your IDE?
  1. {% set onlyIcon = onlyIcon is defined ? onlyIcon : true %}
  2. {% set buttonText = buttonText|default('shop.teaser.to product') %}
  3. {% if product is instanceof('App\\Model\\Shop\\Ticket\\ShopTicketCatalog') and product.isBookable %}
  4.     {% set config = {
  5.         title: product.name,
  6.         ticketId: '' ~ product.id,
  7.         firstView: getCalendarFirstView(product),
  8.         hasServiceView: not isServiceViewHidden(product, carbon().today()),
  9.         isLoggedIn: app.getUser() is instanceof('App\\Model\\DataObject\\Customer'),
  10.         hasLegalDisclaimerView: product.showLegalDisclaimerStep(),
  11.         legalDisclaimerViewDescription: product.legalDisclaimerText(),
  12.         legalDisclaimerOptions: [
  13.             {
  14.                 label: product.legalDisclaimerCheckboxText,
  15.                 labelSubText: '',
  16.                 id: 'legal-disclaimer'
  17.             },
  18.         ],
  19.     } %}
  20.     <div {{ vue_component('SkiTicketConfig',
  21.         {
  22.             'title': config.title,
  23.             'ticketId': config.ticketId,
  24.             'firstView': config.firstView,
  25.             'hasServiceView': config.hasServiceView,
  26.             'hasLegalDisclaimerView': config.hasLegalDisclaimerView,
  27.             'legalDisclaimerOptions': config.legalDisclaimerOptions,
  28.             'legalDisclaimerViewDescription': config.legalDisclaimerViewDescription,
  29.             'isLoggedIn': config.isLoggedIn,
  30.             'buttonConfig': {
  31.             'text': buttonText|trans,
  32.             'onlyIcon': onlyIcon,
  33.             'class': buttonClass|default(''),
  34.             'trackingKey': trackingKeyCart|default,
  35.             'triggerTracking': triggerTracking | default(false),
  36.         },
  37.             'isAnnualPass': product.isAnnualCatalog
  38.         }) }}></div>
  39. {% elseif product is instanceof('App\\Model\\Shop\\Event\\EventProduct') %}
  40.     {% set config = {
  41.         title: product.name,
  42.         activityId: '' ~ product.id,
  43.         firstView: product.displayDates ?: 'calendar',
  44.         isTimeList: not product.isPersonsTimeList(),
  45.         isPersonsTimeList: product.isPersonsTimeList()
  46.     } %}
  47.     <div {{ vue_component('ActivityTicketConfig',
  48.         {
  49.             'title': config.title,
  50.             'activityId': config.activityId,
  51.             'firstView': config.firstView,
  52.             'isTimeList': config.isTimeList,
  53.             'isPersonsTimeList': config.isPersonsTimeList,
  54.             'buttonConfig': {
  55.             'text': buttonText|trans,
  56.             'onlyIcon': onlyIcon,
  57.             'class': buttonClass|default('')
  58.         }
  59.         }) }}></div>
  60. {% endif %}