{#
# Project: www.betten-abc.de
# Company: arboro GmbH
# Created by: Daniel Geike
# Created on: 09.09.22
# Description:
#}
{% block component_banner_button_element %}
{# set default value for target #}
{% set target = false %}
{# set default value for newTab #}
{% set newTab = false %}
{# check if button link is set as category #}
{% if data.cat_link.id %}
{# set default values for link #}
{% set entity = "frontend.navigation.page" %}
{% set entityId = "navigationId" %}
{% set entityIdValue = data.cat_link.id %}
{# check if selected category is set as link #}
{% if data.cat_link.type is same as("link") %}
{# check if link is external #}
{% if data.cat_link.linkType is same as("external") %}
{% set entityIdValue = false %}
{% set target = data.cat_link.externalLink %}
{% endif %}
{# check if link should be opened in new tab #}
{% if data.cat_link.linkNewTab %}
{% set newTab = true %}
{% endif %}
{# check if link is internal #}
{% if data.cat_link.linkType in ["category", "product", "landing_page"] %}
{% set linkType = data.cat_link.linkType %}
{% if linkType is same as("category") %}
{% set entity = "frontend.navigation.page" %}
{% set entityId = "navigationId" %}
{% endif %}
{% if linkType is same as("product") %}
{% set entity = "frontend.detail.page" %}
{% set entityId = "productId" %}
{% endif %}
{% if linkType is same as("landing_page") %}
{% set entity = "frontend.landing.page" %}
{% set entityId = "landingPageId" %}
{% endif %}
{% set entityIdValue = data.cat_link.internalLink %}
{% endif %}
{% endif %}
{% if entityIdValue %}
{# set link target as SEO url for the corresponding entity #}
{% set target = seoUrl(entity, { (entityId): entityIdValue }) %}
{% endif %}
{% endif %}
{# check if button link is external #}
{% if slide.text_button_link %}
{% set target = slide.text_button_link %}
{% set newTab = true %}
{% endif %}
{% set link = {
target: target,
newTab: newTab
} %}
{% sw_include "@BettenABC/theme/element/banner-button.html.twig" with {
media: {
media: data.media_image,
title: data.text_title,
alt: data.text_alt
},
text: {
description: data.text_description,
headline: data.text_headline
},
button: {
text: data.text_button_text,
link: link
},
position: slide.choice_y_pos
} %}
{% endblock %}