templates/areas/teaser/view.html.twig line 1

Open in your IDE?
  1. {% set headlineTag = pimcore_select('headlineTag', {
  2. 'store': [
  3. ['none', 'none'],
  4. ['h1', 'H1'],
  5. ['h2', 'H2'],
  6. ['h3', 'H3'],
  7. ['h4', 'H4'],
  8. ['h5', 'H5'],
  9. ['h6', 'H6'],
  10. ],
  11. 'defaultValue': '',
  12. 'reload': true
  13. }) %}
  14. {% if headlineTag.isEmpty() %}
  15. {% do headlineTag.setDataFromResource('h2') %}
  16. {% endif %}
  17. {% set headline1 = headlineTag.data != 'none' ? headlineTag.data|raw : 'span'|raw %}
  18. {% set headline2 = headlineTag.data != 'none' ? '</' ~ headlineTag.data|raw ~ '>' : '</span>'|raw %}
  19. {% set twoCards = pimcore_checkbox('twoCards') %}
  20. {% if twoCards.isChecked() %}
  21. {% set setTwoCards = '--two-cards' %}
  22. {% else %}
  23. {% set setTwoCards = '' %}
  24. {% endif %}
  25. {% set backgroundGrey = pimcore_checkbox('background') %}
  26. {% if backgroundGrey.isChecked() %}
  27. {% set setBackground = '--background-grey' %}
  28. {% else %}
  29. {% set setBackground = '' %}
  30. {% endif %}
  31. {% if editmode %}
  32. <div class="edit-box editmode">
  33. <h1>KONFIGURATIONEN FÜR DEN AREABRICK:</h1>
  34. <div class="flex gap-20">
  35. <div class="content flex column gap-20">
  36. <div class="content-box flex gap-20">
  37. <div class="item">
  38. <p class="edit-p">Abstand nach unten wählen:</p>
  39. {{ pimcore_select("MarginBottom", {
  40. "reload": true,
  41. "store": [
  42. ["regular", "Normal"],
  43. ["half", "1/2"],
  44. ["small", "1/4"],
  45. ["zero", "kein Abstand"],
  46. ],
  47. "defaultValue" : "regular"
  48. }) }}
  49. </div>
  50. <div class="item">
  51. <p class="edit-p">Titel-Typ definieren:</p>
  52. {{ headlineTag|raw }}
  53. </div>
  54. <div class="item">
  55. <p class="edit-p">Two Cards</p>
  56. {{ twoCards|raw }}
  57. </div>
  58. <div class="item">
  59. <p class="edit-p">Grey Background</p>
  60. {{ backgroundGrey|raw }}
  61. </div>
  62. </div>
  63. </div>
  64. </div>
  65. </div>
  66. {% endif %}
  67. <section class="portal-teaser {{ pimcore_select('MarginBottom').getData() }}">
  68. <div class="container">
  69. <div class="headline-container">
  70. {% if editmode %}
  71. <div class="portal-teaser__title">
  72. {{ pimcore_textarea("headline",{
  73. "nl2br": true,
  74. "height": 100,
  75. "placeholder": "HAUPT ÜBERSCHRIFT FÜR DIESE AREA"
  76. }) }} </div>
  77. {% elseif not pimcore_textarea('headline').isEmpty() %}
  78. <{{headline1|raw}} class="portal-teaser__title">
  79. {{ pimcore_textarea('headline').getData() | nl2br }}
  80. {{ headline2|raw }}
  81. {% endif %}
  82. </div>
  83. <div class="portal-teaser-container flex gap-20">
  84. <div class="portal-teaser-slider flex column {{ setBackground }}">
  85. <div class="img-container">
  86. {% set galleryObjectLeft = pimcore_relation('teaserSliderLeft', {
  87. 'types': ['object'],
  88. 'classes': ['TeaserSlider'],
  89. 'reload': false,
  90. 'required': true
  91. }) %}
  92. {% set galleryLeft = galleryObjectLeft.getElement() %}
  93. {% if galleryLeft is defined and galleryLeft is not null %}
  94. <div class="teaser-slider">
  95. <div class="teaser-slider-inner">
  96. {% for image in galleryLeft.getImages() %}
  97. <div class="teaser-slider-image {% if loop.first %}--active{% endif %}">
  98. {{ image.thumbnail('PortalTeaser').html({
  99. 'disableWidthHeightAttributes': true,
  100. 'imgAttributes': {
  101. 'width': 927,
  102. 'height': 320,
  103. 'loading': 'lazy'
  104. }
  105. })|raw }}
  106. </div>
  107. {% endfor %}
  108. </div>
  109. {% if galleryLeft.getImages()|length > 1 %}
  110. <button class="slider-prev">{{ include('svg/icon-chevron-left.html.twig') }}</button>
  111. <button class="slider-next">{{ include('svg/icon-chevron-left.html.twig') }}</button>
  112. <div class="slider-pagination">
  113. {% for slider in galleryLeft.getImages() %}
  114. <div class="slider-pagination-item {% if loop.first %}--active{% endif %}"></div>
  115. {% endfor %}
  116. </div>
  117. {% endif %}
  118. </div>
  119. {% endif %}
  120. {% if editmode %}
  121. {{ galleryObjectLeft|raw }}
  122. {% endif %}
  123. </div>
  124. <div class="text-container">
  125. {% set headlineTagX = pimcore_select('headlineTagX', {
  126. 'store': [
  127. ['none', 'none'],
  128. ['h1', 'H1'],
  129. ['h2', 'H2'],
  130. ['h3', 'H3'],
  131. ['h4', 'H4'],
  132. ['h5', 'H5'],
  133. ['h6', 'H6'],
  134. ],
  135. 'defaultValue': '',
  136. 'reload': true
  137. }) %}
  138. {% if headlineTagX.isEmpty() %}
  139. {% do headlineTagX.setDataFromResource('h2') %}
  140. {% endif %}
  141. {% set headline1X = headlineTagX.data != 'none' ? headlineTagX.data|raw : 'span'|raw %}
  142. {% set headline2X = headlineTagX.data != 'none' ? '</' ~ headlineTagX.data|raw ~ '>' : '</span>'|raw %}
  143. {% if editmode %}
  144. <div class="item">
  145. <p class="edit-p">Titel-Typ definieren:</p>
  146. {{ headlineTagX|raw }}
  147. </div>
  148. <h3 class="teaser-headline">
  149. {{ pimcore_textarea("headline_teaser_left",{
  150. "nl2br": true,
  151. "height": 100,
  152. "placeholder": "HAUPT ÜBERSCHRIFT FÜR DIESE AREA"
  153. }) }}
  154. </h3>
  155. {% elseif not editmode and not pimcore_textarea('headline_teaser_left').isEmpty() %}
  156. <{{ headline1X|raw }} class="teaser-headline">
  157. {{ pimcore_textarea('headline_teaser_left').getData() | nl2br }}
  158. {{ headline2X|raw }}
  159. {% endif %}
  160. {% if editmode %}
  161. <p>{{ pimcore_textarea("text_teaser_left",{
  162. "nl2br": true,
  163. "height": 100,
  164. "placeholder": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat."
  165. }) }}
  166. </p>
  167. {% elseif not editmode and not pimcore_textarea('text_teaser_left').isEmpty() %}
  168. <p>{{ pimcore_textarea('text_teaser_left').getData() | nl2br }}</p>
  169. {% endif %}
  170. </div>
  171. <div class="buttons-row flex center">
  172. {% if editmode %}
  173. {{ pimcore_link('left') }}
  174. {% elseif not editmode and not pimcore_link('left').isEmpty() %}
  175. <div class="btn secondary">
  176. {% if pimcore_link('left').getTarget() %}
  177. {% set target = pimcore_link('left').getTarget() %}
  178. {% else %}
  179. {% set target = '_self' %}
  180. {% endif %}
  181. <a class="flex" href="{{ pimcore_link('left').getHref() }}" target="{{ target }}">
  182. <span>{{ pimcore_link('left').getText() }}
  183. {# <svg width="15.708" height="10.709" viewBox="0 0 15.708 10.709">
  184. <g transform="translate(0 0.354)">
  185. <g transform="translate(0)">
  186. <path class="line" d="M7.5,18h15" transform="translate(-7.5 -13)" fill="none" stroke="#fff" stroke-linejoin="round" stroke-width="1"/>
  187. <path class="arrow" d="M18,7.5l5.026,5L18,17.5" transform="translate(-8.027 -7.5)" fill="none" stroke="#fff" stroke-width="1"/>
  188. </g>
  189. </g>
  190. </svg> #}
  191. </span>
  192. </a>
  193. <div class="button-shape">
  194. {{include('svg/button-shape.html.twig')}}
  195. </div>
  196. </div>
  197. {% endif %}
  198. </div>
  199. </div>
  200. <div class="portal-teaser-slider flex column {{ setBackground }}">
  201. <div class="img-container">
  202. {% set galleryObjectMiddle = pimcore_relation('teaserSliderMiddle', {
  203. 'types': ['object'],
  204. 'classes': ['TeaserSlider'],
  205. 'reload': false,
  206. 'required': true
  207. }) %}
  208. {% set galleryMiddle = galleryObjectMiddle.getElement() %}
  209. {% if galleryMiddle is defined and galleryMiddle is not null %}
  210. <div class="teaser-slider">
  211. <div class="teaser-slider-inner">
  212. {% for image in galleryMiddle.getImages() %}
  213. <div class="teaser-slider-image {% if loop.first %}--active{% endif %}">
  214. {{ image.thumbnail('PortalTeaser').html({
  215. 'disableWidthHeightAttributes': true,
  216. 'imgAttributes': {
  217. 'width': 927,
  218. 'height': 320,
  219. 'loading': 'lazy'
  220. }
  221. })|raw }}
  222. </div>
  223. {% endfor %}
  224. </div>
  225. {% if galleryMiddle.getImages()|length > 1 %}
  226. <button class="slider-prev">{{ include('svg/icon-chevron-left.html.twig') }}</button>
  227. <button class="slider-next">{{ include('svg/icon-chevron-left.html.twig') }}</button>
  228. <div class="slider-pagination">
  229. {% for slider in galleryMiddle.getImages() %}
  230. <div class="slider-pagination-item {% if loop.first %}--active{% endif %}"></div>
  231. {% endfor %}
  232. </div>
  233. {% endif %}
  234. </div>
  235. {% endif %}
  236. {% if editmode %}
  237. {{ galleryObjectMiddle|raw }}
  238. {% endif %}
  239. </div>
  240. <div class="text-container">
  241. {% set headlineTagY = pimcore_select('headlineTagY', {
  242. 'store': [
  243. ['none', 'none'],
  244. ['h1', 'H1'],
  245. ['h2', 'H2'],
  246. ['h3', 'H3'],
  247. ['h4', 'H4'],
  248. ['h5', 'H5'],
  249. ['h6', 'H6'],
  250. ],
  251. 'defaultValue': '',
  252. 'reload': true
  253. }) %}
  254. {% if headlineTagY.isEmpty() %}
  255. {% do headlineTagY.setDataFromResource('h2') %}
  256. {% endif %}
  257. {% set headline1Y = headlineTagY.data != 'none' ? headlineTagY.data|raw : 'span'|raw %}
  258. {% set headline2Y = headlineTagY.data != 'none' ? '</' ~ headlineTagY.data|raw ~ '>' : '</span>'|raw %}
  259. {% if editmode %}
  260. <div class="item">
  261. <p class="edit-p">Titel-Typ definieren:</p>
  262. {{ headlineTagY|raw }}
  263. </div>
  264. <h3 class="teaser-headline">{{ pimcore_textarea("headline_teaser_center",{
  265. "nl2br": true,
  266. "height": 100,
  267. "placeholder": "HAUPT ÜBERSCHRIFT FÜR DIESE AREA"
  268. }) }}
  269. </h3>
  270. {% elseif not editmode and not pimcore_textarea('headline_teaser_center').isEmpty() %}
  271. <{{ headline1Y|raw }} class="teaser-headline">
  272. {{ pimcore_textarea('headline_teaser_center').getData() | nl2br }}
  273. {{ headline2Y|raw}}
  274. {% endif %}
  275. {% if editmode %}
  276. <p>{{ pimcore_textarea("text_teaser_center",{
  277. "nl2br": true,
  278. "height": 100,
  279. "placeholder": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat."
  280. }) }}
  281. </p>
  282. {% elseif not editmode and not pimcore_textarea('text_teaser_center').isEmpty() %}
  283. <p>{{ pimcore_textarea('text_teaser_center').getData() | nl2br }}</p>
  284. {% endif %}
  285. </div>
  286. <div class="buttons-row flex center">
  287. {% if editmode %}
  288. {{ pimcore_link('center') }}
  289. {% elseif not editmode and not pimcore_link('center').isEmpty() %}
  290. <div class="btn secondary">
  291. {% if pimcore_link('left').getTarget() %}
  292. {% set target = pimcore_link('left').getTarget() %}
  293. {% else %}
  294. {% set target = '_self' %}
  295. {% endif %}
  296. <a class="flex" href="{{ pimcore_link('center').getHref() }}" target="{{ target }}">
  297. <span>{{ pimcore_link('center').getText() }}
  298. {# <svg width="15.708" height="10.709" viewBox="0 0 15.708 10.709">
  299. <g transform="translate(0 0.354)">
  300. <g transform="translate(0)">
  301. <path class="line" d="M7.5,18h15" transform="translate(-7.5 -13)" fill="none" stroke="#fff" stroke-linejoin="round" stroke-width="1"/>
  302. <path class="arrow" d="M18,7.5l5.026,5L18,17.5" transform="translate(-8.027 -7.5)" fill="none" stroke="#fff" stroke-width="1"/>
  303. </g>
  304. </g>
  305. </svg> #}
  306. </span>
  307. </a>
  308. <div class="button-shape">
  309. {{include('svg/button-shape.html.twig')}}
  310. </div>
  311. </div>
  312. {% endif %}
  313. </div>
  314. </div>
  315. <div class="portal-teaser-slider flex column {{ setBackground }} {{ setTwoCards }}">
  316. <div class="img-container">
  317. {% set galleryObjectRight = pimcore_relation('teaserSliderRight', {
  318. 'types': ['object'],
  319. 'classes': ['TeaserSlider'],
  320. 'reload': false,
  321. 'required': true
  322. }) %}
  323. {% set galleryRight = galleryObjectRight.getElement() %}
  324. {% if galleryRight is defined and galleryRight is not null %}
  325. <div class="teaser-slider">
  326. <div class="teaser-slider-inner">
  327. {% for image in galleryRight.getImages() %}
  328. <div class="teaser-slider-image {% if loop.first %}--active{% endif %}">
  329. {{ image.thumbnail('PortalTeaser').html({
  330. 'disableWidthHeightAttributes': true,
  331. 'imgAttributes': {
  332. 'width': 927,
  333. 'height': 320,
  334. 'loading': 'lazy'
  335. }
  336. })|raw }}
  337. </div>
  338. {% endfor %}
  339. </div>
  340. {% if galleryRight.getImages()|length > 1 %}
  341. <button class="slider-prev">{{ include('svg/icon-chevron-left.html.twig') }}</button>
  342. <button class="slider-next">{{ include('svg/icon-chevron-left.html.twig') }}</button>
  343. <div class="slider-pagination">
  344. {% for slider in galleryRight.getImages() %}
  345. <div class="slider-pagination-item {% if loop.first %}--active{% endif %}"></div>
  346. {% endfor %}
  347. </div>
  348. {% endif %}
  349. </div>
  350. {% endif %}
  351. {% if editmode %}
  352. {{ galleryObjectRight|raw }}
  353. {% endif %}
  354. </div>
  355. <div class="text-container">
  356. {% set headlineTagZ = pimcore_select('headlineTagZ', {
  357. 'store': [
  358. ['none', 'none'],
  359. ['h1', 'H1'],
  360. ['h2', 'H2'],
  361. ['h3', 'H3'],
  362. ['h4', 'H4'],
  363. ['h5', 'H5'],
  364. ['h6', 'H6'],
  365. ],
  366. 'defaultValue': '',
  367. 'reload': true
  368. }) %}
  369. {% if headlineTagZ.isEmpty() %}
  370. {% do headlineTagZ.setDataFromResource('h2') %}
  371. {% endif %}
  372. {% set headline1Z = headlineTagZ.data != 'none' ? headlineTagZ.data|raw : 'span'|raw %}
  373. {% set headline2Z = headlineTagZ.data != 'none' ? '</' ~ headlineTagZ.data|raw ~ '>' : '</span>'|raw %}
  374. {% if editmode %}
  375. <div class="item">
  376. <p class="edit-p">Titel-Typ definieren:</p>
  377. {{ headlineTagZ|raw }}
  378. </div> <h3 class="teaser-headline">{{ pimcore_textarea("headline_teaser_right",{
  379. "nl2br": true,
  380. "height": 100,
  381. "placeholder": "HAUPT ÜBERSCHRIFT FÜR DIESE AREA"
  382. }) }}
  383. </h3>
  384. {% elseif not editmode and not pimcore_textarea('headline_teaser_right').isEmpty() %}
  385. <{{ headline1Z|raw }} class="teaser-headline">
  386. {{ pimcore_textarea('headline_teaser_right').getData() | nl2br }}
  387. {{ headline2Z|raw }}
  388. {% endif %}
  389. {% if editmode %}
  390. <p>{{ pimcore_textarea("text_teaser_right",{
  391. "nl2br": true,
  392. "height": 100,
  393. "placeholder": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat."
  394. }) }}
  395. </p>
  396. {% elseif not editmode and not pimcore_textarea('text_teaser_right').isEmpty() %}
  397. <p>{{ pimcore_textarea('text_teaser_right').getData() | nl2br }}</p>
  398. {% endif %}
  399. </div>
  400. <div class="buttons-row flex center">
  401. {% if editmode %}
  402. {{ pimcore_link('right') }}
  403. {% elseif not editmode and not pimcore_link('right').isEmpty() %}
  404. <div class="btn secondary">
  405. {% if pimcore_link('left').getTarget() %}
  406. {% set target = pimcore_link('left').getTarget() %}
  407. {% else %}
  408. {% set target = '_self' %}
  409. {% endif %}
  410. <a class="flex" href="{{ pimcore_link('right').getHref() }}" target="{{ target }}">
  411. <span>{{ pimcore_link('right').getText() }}
  412. {# <svg width="15.708" height="10.709" viewBox="0 0 15.708 10.709">
  413. <g transform="translate(0 0.354)">
  414. <g transform="translate(0)">
  415. <path class="line" d="M7.5,18h15" transform="translate(-7.5 -13)" fill="none" stroke="#fff" stroke-linejoin="round" stroke-width="1"/>
  416. <path class="arrow" d="M18,7.5l5.026,5L18,17.5" transform="translate(-8.027 -7.5)" fill="none" stroke="#fff" stroke-width="1"/>
  417. </g>
  418. </g>
  419. </svg> #}
  420. </span>
  421. </a>
  422. <div class="button-shape">
  423. {{include('svg/button-shape.html.twig')}}
  424. </div>
  425. </div>
  426. {% endif %}
  427. </div>
  428. </div>
  429. </div>
  430. </div>
  431. </section>