initial commit

This commit is contained in:
origin
2023-12-04 16:40:27 +01:00
commit 813b2d3da4
133 changed files with 50635 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
# Apache < 2.3
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
Satisfy All
</IfModule>
# Apache >= 2.3
<IfModule mod_authz_core.c>
Require all denied
</IfModule>

View File

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" target-language="de" datatype="plaintext" original="EXT:a2g_products/Resources/Private/Language/locallang.xlf" date="2021-11-18T10:42:07Z" product-name="a2g_products">
<header/>
<body>
<trans-unit id="product_list.product_detail_link" resname="product_list.product_detail_link">
<source>detail</source>
<target>mehr erfahren</target>
</trans-unit>
<trans-unit id="product.product_nr" resname="product.product_nr">
<source>article nr</source>
<target>Artikel Nr</target>
</trans-unit>
<trans-unit id="product_list.search" resname="product_list.search">
<source>search</source>
<target>suchen</target>
</trans-unit>
<trans-unit id="product_list.advanced_search" resname="product_list.advanced_search">
<source>advanced search</source>
<target>erweiterte Suche</target>
</trans-unit>
<trans-unit id="product_list.search_input_placeholder" resname="product_list.search_input_placeholder">
<source>search</source>
<target>suche</target>
</trans-unit>
<trans-unit id="related_products" resname="related_products">
<source>related products</source>
<target>Produkte mit dieser Zutat</target>
</trans-unit>
<trans-unit id="used_ingredients" resname="used_ingredients">
<source>used ingredients</source>
<target>Verwendete Zutaten</target>
</trans-unit>
</body>
</file>
</xliff>

View File

@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" target-language="de" datatype="plaintext" original="EXT:a2g_products/Resources/Private/Language/locallang_csh_tx_a2gproducts_domain_model_products.xlf" date="2021-11-18T11:17:01Z" product-name="a2g_products">
<header/>
<body>
<trans-unit id="nr.description" resname="nr.description">
<source>product nr</source>
<target>Produkt Nr</target>
</trans-unit>
<trans-unit id="title.description" resname="title.description">
<source>product title &lt;br/&gt;
for Search Engin Optimation ( SEO ) and link preview ( &lt;a href=&quot;https://ogp.me/&quot;&gt;open graph&lt;/a&gt; )</source>
<target>Produkt Titel / Name &lt;br/&gt;
für Suchmaschinenoptimierung ( SEO ) und Link-Vorschau ( &lt;a href=&quot;https://ogp.me/&quot;&gt;open graph&lt;/a&gt; )</target>
</trans-unit>
<trans-unit id="description.description" resname="description.description">
<source>description &lt;br/&gt;
for Search Engin Optimation ( SEO ) and link preview ( &lt;a href=&quot;https://ogp.me/&quot;&gt;open graph&lt;/a&gt; )</source>
<target>Produkt Beschreibung &lt;br/&gt;
für Suchmaschinenoptimierung ( SEO ) und Link-Vorschau ( &lt;a href=&quot;https://ogp.me/&quot;&gt;open graph&lt;/a&gt; )</target>
</trans-unit>
<trans-unit id="image.description" resname="image.description">
<source>product list image &lt;br/&gt;
for Search Engin Optimation ( SEO ) and link preview ( &lt;a href=&quot;https://ogp.me/&quot;&gt;open graph&lt;/a&gt; )</source>
<target>Produkt Listen Bild &lt;br/&gt;
für Suchmaschinenoptimierung ( SEO ) und Link-Vorschau ( &lt;a href=&quot;https://ogp.me/&quot;&gt;open graph&lt;/a&gt; )</target>
</trans-unit>
<trans-unit id="images.description" resname="images.description">
<source>images</source>
<target>Produkt Detail Seiten Bild Slider</target>
</trans-unit>
<trans-unit id="rel_category.description" resname="rel_category.description">
<source>relCategory</source>
<target>Produkt Kategorie ( Verwendet für Filter )</target>
</trans-unit>
<trans-unit id="rel_filter_values.description" resname="rel_filter_values.description">
<source>relFilterValues</source>
<target>Filterbare Optionen
von dem FIlter aus der Kategorie</target>
</trans-unit>
<trans-unit id="path_segment.description" resname="path_segment.description">
<source>url segment generated from the product title</source>
<target>URL Segment generiert aus dem Produk-Titel</target>
</trans-unit>
<trans-unit id="description_html.description" resname="description_html.description">
<source>farmateable description </source>
<target>Formatierbare Beschreibung unter der Beschreibung</target>
</trans-unit>
<trans-unit id="rel_ingedients.description" resname="rel_ingedients.description">
<source>ingredients</source>
<target>Verwendete Inhaltsstoffe, Bauteile oder Zutaten</target>
</trans-unit>
<trans-unit id="rel_productvariants.description" resname="rel_productvariants.description">
<source></source>
<target></target>
</trans-unit>
<trans-unit id="rel_delivery_costs.description" resname="rel_delivery_costs.description">
<source>deliverycosts conditions per each product</source>
<target>Liefergebühren abzüge zuschläge pro Produkt</target>
</trans-unit>
</body>
</file>
</xliff>

View File

@@ -0,0 +1,296 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" target-language="de" datatype="plaintext" original="EXT:a2g_products/Resources/Private/Language/locallang_db.xlf" date="2022-01-25T14:39:22Z" product-name="a2g_products">
<header/>
<body>
<trans-unit id="tx_a2gproducts_domain_model_products" resname="tx_a2gproducts_domain_model_products">
<source>Products</source>
<target>Produkte</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_products.nr" resname="tx_a2gproducts_domain_model_products.nr">
<source>Nr</source>
<target></target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_products.title" resname="tx_a2gproducts_domain_model_products.title">
<source>Title</source>
<target>Titel</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_products.description" resname="tx_a2gproducts_domain_model_products.description">
<source>Description</source>
<target>Beschreibung</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_products.image" resname="tx_a2gproducts_domain_model_products.image">
<source>Image</source>
<target>Bild</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_products.images" resname="tx_a2gproducts_domain_model_products.images">
<source>Images</source>
<target>Bilder</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_products.net_price" resname="tx_a2gproducts_domain_model_products.net_price">
<source>Net Price</source>
<target>Netto Preis</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_products.gross_price" resname="tx_a2gproducts_domain_model_products.gross_price">
<source>Gross Price</source>
<target>Brutto Preis</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_products.rel_category" resname="tx_a2gproducts_domain_model_products.rel_category">
<source>Category</source>
<target>Kategorie</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_products.rel_filter_values" resname="tx_a2gproducts_domain_model_products.rel_filter_values">
<source>Filter Values</source>
<target>Filter Werte</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_categories" resname="tx_a2gproducts_domain_model_categories">
<source>Categories</source>
<target>Kategorien</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_categories.title" resname="tx_a2gproducts_domain_model_categories.title">
<source>Title</source>
<target>Titel</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_categories.description" resname="tx_a2gproducts_domain_model_categories.description">
<source>Description</source>
<target>Beschreibung</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_categories.image" resname="tx_a2gproducts_domain_model_categories.image">
<source>Image</source>
<target>Bild</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_categories.rel_filters" resname="tx_a2gproducts_domain_model_categories.rel_filters">
<source>Filters</source>
<target>Filter</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_filters" resname="tx_a2gproducts_domain_model_filters">
<source>Filters</source>
<target>Filter</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_filters.title" resname="tx_a2gproducts_domain_model_filters.title">
<source>Title</source>
<target>Titel</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_filters.filter_type" resname="tx_a2gproducts_domain_model_filters.filter_type">
<source>Filter Type</source>
<target>Filter Typ</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_filters.db_operation_max" resname="tx_a2gproducts_domain_model_filters.db_operation_max">
<source>Db Operation Max</source>
<target>Db Operation Max</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_filters.db_operation_min" resname="tx_a2gproducts_domain_model_filters.db_operation_min">
<source>Db Operation Min</source>
<target>Db Operation Min</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_filters.rel_filter_option" resname="tx_a2gproducts_domain_model_filters.rel_filter_option">
<source>Filter Option</source>
<target>Filter Option</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_filteroptions" resname="tx_a2gproducts_domain_model_filteroptions">
<source>Filter Options</source>
<target>Filter Optionen</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_filteroptions.title" resname="tx_a2gproducts_domain_model_filteroptions.title">
<source>Title</source>
<target>Titel</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_filteroptions.value_min" resname="tx_a2gproducts_domain_model_filteroptions.value_min">
<source>Value Min</source>
<target>min. Wert</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_filteroptions.value_max" resname="tx_a2gproducts_domain_model_filteroptions.value_max">
<source>Value Max</source>
<target>max. Wert</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_filtervalues" resname="tx_a2gproducts_domain_model_filtervalues">
<source>Filter Values</source>
<target>Filter Werte</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_filtervalues.value" resname="tx_a2gproducts_domain_model_filtervalues.value">
<source>Value</source>
<target>Wert</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_filtervalues.rel_filters" resname="tx_a2gproducts_domain_model_filtervalues.rel_filters">
<source>Filters</source>
<target>Filter</target>
</trans-unit>
<trans-unit id="tx_a2g_products_a2gproductslist.name" resname="tx_a2g_products_a2gproductslist.name">
<source>Altogether Products - Product List</source>
<target>Altogether Produkte - Produktliste</target>
</trans-unit>
<trans-unit id="tx_a2g_products_a2gproductslist.description" resname="tx_a2g_products_a2gproductslist.description">
<source></source>
<target>Liste der Produkte mit filter und such Möglichkeit.</target>
</trans-unit>
<trans-unit id="tx_a2g_products_a2gproductsdetail.name" resname="tx_a2g_products_a2gproductsdetail.name">
<source>Altogether Products - Product Detail</source>
<target>Altogether Produkte - Produkt Detail Seite</target>
</trans-unit>
<trans-unit id="tx_a2g_products_a2gproductsdetail.description" resname="tx_a2g_products_a2gproductsdetail.description">
<source></source>
<target>Detailseite eines Produktes</target>
</trans-unit>
<trans-unit id="tx_a2g_products_ingredientslist.name" resname="tx_a2g_products_ingredientslist.name">
<source>Altogether Products - Ingredients List</source>
<target>Altogether Produkte - Liste der Inhaltsstoffe</target>
</trans-unit>
<trans-unit id="tx_a2g_products_ingredientslist.description" resname="tx_a2g_products_ingredientslist.description">
<source></source>
<target></target>
</trans-unit>
<trans-unit id="tx_a2g_products_ingredientsdetail.name" resname="tx_a2g_products_ingredientsdetail.name">
<source>Altogether Products - Ingredients Detail</source>
<target>Altogether Produkte - Inhaltsstoffe Detail Seite</target>
</trans-unit>
<trans-unit id="tx_a2g_products_ingredientsdetail.description" resname="tx_a2g_products_ingredientsdetail.description">
<source></source>
<target></target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_ingredients" resname="tx_a2gproducts_domain_model_ingredients">
<source>Ingredients</source>
<target>Inhaltstoffe</target>
</trans-unit>
<trans-unit id="title" resname="title">
<source>title</source>
<target>Titel</target>
</trans-unit>
<trans-unit id="description" resname="description">
<source>description</source>
<target>Beschreibung</target>
</trans-unit>
<trans-unit id="image" resname="image">
<source>image</source>
<target>Bild</target>
</trans-unit>
<trans-unit id="rel_filters" resname="rel_filters">
<source>Filters</source>
<target>Filter</target>
</trans-unit>
<trans-unit id="value_min" resname="value_min">
<source>min value</source>
<target>min. Wert</target>
</trans-unit>
<trans-unit id="value_max" resname="value_max">
<source>max value</source>
<target>max. Wert</target>
</trans-unit>
<trans-unit id="filter_type" resname="filter_type">
<source>filter type</source>
<target>Filter Typ</target>
</trans-unit>
<trans-unit id="db_operation_min" resname="db_operation_min">
<source>operation min</source>
<target>min. Operant</target>
</trans-unit>
<trans-unit id="db_operation_max" resname="db_operation_max">
<source>operation max</source>
<target>max. Operant</target>
</trans-unit>
<trans-unit id="rel_filter_option" resname="rel_filter_option">
<source>filter option</source>
<target>Filter Optionen</target>
</trans-unit>
<trans-unit id="value" resname="value">
<source>value</source>
<target>Wert</target>
</trans-unit>
<trans-unit id="images" resname="images">
<source>images</source>
<target>Bilder</target>
</trans-unit>
<trans-unit id="rel_products" resname="rel_products">
<source>products</source>
<target>Produkte</target>
</trans-unit>
<trans-unit id="product_nr" resname="product_nr">
<source>product nr</source>
<target>Produkt Nr.</target>
</trans-unit>
<trans-unit id="rel_category" resname="rel_category">
<source>category</source>
<target>Kateogie</target>
</trans-unit>
<trans-unit id="rel_filter_values" resname="rel_filter_values">
<source>filter values</source>
<target>Filter Werte</target>
</trans-unit>
<trans-unit id="rel_ingredients" resname="rel_ingredients">
<source>ingredients</source>
<target>Inhaltsstoffe</target>
</trans-unit>
<trans-unit id="used_ingredients" resname="used_ingredients">
<source>used ingredients</source>
<target>verwendete Zutaten</target>
</trans-unit>
<trans-unit id="related_products" resname="related_products">
<source>products with this ingredient</source>
<target>Produkte mit dieser Zutat</target>
</trans-unit>
<trans-unit id="filter_type.useFilterOptions" resname="filter_type.useFilterOptions">
<source>just use Filter Options</source>
<target>Filteroptionen verwenden</target>
</trans-unit>
<trans-unit id="slug" resname="slug">
<source>slug</source>
<target>Url Segment</target>
</trans-unit>
<trans-unit id="images_tab" resname="images_tab">
<source>Images</source>
<target>Bilder</target>
</trans-unit>
<trans-unit id="product_variants_tab" resname="product_variants_tab">
<source>Varainats</source>
<target>Varianten</target>
</trans-unit>
<trans-unit id="filters_tab" resname="filters_tab">
<source>Filters</source>
<target>Filter</target>
</trans-unit>
<trans-unit id="ingredients_tab" resname="ingredients_tab">
<source>Ingredients</source>
<target>Inhaltsstoffe</target>
</trans-unit>
<trans-unit id="rel_productvariants" resname="rel_productvariants">
<source>Product-Variants</source>
<target>Produkt Varianten</target>
</trans-unit>
<trans-unit id="description_html" resname="description_html">
<source>Description ( RTE )</source>
<target>Beschreibung ( RTE )</target>
</trans-unit>
<trans-unit id="selectabel_product_attribute_tab" resname="selectabel_product_attribute_tab">
<source>Product Options</source>
<target>Produkt Optionen</target>
</trans-unit>
<trans-unit id="rel_selectableattribute" resname="rel_selectableattribute">
<source>Selectable Produkt Options</source>
<target>Wählbare Produkt Optionen</target>
</trans-unit>
<trans-unit id="rel_brand" resname="rel_brand">
<source></source>
<target>Marke</target>
</trans-unit>
<trans-unit id="tx_a2gproducts_domain_model_brands" resname="tx_a2gproducts_domain_model_brands">
<source></source>
<target>Marken</target>
</trans-unit>
<trans-unit id="seo_image1x1" resname="seo_image1x1">
<source>SEO Image 1x1</source>
<target></target>
</trans-unit>
<trans-unit id="seo_image4x3" resname="seo_image4x3">
<source>SEO Image 4x3</source>
<target></target>
</trans-unit>
<trans-unit id="seo_image16x9" resname="seo_image16x9">
<source>SEO Image 16x9</source>
<target></target>
</trans-unit>
<trans-unit id="seo_tab" resname="seo_tab">
<source>SEO</source>
<target></target>
</trans-unit>
</body>
</file>
</xliff>

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" datatype="plaintext" original="EXT:a2g_products/Resources/Private/Language/locallang.xlf" date="2021-11-18T10:42:07Z" product-name="a2g_products">
<header/>
<body>
<trans-unit id="product_list.product_detail_link" resname="product_list.product_detail_link">
<source>detail</source>
</trans-unit>
<trans-unit id="product.product_nr" resname="product.product_nr">
<source>article nr</source>
</trans-unit>
<trans-unit id="product_list.search" resname="product_list.search">
<source>search</source>
</trans-unit>
<trans-unit id="product_list.advanced_search" resname="product_list.advanced_search">
<source>advanced search</source>
</trans-unit>
<trans-unit id="product_list.search_input_placeholder" resname="product_list.search_input_placeholder">
<source>search</source>
</trans-unit>
<trans-unit id="related_products" resname="related_products">
<source>related products</source>
</trans-unit>
<trans-unit id="used_ingredients" resname="used_ingredients">
<source>used ingredients</source>
</trans-unit>
</body>
</file>
</xliff>

View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<xliff version="1.0">
<file source-language="en" datatype="plaintext" original="EXT:a2g_products/Resources/Private/Language/locallang_csh" date="2021-08-16T12:03:54Z" product-name="a2g_products">
<header/>
<body>
<trans-unit id="title.description" resname="title.description">
<source>title</source>
</trans-unit>
<trans-unit id="description.description" resname="description.description">
<source>description</source>
</trans-unit>
<trans-unit id="image.description" resname="image.description">
<source>image</source>
</trans-unit>
<trans-unit id="rel_filters.description" resname="rel_filters.description">
<source>relFilters</source>
</trans-unit>
</body>
</file>
</xliff>

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<xliff version="1.0">
<file source-language="en" datatype="plaintext" original="EXT:a2g_products/Resources/Private/Language/locallang_csh" date="2021-08-16T12:03:54Z" product-name="a2g_products">
<header/>
<body>
<trans-unit id="title.description" resname="title.description">
<source>title</source>
</trans-unit>
<trans-unit id="value_min.description" resname="value_min.description">
<source>valueMin</source>
</trans-unit>
<trans-unit id="value_max.description" resname="value_max.description">
<source>valueMax</source>
</trans-unit>
</body>
</file>
</xliff>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<xliff version="1.0">
<file source-language="en" datatype="plaintext" original="EXT:a2g_products/Resources/Private/Language/locallang_csh" date="2021-08-16T12:03:54Z" product-name="a2g_products">
<header/>
<body>
<trans-unit id="title.description" resname="title.description">
<source>title</source>
</trans-unit>
<trans-unit id="filter_type.description" resname="filter_type.description">
<source>filterType</source>
</trans-unit>
<trans-unit id="db_operation_max.description" resname="db_operation_max.description">
<source>dbOperationMax</source>
</trans-unit>
<trans-unit id="db_operation_min.description" resname="db_operation_min.description">
<source>dbOperationMin</source>
</trans-unit>
<trans-unit id="rel_filter_option.description" resname="rel_filter_option.description">
<source>relFilterOption</source>
</trans-unit>
</body>
</file>
</xliff>

View File

@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<xliff version="1.0">
<file source-language="en" datatype="plaintext" original="EXT:a2g_products/Resources/Private/Language/locallang_csh" date="2021-08-16T12:03:54Z" product-name="a2g_products">
<header/>
<body>
<trans-unit id="value.description" resname="value.description">
<source>value</source>
</trans-unit>
<trans-unit id="rel_filters.description" resname="rel_filters.description">
<source>relFilters</source>
</trans-unit>
</body>
</file>
</xliff>

View File

@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" datatype="plaintext" original="EXT:a2g_products/Resources/Private/Language/locallang_csh_tx_a2gproducts_domain_model_products.xlf" date="2021-11-18T11:17:01Z" product-name="a2g_products">
<header/>
<body>
<trans-unit id="nr.description" resname="nr.description">
<source>product nr</source>
</trans-unit>
<trans-unit id="title.description" resname="title.description">
<source>product title &lt;br/&gt;
for Search Engin Optimation ( SEO ) and link preview ( &lt;a href=&quot;https://ogp.me/&quot;&gt;open graph&lt;/a&gt; )</source>
</trans-unit>
<trans-unit id="description.description" resname="description.description">
<source>description &lt;br/&gt;
for Search Engin Optimation ( SEO ) and link preview ( &lt;a href=&quot;https://ogp.me/&quot;&gt;open graph&lt;/a&gt; )</source>
</trans-unit>
<trans-unit id="image.description" resname="image.description">
<source>product list image &lt;br/&gt;
for Search Engin Optimation ( SEO ) and link preview ( &lt;a href=&quot;https://ogp.me/&quot;&gt;open graph&lt;/a&gt; )</source>
</trans-unit>
<trans-unit id="images.description" resname="images.description">
<source>images</source>
</trans-unit>
<trans-unit id="rel_category.description" resname="rel_category.description">
<source>relCategory</source>
</trans-unit>
<trans-unit id="rel_filter_values.description" resname="rel_filter_values.description">
<source>relFilterValues</source>
</trans-unit>
<trans-unit id="path_segment.description" resname="path_segment.description">
<source>url segment generated from the product title</source>
</trans-unit>
<trans-unit id="description_html.description" resname="description_html.description">
<source>farmateable description </source>
</trans-unit>
<trans-unit id="rel_ingedients.description" resname="rel_ingedients.description">
<source>ingredients</source>
</trans-unit>
<trans-unit id="rel_productvariants.description" resname="rel_productvariants.description">
<source></source>
</trans-unit>
<trans-unit id="rel_delivery_costs.description" resname="rel_delivery_costs.description">
<source>deliverycosts conditions per each product</source>
</trans-unit>
</body>
</file>
</xliff>

View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" datatype="plaintext" original="EXT:a2g_travel_blog/Resources/Private/Language/locallang_db.xlf" date="2021-11-14T20:20:24Z" product-name="a2g_travel_blog">
<header/>
<body>
<trans-unit id="pages.rel_coordinate" xml:space="preserve">
<source>Coordinate</source>
</trans-unit>
<trans-unit id="pages.tabs.travel_blog" xml:space="preserve">
<source>Travel Blog</source>
</trans-unit>
<trans-unit id="pages.palettes.travel_blog" xml:space="preserve">
<source>Travel Blog</source>
</trans-unit>
<trans-unit id="a2gtravelblog_map.name" xml:space="preserve">
<source>Travel Blog Map</source>
</trans-unit>
<trans-unit id="a2gtravelblog_timeline.name" xml:space="preserve">
<source>Travel Blog Timeline</source>
</trans-unit>
<trans-unit id="wizard.group.travel_blog" xml:space="preserve">
<source>Travel Blog</source>
</trans-unit>
<trans-unit id="plugin.map.title" xml:space="preserve">
<source>Travel Blog Map</source>
</trans-unit>
<trans-unit id="plugin.map.description" xml:space="preserve">
<source> altogether Travel Blog Map</source>
</trans-unit>
<trans-unit id="plugin.timeline.title" xml:space="preserve">
<source>Travel Blog Timeline</source>
</trans-unit>
<trans-unit id="plugin.timeline.description" xml:space="preserve">
<source> altogether Travel Blog Timeline</source>
</trans-unit>
</body>
</file>
</xliff>

View File

@@ -0,0 +1,5 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
<div class="a2g-travel-blog">
<f:render section="content" />
</div>
</html>

View File

@@ -0,0 +1,5 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
<div class="a2g-travel-blog-popup">
<f:render section="content" />
</div>
</html>

View File

@@ -0,0 +1,15 @@
<f:section name="Author">
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewBox="0 0 16 16" aria-hidden="true" role="img" focusable="false"><g fill="currentColor"><path d="M13.687 11.587c-1.476-.421-2.507-.998-3.533-1.394-.099-.322-.333-.893-.39-2.205.706-.712 1.212-1.716 1.212-2.525V3.537C10.976 2.137 9.838 1 8.35 1h-.7c-1.4 0-2.626 1.137-2.626 2.537v1.926c0 .816.512 1.831 1.228 2.544-.024 1.288-.266 1.856-.381 2.178-1.035.394-2.071.979-3.558 1.403 0 0-1.226.7-1.313 3.413h14c-.087-2.801-1.313-3.414-1.313-3.414z"/></g></svg>
</f:section>
<f:section name="Category">
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewBox="0 0 16 16" aria-hidden="true" role="img" focusable="false"><g fill="currentColor"><path d="M2 1.5v13a.5.5 0 0 0 .5.5h11a.5.5 0 0 0 .5-.5v-13a.5.5 0 0 0-.5-.5h-11a.5.5 0 0 0-.5.5zM13 14H3v-3h.586l1.707 1.707.293.293H10.414l.293-.293L12.414 11H13v3zm-1-4l-2 2H6l-2-2H3V2h10v8h-1z"/><path d="M11 4H5v1h6V4zM11 6H5v1h6V6zM11 8H5v1h6V8z"/></g></svg>
</f:section>
<f:section name="Comment">
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewBox="0 0 16 16" aria-hidden="true" role="img" focusable="false"><g fill="currentColor"><path d="M3 3h10v8.75L11 10H3V3M2 2v9h8.5l3.5 3V2H2z"/><path d="M4 4h8v2H4zM4 7h6v1H4z"/></g></svg>
</f:section>
<f:section name="Published">
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewBox="0 0 16 16" aria-hidden="true" role="img" focusable="false"><g fill="currentColor"><path d="M8 2.6c3.1 0 5.4 2.4 5.4 5.4S11 13.4 8 13.4 2.5 11.1 2.5 8 4.9 2.6 8 2.6M8 1C4.1 1 1 4.1 1 8s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z"/><path d="M7 4.1V8l4.1 2.5c.2-.3.4-.5.5-.9L8 7.4V4c-.3 0-.7.1-1 .1z"/></g></svg>
</f:section>
<f:section name="Tag">
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewBox="0 0 16 16" aria-hidden="true" role="img" focusable="false"><g fill="currentColor"><path d="M6.657 1H1v5.656l8.485 8.485 5.657-5.657L6.657 1zM1.99 6.232V1.99h4.243l7.495 7.494-4.243 4.243L1.99 6.232z"/><path d="M3.475 3.475A1.75 1.75 0 1 0 5.952 5.95a1.75 1.75 0 0 0-2.477-2.475zm.707.707a.75.75 0 1 1 1.061 1.06.75.75 0 0 1-1.061-1.06zM6.126 8.602l2.475-2.475 3.535 3.536-2.475 2.474z"/></g></svg>
</f:section>

View File

@@ -0,0 +1,7 @@
<f:if condition="{image}">
<f:variable name="height" value="{f:if(condition: settings.height, then: settings.height, else: '400c')}" />
<f:variable name="width" value="{f:if(condition: settings.width, then: settings.width, else: '1140')}" />
<figure class="blogimage blogimage--featured">
<f:image loading="lazy" image="{image}" alt="{image.alternative}" title="{image.title}" height="{height}" width="{width}" />
</figure>
</f:if>

View File

@@ -0,0 +1,15 @@
<f:flashMessages as="flashMessages">
<f:for each="{flashMessages}" as="flashMessage">
<f:switch expression="{flashMessage.severity}">
<f:case value="-1"><f:variable name="class" value="info" /></f:case>
<f:case value="0"><f:variable name="class" value="success" /></f:case>
<f:case value="1"><f:variable name="class" value="warning" /></f:case>
<f:case value="2"><f:variable name="class" value="danger" /></f:case>
<f:defaultCase><f:variable name="class" value="notice" /></f:defaultCase>
</f:switch>
<div class="alert alert-{class}" role="alert">
<div class="alert__title">{flashMessage.title}</div>
<div class="alert__message">{flashMessage.message}</div>
</div>
</f:for>
</f:flashMessages>

View File

@@ -0,0 +1,17 @@
<f:form.validationResults>
<f:if condition="{validationResults.flattenedErrors}">
<div class="errors">
<f:for each="{validationResults.flattenedErrors}" as="errors" key="propertyPath">
<div class="alert alert-danger" role="alert">
<div class="alert__message">
<ul class="alert__list">
<f:for each="{errors}" as="error">
<li><span>{error}</span></li>
</f:for>
</ul>
</div>
</div>
</f:for>
</div>
</f:if>
</f:form.validationResults>

View File

@@ -0,0 +1,18 @@
<f:section name="LinkedIn">
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewBox="0 0 16 16" aria-hidden="true" role="img" focusable="false"><g fill="currentColor"><path d="M15 2v12c0 .6-.5 1-1 1H2c-.6 0-1-.5-1-1V2c0-.6.5-1 1-1h12c.5 0 1 .5 1 1zM5.1 6.4h-2V13h2.1V6.4zm.2-2.3c0-.7-.5-1.2-1.2-1.2s-1.2.5-1.2 1.2.5 1.2 1.2 1.2c.6 0 1.2-.5 1.2-1.2zm7.6 4.8c0-2-1.3-2.8-2.5-2.8-.8 0-1.6.4-2.1 1.1v-.8H6.4V13h2.1V9.4C8.3 8.7 8.9 8 9.6 8h.1c.7 0 1.1.4 1.1 1.4v3.5h2.1v-4z"/></g></svg>
</f:section>
<f:section name="Rss">
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewBox="0 0 16 16" aria-hidden="true" role="img" focusable="false"><g fill="currentColor"><path d="M2 4c5.514 0 10 4.486 10 10h2C14 7.372 8.628 2 2 2v2z"/><path d="M2 8c3.308 0 6 2.692 6 6h2a8 8 0 0 0-8-8v2zM3.5 14a1.5 1.5 0 0 1 0-3 1.5 1.5 0 0 1 0 3z"/></g></svg>
</f:section>
<f:section name="Twitter">
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewBox="0 0 16 16" aria-hidden="true" role="img" focusable="false"><g fill="currentColor"><path d="M5.4 13.7c5.3 0 8.2-4.4 8.2-8.2v-.4c.6-.4 1-.9 1.4-1.5-.5.2-1.1.4-1.6.5.6-.4 1-.9 1.3-1.6-.6.3-1.2.6-1.8.7-.5-.6-1.3-.9-2.1-.9-1.6 0-2.9 1.3-2.9 2.9 0 .2 0 .4.1.7-2.5-.2-4.6-1.3-6-3.1-.3.5-.4 1-.4 1.5 0 1 .5 1.9 1.3 2.4-.5 0-.9-.1-1.3-.4 0 1.4 1 2.6 2.3 2.8-.3.1-.5.2-.8.2-.2 0-.4 0-.5-.1.4 1.1 1.4 2 2.7 2-1 .8-2.2 1.2-3.6 1.2H1c1.3.8 2.8 1.3 4.4 1.3"/></g></svg>
</f:section>
<f:section name="Instagram">
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewBox="0 0 16 16" aria-hidden="true" role="img" focusable="false"><g fill="currentColor"><path d="M8 2.261c1.869 0 2.09.007 2.829.041.682.031 1.053.145 1.3.241.327.127.56.279.805.524s.397.478.524.805c.096.247.21.617.241 1.3.033.738.04.959.04 2.828s-.007 2.09-.041 2.829c-.031.682-.145 1.053-.241 1.3-.127.327-.279.56-.524.805a2.168 2.168 0 0 1-.805.524c-.247.096-.617.21-1.3.241-.737.033-.959.04-2.828.04s-2.091-.007-2.829-.041c-.682-.031-1.053-.145-1.3-.241a2.168 2.168 0 0 1-.805-.524 2.168 2.168 0 0 1-.524-.805c-.096-.247-.21-.617-.241-1.3-.033-.738-.04-.959-.04-2.828s.007-2.09.041-2.829c.031-.682.145-1.053.241-1.3.127-.327.279-.56.524-.805.245-.244.478-.396.805-.523.247-.096.617-.21 1.3-.241.738-.034.959-.041 2.828-.041M8 1c-1.901 0-2.139.008-2.886.042-.745.034-1.254.152-1.699.325-.46.179-.851.418-1.24.807-.389.389-.629.78-.807 1.24-.174.446-.292.955-.326 1.7C1.008 5.861 1 6.099 1 8c0 1.901.008 2.139.042 2.886.034.745.152 1.254.325 1.699.179.46.418.851.807 1.24.389.389.78.629 1.24.807.445.173.954.291 1.699.325.748.035.986.043 2.887.043s2.139-.008 2.886-.042c.745-.034 1.254-.152 1.699-.325.46-.179.851-.418 1.24-.807.389-.389.629-.78.807-1.24.173-.445.291-.954.325-1.699.035-.748.043-.986.043-2.887s-.008-2.139-.042-2.886c-.034-.745-.152-1.254-.325-1.699a3.435 3.435 0 0 0-.807-1.24 3.422 3.422 0 0 0-1.24-.807c-.445-.173-.954-.291-1.699-.325C10.139 1.008 9.901 1 8 1z"/><path d="M8 4.405a3.596 3.596 0 1 0 .001 7.191A3.596 3.596 0 0 0 8 4.405zm0 5.928a2.333 2.333 0 1 1 0-4.666 2.333 2.333 0 0 1 0 4.666z"/><circle cx="11.737" cy="4.263" r=".84"/></g></svg>
</f:section>
<f:section name="Website">
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewBox="0 0 16 16" aria-hidden="true" role="img" focusable="false"><g fill="currentColor"><path d="M8 1C4.1 1 1 4.1 1 8s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm5.2 4h-2.5c-.2-1.1-.6-2.1-1-2.7 1.5.4 2.7 1.4 3.5 2.7zM10 8c0 .7-.1 1.4-.1 2H6.1c0-.6-.1-1.3-.1-2s.1-1.4.1-2h3.7c.1.6.2 1.3.2 2zm-2 6c-.5 0-1.2-1.1-1.7-3h3.3c-.4 1.9-1.1 3-1.6 3zM6.3 5C6.8 3.1 7.5 2 8 2s1.2 1.1 1.7 3H6.3zm0-2.7c-.4.6-.8 1.6-1 2.7H2.8c.8-1.3 2-2.3 3.5-2.7zM2.4 6h2.8C5 6.6 5 7.3 5 8s0 1.4.1 2H2.4C2.1 9.4 2 8.7 2 8s.1-1.4.4-2zm.4 5h2.5c.2 1.1.6 2.1 1 2.7-1.5-.4-2.7-1.4-3.5-2.7zm6.9 2.7c.4-.7.8-1.6 1-2.7h2.5c-.8 1.3-2 2.3-3.5 2.7zm3.9-3.7h-2.8c.2-.6.2-1.3.2-2s0-1.4-.1-2h2.8c.2.6.3 1.3.3 2s-.1 1.4-.4 2z"/></g></svg>
</f:section>
<f:section name="Xing">
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" viewBox="0 0 16 16" aria-hidden="true" role="img" focusable="false"><g fill="currentColor"><path d="M7.084 6.561c-.056.103-.787 1.387-2.19 3.859-.153.259-.337.391-.553.391H2.307c-.241 0-.378-.234-.266-.45l2.156-3.79c.006 0 .006-.003 0-.009L2.826 4.199c-.135-.243.009-.44.265-.44h2.034c.228 0 .416.128.562.381l1.397 2.421zm6.871-5.12L9.456 9.345v.009l2.862 5.205c.121.222.006.441-.266.441h-2.037c-.237 0-.425-.125-.562-.381L6.566 9.354l4.524-7.973c.143-.253.324-.381.546-.381h2.053c.25 0 .384.209.266.441z"/></g></svg>
</f:section>

View File

@@ -0,0 +1,80 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:bk2k="http://typo3.org/ns/BK2K/BootstrapPackage/ViewHelpers" data-namespace-typo3-fluid="true">
<picture>
<f:for each="{variants}" key="name" as="variant">
<f:variable name="breakpoint">{variant.breakpoint as integer}</f:variable>
<f:variable name="width">{variant.width as integer}</f:variable>
<f:variable name="height" value="" />
<f:if condition="{width}">
<f:if condition="{variant.aspectRatio}">
<f:variable name="aspectRatio">{variant.aspectRatio as float}</f:variable>
<f:variable name="height">{width / aspectRatio}</f:variable>
<f:variable name="height">{height as integer}</f:variable>
</f:if>
<f:variable name="mediaQuery">{f:if(condition: breakpoint, then: 'media="(min-width: {breakpoint}px)"')}</f:variable>
<f:if condition="{variant.sizes}">
<f:variable name="srcset" value="" />
<f:for each="{variant.sizes}" key="sizeKey" as="sizeConfig" iteration="iteration">
<f:variable name="sizeWidth">{sizeConfig.multiplier as float}</f:variable>
<f:variable name="sizeWidth">{sizeWidth * width}</f:variable>
<f:variable name="sizeHeight" value="" />
<f:if condition="{height}">
<f:then>
<f:variable name="sizeHeight">{sizeConfig.multiplier as float}</f:variable>
<f:variable name="sizeHeight">{sizeHeight * height}</f:variable>
<f:variable name="sizeUrl">{f:uri.image(image: file, cropVariant: name, width: '{sizeWidth}c', height: '{sizeHeight}c',absolute:'true')}</f:variable>
</f:then>
<f:else>
<f:if condition="{maxWidth} < {sizeWidth}">
<f:then>
<f:variable name="sizeUrl">{f:uri.image(image: file, cropVariant: 'default', width: maxWidth, absolute:'true')}</f:variable>
</f:then>
<f:else>
<f:variable name="sizeUrl">{f:uri.image(image: file, cropVariant: 'default', width: sizeWidth, absolute:'true')}</f:variable>
</f:else>
</f:if>
</f:else>
</f:if>
<f:variable name="srcset">{srcset}{sizeUrl} {sizeKey}{f:if(condition: iteration.isLast, else: ',')}</f:variable>
</f:for>
</f:if>
<source data-variant="{name}" {f:if(condition: sizeHeight, then: 'data-width="{width}" data-height="{sizeHeight}"', else: 'data-maxwidth="{width}"')} {mediaQuery->f:format.raw()} srcset="{srcset}">
</f:if>
</f:for>
<f:variable name="defaultWidth" value="{variants.default.width}" />
<f:variable name="defaultAspectRatio" value="{variants.default.aspectRatio}" />
<f:if condition="{defaultAspectRatio}">
<f:variable name="aspectRatio">{defaultAspectRatio as float}</f:variable>
<f:variable name="defaultHeight">{defaultWidth / aspectRatio}</f:variable>
<f:variable name="defaultHeight">{defaultHeight as integer}c</f:variable>
</f:if>
<f:if condition="{defaultHeight}">
<f:then>
<f:variable name="src" value="{f:uri.image(image: file, cropVariant: 'default', width: defaultWidth, height: defaultHeight, absolute:'true')}" />
</f:then>
<f:else>
<f:if condition="{maxWidth}">
<f:then>
<f:variable name="src" value="{f:uri.image(image: file, cropVariant: 'default', width: maxWidth, absolute:'true')}" />
</f:then>
<f:else>
<f:variable name="src" value="{f:uri.image(image: file, cropVariant: 'default', width: defaultWidth, absolute:'true')}" />
</f:else>
</f:if>
</f:else>
</f:if>
<f:variable name="finalWidth" value="{bk2k:data.imageInfo(src: src, property: 'width')}" />
<f:variable name="finalHeight" value="{bk2k:data.imageInfo(src: src, property: 'height')}" />
<f:if condition="itemprop">
<f:then>
<img loading="lazy" itemprop="image" src="{src}" width="{finalWidth}" height="{finalHeight}" intrinsicsize="{finalWidth}x{finalHeight}" title="{file.properties.title}" alt="{file.properties.alternative}">
</f:then>
<f:else>
<img loading="lazy" src="{src}" width="{finalWidth}" height="{finalHeight}" intrinsicsize="{finalWidth}x{finalHeight}" title="{file.properties.title}" alt="{file.properties.alternative}">
</f:else>
</f:if>
</picture>
</html>

View File

@@ -0,0 +1,36 @@
<div class="postlist{f:if(condition: type, then: ' postlist--{type}')}">
<f:if condition="{pagination} && {pagination.paginatedItems}">
<f:then>
<f:if condition="{settings.lists.pagination.insertAbove}">
<f:render partial="Pagination/Pagination" arguments="{pagination: pagination}" />
</f:if>
<div class=" card-group-element card-group-element-align-left card-group-element-columns-2">
<f:for each="{pagination.paginatedItems}" iteration="iterator" as="post">
<blogvh:cache post="{post}" />
<f:render partial="List/Post" arguments="{_all}" />
</f:for>
</div>
<f:if condition="{settings.lists.pagination.insertBelow}">
<f:render partial="Pagination/Pagination" arguments="{pagination: pagination}" />
</f:if>
</f:then>
<f:else if="{posts}">
<f:for each="{posts}" iteration="iterator" as="post">
<blogvh:cache post="{post}" />
<f:render partial="List/Post" arguments="{_all}" />
</f:for>
</f:else>
<f:else>
<div class="alert alert-info" role="alert">
<strong><f:translate key="list.no_posts.title" /></strong><br><f:translate key="list.no_posts.message" />
</div>
</f:else>
</f:if>
</div>

View File

@@ -0,0 +1,19 @@
<div class="bloglist__item bloglist__item--archiveyear" data-blog-archive-year="{year}">
<h2 class="bloglist__title" itemprop="name">
<blogvh:link.archive year="{year}" title="{year}">{year}</blogvh:link.archive>
</h2>
<div class="bloglist__content">
<ul class="bloglinklist">
<f:for each="{months}" as="month">
<li class="bloglinklist__item" data-blog-archive-year="{year}" data-blog-archive-month="{month.month}">
<blogvh:link.archive class="bloglinklist__itemlink" year="{year}" month="{month.month}" title="{f:format.date(format: '{settings.archive.monthDateFormat} {settings.archive.yearDateFormat}', date: month.timestamp)}">
<span class="bloglinklist__itemtitle">{f:format.date(format: '{settings.archive.monthDateFormat}', date: month.timestamp)}</span>
<f:if condition="{settings.archive.showCounter} == 1">
<span class="bloglinklist__itemcount">{month.count}</span>
</f:if>
</blogvh:link.archive>
</li>
</f:for>
</ul>
</div>
</div>

View File

@@ -0,0 +1,22 @@
<div class="bloglist__item--author card" data-blog-author="{author.uid}">
<div class="card-body">
<div class="bloglist__image">
<f:variable name="avatarsize" value="{settings.authors.avatar.provider.size as integer}" />
<f:if condition="{avatarsize}"><f:else><f:variable name="avatarsize" value="32" /></f:else></f:if>
<img loading="lazy" class="bloglist__imageavatar blogavatar" height="{avatarsize}" width="{avatarsize}" src="{author.avatar}" itemprop="image">
</div>
<h2 class="bloglist__title" itemprop="name">
<blogvh:link.author author="{author}" />
</h2>
<f:if condition="{author.bio}">
<p class="bloglist__description" itemprop="description">
<f:format.crop maxCharacters="200" append="&nbsp;[...]">{author.bio}</f:format.crop>
</p>
</f:if>
<blogvh:link.author class="bloglist__link" author="{author}">
<f:translate key="list.show.author" />
</blogvh:link.author>
</div>
</div>

View File

@@ -0,0 +1,18 @@
<div class="card-group-element-item">
<div class=" bloglist__item--category card" data-blog-category="{category.uid}">
<div class="card-body">
<h2 class="bloglist__title" itemprop="name">
<blogvh:link.category category="{category}" />
</h2>
<f:if condition="{category.description}">
<p class="bloglist__description" itemprop="description">
<f:format.crop maxCharacters="200" append="&nbsp;[...]">{category.description}</f:format.crop>
</p>
</f:if>
<blogvh:link.category class="bloglist__link" category="{category}">
<f:translate key="list.show.discover" default="entdecken"/>
</blogvh:link.category>
</div>
</div>
</div>

View File

@@ -0,0 +1,27 @@
<article class="card-group-element-item" data-blog-tag="{f:if(condition: post.tags, then: post.tags.0.uid, else: 0)}" data-blog-category="{f:if(condition: post.categories, then: post.categories.0.uid, else: 0)}">
<div class="card">
<div class="card-body">
<f:if condition="{post.featuredImage}">
<blogvh:link.post post="{post}" class="postlist__featuredimage" additionalAttributes="{aria-hidden: 'true'}" tabindex="-1">
<f:render partial="General/FeaturedImage" arguments="{image: post.featuredImage, settings: settings.lists.featuredImage}" />
</blogvh:link.post>
</f:if>
<h2 class="postlist__posttitle" itemprop="name"><blogvh:link.post post="{post}" /></h2>
<f:render partial="Meta/ListHeader" arguments="{_all}" />
<f:if condition="{post.abstract}">
<f:then>
<p class="postlist__postdescription" itemprop="description">{post.abstract}</p>
</f:then>
<f:else>
<p class="postlist__postdescription" itemprop="description">{post.description}</p>
</f:else>
</f:if>
<f:render partial="Meta/ListFooter" arguments="{_all}" />
</div>
</div>
</article>

View File

@@ -0,0 +1,25 @@
<html xmlns:dc="http://purl.org/dc/elements/1.1/" data-namespace-typo3-fluid="true">
<f:spaceless>
<item>
<title>{post.title}</title>
<link><blogvh:link.post post="{post}" returnUri="true" createAbsoluteUri="true" /></link>
<f:if condition="{settings.comments.active} && {post.commentsActive}">
<comments><blogvh:link.post post="{post}" section="comments" returnUri="true" createAbsoluteUri="true" /></comments>
</f:if>
<pubDate><f:format.date date="{post.publishDate}" format="r" /></pubDate>
<f:if condition="{post.authors}">
<f:for each="{post.authors}" as="author">
<dc:creator>{author.name}</dc:creator>
</f:for>
</f:if>
<guid><blogvh:link.post post="{post}" returnUri="true" createAbsoluteUri="true" /></guid>
<description><f:if condition="{post.abstract}"><f:then>{post.abstract}</f:then><f:else>{post.description}</f:else></f:if></description>
<f:if condition="{post.featuredImage}">
<enclosure
length="{post.featuredImage.originalResource.size}"
type="{post.featuredImage.originalResource.mimeType}"
url="{f:uri.image(image: post.featuredImage, absolute: '1')}" />
</f:if>
</item>
</f:spaceless>
</html>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,13 @@
<div class="bloglist__item bloglist__item--tag" data-blog-tag="{tag.uid}">
<h2 class="bloglist__title" itemprop="name">
<blogvh:link.tag tag="{tag}" />
</h2>
<f:if condition="{tag.description}">
<p class="bloglist__description" itemprop="description">
<f:format.crop maxCharacters="200" append="&nbsp;[...]">{tag.description}</f:format.crop>
</p>
</f:if>
<blogvh:link.tag class="bloglist__link" tag="{tag}">
<f:translate key="list.show.tag" />
</blogvh:link.tag>
</div>

View File

@@ -0,0 +1,31 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:bk2k="http://typo3.org/ns/BK2K/BootstrapPackage/ViewHelpers" data-namespace-typo3-fluid="true">
<f:if condition="{settings.useLayerSwitcher} === '1' && {settings.controllsPositions} === '2'">
<input class="a2g-map-layer-swipe form-range" type="range" style="width: 100%" value="{settings.layerSwitcherValue}">
</f:if>
<div class="d-flex justify-content-center">
<f:if condition="{settings.showRemoveMarkerButton} === '1'">
<div class="m-3 form-check form-switch">
<input id="{mapId}-hide-marker-{settings.controllsPositions}" class="form-check-input a2g-map-marker-visible-switcher" type="checkbox">
<label for="{mapId}-hide-marker-{settings.controllsPositions}" class="form-check-label">hide marker</label>
</div>
</f:if>
<f:if condition="{settings.showMyPositionButton} === '1'">
<div class="m-3 form-check form-switch">
<input id="{mapId}-lacate-me-{settings.controllsPositions}" class="form-check-input a2g-map-geolocate-me" type="checkbox">
<label for="{mapId}-hide-marker-{settings.controllsPositions}" class="form-check-label">locate me</label>
</div>
</f:if>
<f:if condition="{settings.showLayerSelect} === '1' && {countMapLayers}>1">
<div class="m-3">
<label>Geometry type &nbsp;</label>
<select class="a2g-map-layer-select">
</select>
</div>
</f:if>
</div>
<f:if condition="{settings.useLayerSwitcher} === '1' && ( {settings.controllsPositions} === '1' || {settings.controllsPositions} === '3'} )">
<input class="a2g-map-layer-swipe form-range" type="range" style="width: 100%" value="{settings.layerSwitcherValue}">
</f:if>
</html>

View File

@@ -0,0 +1,2 @@
<f:variable name="metatype" value="default" />
<f:render partial="Meta/Rendering/Section" arguments="{_all}" />

View File

@@ -0,0 +1,31 @@
<f:variable name="name">authors</f:variable>
<f:variable name="icon"><f:render partial="General/BlogIcons" section="Author" optional="true" /></f:variable>
<f:variable name="prefix"><f:translate key="meta.authors.author"/></f:variable>
<f:if condition="{post.authors}">
<f:if condition="{post.authors -> f:count()} > 1">
<f:variable name="prefix"><f:translate key="meta.authors.authors"/></f:variable>
</f:if>
<f:render partial="Meta/Rendering/Item" arguments="{name: name, icon: icon, prefix: prefix}" contentAs="content">
<ul class="postmetagroup__list">
<f:for each="{post.authors}" as="author">
<li>
<span class="postmetagroup__listitem" data-blog-author="{author.uid}">
<f:if condition="{avatarSettings.enable}">
<f:variable name="avatarsize" value="{avatarSettings.size as integer}" />
<f:if condition="{avatarsize}"><f:else><f:variable name="avatarsize" value="24" /></f:else></f:if>
<span class="postmetagroup__listprefix"><img loading="lazy" class="postmetagroup__listavatar blogavatar" height="{avatarsize}" width="{avatarsize}" src="{author.avatar}" itemprop="image"></span>
</f:if>
<span class="postmetagroup__listtext" data-prefix="{f:translate(key:'meta.authors.author')}"><f:render section="ProfileLink" arguments="{author: author}" contentAs="content">{author.name}</f:render></span>
</span>
</li>
</f:for>
</ul>
</f:render>
</f:if>
<f:section name="ProfileLink">
<f:if condition="{author.detailsPage} || {settings.authorUid}">
<f:then><blogvh:link.author rel="author" author="{author}"><span itemprop="name">{content}</span></blogvh:link.author></f:then>
<f:else><span itemprop="name">{content}</span></f:else>
</f:if>
</f:section>

View File

@@ -0,0 +1,20 @@
<f:variable name="name">categories</f:variable>
<f:variable name="icon"><f:render partial="General/BlogIcons" section="Category" optional="true" /></f:variable>
<f:variable name="prefix"><f:translate key="meta.categories.category"/></f:variable>
<f:if condition="{post.categories}">
<f:if condition="{post.categories -> f:count()} > 1">
<f:variable name="prefix"><f:translate key="meta.categories.categories"/></f:variable>
</f:if>
<f:render partial="Meta/Rendering/Item" arguments="{name: name, icon: icon, prefix: prefix}" contentAs="content">
<ul class="postmetagroup__list">
<f:for each="{post.categories}" as="postCategory">
<li>
<span class="postmetagroup__listitem" data-blog-category="{postCategory.uid}">
<span class="postmetagroup__listtext"><blogvh:link.category category="{postCategory}" /></span>
</span>
</li>
</f:for>
</ul>
</f:render>
</f:if>

View File

@@ -0,0 +1,23 @@
<f:variable name="name">comments</f:variable>
<f:variable name="icon"><f:render partial="General/BlogIcons" section="Comment" optional="true" /></f:variable>
<f:variable name="prefix"><f:translate key="meta.comments.join_conversation"/></f:variable>
<f:variable name="text"><f:translate key="meta.comments.comments"/></f:variable>
<f:if condition="{settings.comments.active} && {post.commentsActive}">
<f:variable name="commentCount" value="{post.activeComments -> f:count()}" />
<f:if condition="{settings.comments.disqus._typoScriptNodeValue} != 1">
<f:if condition="{commentCount} == 0">
<f:variable name="prefix"><f:translate key="meta.comments.start_conversation"/></f:variable>
<f:variable name="text"><f:translate key="meta.comments.has_comments" arguments="{0: commentCount}"/></f:variable>
</f:if>
<f:if condition="{commentCount} == 1">
<f:variable name="text"><f:translate key="meta.comments.has_comment" arguments="{0: commentCount}"/></f:variable>
</f:if>
<f:if condition="{commentCount} >= 1">
<f:variable name="text"><f:translate key="meta.comments.has_comments" arguments="{0: commentCount}"/></f:variable>
</f:if>
</f:if>
<f:render partial="Meta/Rendering/Item" arguments="{name: name, icon: icon, prefix: prefix}" contentAs="content">
<blogvh:link.post post="{post}" section="comments">{text}</blogvh:link.post>
</f:render>
</f:if>

View File

@@ -0,0 +1,10 @@
<f:variable name="name">published</f:variable>
<f:variable name="icon"><f:render partial="General/BlogIcons" section="Published" optional="true" /></f:variable>
<f:variable name="prefix"><f:translate key="meta.published.published"/></f:variable>
<f:render partial="Meta/Rendering/Item" arguments="{name: name, icon: icon, prefix: prefix}" contentAs="content">
<blogvh:link.post post="{post}" rel="bookmark">
<f:if condition="!{publishDateFormat}"><f:variable name="dateformat" value="%d.%m.%Y" /></f:if>
<time datetime="{f:format.date(format: '%Y-%m-%dT%H:%M:%S-%z', date: post.publishDate)}" itemprop="datepublished">{f:format.date(format: publishDateFormat, date: post.publishDate)}</time>
</blogvh:link.post>
</f:render>

View File

@@ -0,0 +1,20 @@
<f:variable name="name">tags</f:variable>
<f:variable name="icon"><f:render partial="General/BlogIcons" section="Tag" optional="true" /></f:variable>
<f:variable name="prefix"><f:translate key="meta.tags.tag"/></f:variable>
<f:if condition="{post.tags}">
<f:if condition="{post.tags -> f:count()} > 1">
<f:variable name="prefix"><f:translate key="meta.tags.tags"/></f:variable>
</f:if>
<f:render partial="Meta/Rendering/Item" arguments="{name: name, icon: icon, prefix: prefix}" contentAs="content">
<ul class="postmetagroup__list">
<f:for each="{post.tags}" as="postTag">
<li>
<span class="postmetagroup__listitem" data-blog-tag="{postTag.uid}">
<span class="postmetagroup__listtext"><blogvh:link.tag tag="{postTag}" /></span>
</span>
</li>
</f:for>
</ul>
</f:render>
</f:if>

View File

@@ -0,0 +1,2 @@
<f:variable name="metatype" value="listfooter" />
<f:render partial="Meta/Rendering/Section" arguments="{_all}" />

View File

@@ -0,0 +1,2 @@
<f:variable name="metatype" value="listheader" />
<f:render partial="Meta/Rendering/Section" arguments="{_all}" />

View File

@@ -0,0 +1,2 @@
<f:variable name="metatype" value="postfooter" />
<f:render partial="Meta/Rendering/Section" arguments="{_all}" />

View File

@@ -0,0 +1,2 @@
<f:variable name="metatype" value="postheader" />
<f:render partial="Meta/Rendering/Section" arguments="{_all}" />

View File

@@ -0,0 +1,3 @@
<div class="postmetagroup postmetagroup--{settings.meta.{metatype}.modifier} postmetagroup--type-{metatype}">
{content -> f:format.raw()}
</div>

View File

@@ -0,0 +1,12 @@
<f:if condition="!{name}"><f:variable name="name">default</f:variable></f:if>
<div class="postmetagroup__item postmetagroup__item--{name}">
<f:if condition="{icon}">
<div class="postmetagroup__icon">
<span class="blogicon">{icon -> f:format.raw()}</span>
</div>
</f:if>
<div class="postmetagroup__body">
<f:if condition="{prefix}"><div class="postmetagroup__prefix">{prefix -> f:format.raw()}</div></f:if>
<f:if condition="{content}"><div class="postmetagroup__content">{content -> f:format.raw()}</div></f:if>
</div>
</div>

View File

@@ -0,0 +1,23 @@
<f:if condition="!{metatype}"><f:variable name="metatype" value="default" /></f:if>
<f:variable name="modifier" value="{settings.meta.{metatype}.modifier}" />
<f:if condition="{settings.meta.{metatype}.enable}">
<f:render partial="Meta/Rendering/Group" arguments="{_all}" contentAs="content">
<f:if condition="{settings.meta.{metatype}.elements.authors.enable}">
<f:variable name="avatarSettings" value="{settings.meta.{metatype}.elements.authors.avatar}" />
<f:render partial="Meta/Elements/Authors" arguments="{_all}" />
</f:if>
<f:if condition="{settings.meta.{metatype}.elements.categories.enable}">
<f:render partial="Meta/Elements/Categories" arguments="{_all}" />
</f:if>
<f:if condition="{settings.meta.{metatype}.elements.tags.enable}">
<f:render partial="Meta/Elements/Tags" arguments="{_all}" />
</f:if>
<f:if condition="{settings.meta.{metatype}.elements.published.enable}">
<f:variable name="publishDateFormat" value="{settings.meta.{metatype}.elements.published.format}" />
<f:render partial="Meta/Elements/Published" arguments="{_all}" />
</f:if>
<f:if condition="{settings.meta.{metatype}.elements.comments.enable}">
<f:render partial="Meta/Elements/Comments" arguments="{_all}" />
</f:if>
</f:render>
</f:if>

View File

@@ -0,0 +1,2 @@
<f:variable name="metatype" value="teaserfooter" />
<f:render partial="Meta/Rendering/Section" arguments="{_all}" />

View File

@@ -0,0 +1,2 @@
<f:variable name="metatype" value="teaserheader" />
<f:render partial="Meta/Rendering/Section" arguments="{_all}" />

View File

@@ -0,0 +1,7 @@
<div class="tx-blog-post-list">
<ul>
<f:for each="{posts}" as="post">
<li>{f:format.date(format: '{settings.lists.posts.dateFormat}', date: post.publishDate)} <blogvh:link.post post="{post}" /></li>
</f:for>
</ul>
</div>

View File

@@ -0,0 +1,22 @@
<div class="card-group-element-item">
<article class="postteaser__post card" data-blog-tag="{f:if(condition: post.tags, then: post.tags.0.uid, else: 0)}" data-blog-category="{f:if(condition: post.categories, then: post.categories.0.uid, else: 0)}">
<div class="card-body">
<f:if condition="{post.featuredImage}">
<blogvh:link.post post="{post}" class="postteaser__featuredimage" additionalAttributes="{aria-hidden: 'true'}" tabindex="-1">
<f:render partial="General/FeaturedImage" arguments="{image: post.featuredImage, settings: settings.teaser.featuredImage}" />
</blogvh:link.post>
</f:if>
<h2 class="postteaser__posttitle" itemprop="name"><blogvh:link.post post="{post}" /></h2>
<f:render partial="Meta/TeaserHeader" arguments="{_all}" />
<f:if condition="{post.abstract}">
<f:then>
<p class="postteaser__postdescription" itemprop="description">{post.abstract}</p>
</f:then>
<f:else>
<p class="postteaser__postdescription" itemprop="description">{post.description}</p>
</f:else>
</f:if>
<f:render partial="Meta/TeaserFooter" arguments="{_all}" />
</div>
</article>
</div>

View File

@@ -0,0 +1,6 @@
<div class="card-group-element card-group-element-columns-3 card-group-element-align-center postteaser{f:if(condition: type, then: ' postteaser--{type}')}" data-blog-postcount="{posts -> f:count()}">
<f:for each="{posts}" iteration="iterator" as="post">
<blogvh:cache post="{post}" />
<f:render partial="Teaser/Post" arguments="{_all}" />
</f:for>
</div>

View File

@@ -0,0 +1,38 @@
<div class="postlist{f:if(condition: type, then: ' postlist--{type}')} timeline">
<f:if condition="{pagination} && {pagination.paginatedItems}">
<f:then>
<f:if condition="{settings.lists.pagination.insertAbove}">
<f:render partial="Pagination/Pagination" arguments="{pagination: pagination}" />
</f:if>
<f:for each="{pagination.paginatedItems}" iteration="iterator" as="post">
<div class="timeline-item">
<blogvh:cache post="{post}" />
<f:render partial="List/PostTimeline" arguments="{_all}" />
</div>
</f:for>
<f:if condition="{settings.lists.pagination.insertBelow}">
<f:render partial="Pagination/Pagination" arguments="{pagination: pagination}" />
</f:if>
</f:then>
<f:else if="{posts}">
<f:for each="{posts}" iteration="iterator" as="post">
<div class="timeline-item">
<blogvh:cache post="{post}" />
<f:render partial="List/PostTimeline" arguments="{_all}" />
</div>
</f:for>
</f:else>
<f:else>
<div class="alert alert-info" role="alert">
<strong><f:translate key="list.no_posts.title" /></strong><br><f:translate key="list.no_posts.message" />
</div>
</f:else>
</f:if>
</div>

View File

@@ -0,0 +1,12 @@
<f:layout name="Post" />
<f:section name="Content">
<f:if condition="{post.authors}">
<div class="postauthors">
<f:for each="{post.authors}" as="author">
<f:render partial="Post/Author" arguments="{_all}" />
</f:for>
</div>
</f:if>
</f:section>

View File

@@ -0,0 +1,12 @@
<f:layout name="Post" />
<f:section name="Content">
<footer class="postfooter">
<f:if condition="{settings.meta.postfooter.enable}">
<div class="postfooter__meta">
<f:render partial="Meta/PostFooter" arguments="{_all}" />
</div>
</f:if>
</footer>
</f:section>

View File

@@ -0,0 +1,18 @@
<f:layout name="Post" />
<f:section name="Content">
<header class="postheader">
<f:if condition="{post.featuredImage}">
<div class="postheader__featuredimage">
<f:render partial="General/FeaturedImage" arguments="{image: post.featuredImage, settings: settings.post.featuredImage}" />
</div>
</f:if>
<h1 class="postheader__title">{post.title}</h1>
<f:if condition="{settings.meta.postheader.enable}">
<div class="postheader__meta">
<f:render partial="Meta/PostHeader" arguments="{_all}" />
</div>
</f:if>
</header>
</f:section>

View File

@@ -0,0 +1,4 @@
<f:layout name="Default" />
<f:section name="Content">
<f:render partial="TeaserList" arguments="{_all}"/>
</f:section>

View File

@@ -0,0 +1,4 @@
<f:layout name="Default" />
<f:section name="Content">
<f:render partial="List" arguments="{_all}"/>
</f:section>

View File

@@ -0,0 +1,68 @@
<f:layout name="Default" />
<f:section name="Content">
<f:if condition="{author}">
<f:then>
<header class="blogarchiveheader blogarchiveheader--author">
<h1 class="blogarchiveheader__title">
<span class="blogarchiveheader__titletext">
<f:translate key="headline.author.simple" />:
{author.name}
</span>
<blogvh:link.author class="blogarchiveheader__titlelink" rss="true" author="{author}">
<span class="blogicon"><f:render partial="General/SocialIcons" section="Rss" optional="true" /></span>
</blogvh:link.author>
</h1>
<f:if condition="{author.bio}">
<div class="blogarchiveheader__description">
<p>{author.bio}</p>
</div>
</f:if>
<f:if condition="{author.allTags}">
<div class="blogarchiveheader__taxonomy blogarchiveheader__taxonomy--tags">
<ul class="blogtaglist">
<f:for each="{author.allTags}" as="tag">
<li class="blogtaglist__item"><blogvh:link.tag class="blogbadge" tag="{tag}"/></li>
</f:for>
</ul>
</div>
</f:if>
<div class="a2g-map-wrap">
<div class="ol-popup a2g-map-popup d-none" >
<a href="#" class="ol-popup-closer a2g-map-popup-closer"></a>
<div class="a2g-map-popup-content"></div>
</div>
<div class="a2g-map"
data-marker-source="<f:uri.action action='mapMarkersFromAuthor' arguments='{authors: {0: author.uid}}' pluginName='MapConfig' controller='Map' extensionName='A2gTravelBlog' pageType='1652369512'></f:uri.action>"
data-map-config='{"zoom":2,"maxZoom":18,"centerLon":0,"centerLat":0,"mapLayers":[{"layer":"osm","config":[],"label":"osm_map_layer","active":true}],"zoomSlider":true,"fullScreen":true}'></div>
</div>
</header>
<f:render partial="Timeline" arguments="{_all}" />
<f:if condition="{settings.authorUid}">
<footer class="blogarchivefooter blogarchivefooter--author">
<div class="blogarchivefooter__backlink">
<f:link.page pageUid="{settings.authorUid}">
<f:translate key="list.backlink.authors" />
</f:link.page>
</div>
</footer>
</f:if>
</f:then>
<f:else>
<header class="blogarchiveheader blogarchiveheader--authors">
<h1 class="blogarchiveheader__title">
<span class="blogarchiveheader__titletext"><f:translate key="headline.authors" /></span>
</h1>
</header>
<div class="bloglist bloglist--authors card-group-element card-group-element-columns-2 card-group-element-align-center">
<f:for each="{authors}" as="author">
<f:render partial="List/Author" arguments="{_all}" />
</f:for>
</div>
</f:else>
</f:if>
</f:section>

View File

@@ -0,0 +1,96 @@
<f:layout name="Default" />
<f:section name="Content">
<f:if condition="{category}">
<f:then>
<header class="blogarchiveheader blogarchiveheader--category">
<h1 class="blogarchiveheader__title">
<span class="blogarchiveheader__titletext">
<f:translate key="headline.traveldestination.simple" default="Reiseziel"/>:
{category.title}
</span>
<blogvh:link.category class="blogarchiveheader__titlelink" rss="true" category="{category}">
<span class="blogicon"><f:render partial="General/SocialIcons" section="Rss" optional="true" /></span>
</blogvh:link.category>
</h1>
<div class="blogarchiveheader__description">
<p>{category.description}</p>
</div>
<bk2k:data.imageVariants as="variants" variants="{variants}" multiplier="{columnConfig.multiplier}" gutters="{columnConfig.gutters}" corrections="{columnConfig.corrections}" />
<div class="a2g-map-wrap me-3">
<div class="ol-popup a2g-map-popup d-none" >
<a href="#" class="ol-popup-closer a2g-map-popup-closer"></a>
<div class="a2g-map-popup-content"></div>
</div>
<div class="a2g-map"
data-marker-source="<f:uri.action action='mapMarkersFromCategories' arguments='{categories:{0:category.uid}}' pluginName='MapConfig' controller='Map' extensionName='A2gTravelBlog' pageType='1652369512'></f:uri.action>"
data-map-config='{"zoom":2,"maxZoom":18,"centerLon":0,"centerLat":0,"centerCountry": true,"style": {"featureOverlay":{"stroke":{"color": "rgba(240,145,48,0.7)","width": 4}}},"mapLayers":[{"layer": "country","config": {"layer": "country","countryGeoSource": "<f:uri.action action="activeCountryGeojson" arguments="{categories:{0:category.uid}}" pluginName="MapConfig" controller="Map" extensionName="A2gTravelBlog" pageType="1652369512"></f:uri.action>"},"label": "country (free)","active": true},{"layer":"osm","config":[],"label":"osm_map_layer","active":true}],"zoomSlider":true,"fullScreen":true}'></div>
</div>
</header>
<f:render partial="List" arguments="{_all}" />
<f:if condition="{settings.categoryUid} || {category.content}">
<footer class="blogarchivefooter blogarchivefooter--category">
<f:if condition="{settings.categoryUid}">
<div class="blogarchivefooter__backlink">
<f:link.page pageUid="{settings.categoryUid}">
<f:translate key="list.backlink.categories" />
</f:link.page>
</div>
</f:if>
<f:if condition="{category.content}">
<div class="blogarchivefooter__content">
<f:cObject typoscriptObjectPath="lib.blog.contentElementRendering">{category.contentElementUidList}</f:cObject>
</div>
</f:if>
</footer>
</f:if>
</f:then>
<f:else>
<header class="blogarchiveheader blogarchiveheader--categories">
<h1 class="blogarchiveheader__title">
<span class="blogarchiveheader__titletext">
<f:translate key="headline.traveldestinations" default="Reiseziele"/>
</span>
</h1>
</header>
<div class="a2g-map-wrap mb-3">
<div class="ol-popup a2g-map-popup d-none" >
<a href="#" class="ol-popup-closer a2g-map-popup-closer"></a>
<div class="a2g-map-popup-content"></div>
</div>
<div class="a2g-map"
data-map-config='{"zoom":2,"maxZoom":18,
"centerLon":0,"centerLat":0,
"style": {
"featureOverlay":{
"stroke":{
"color": "rgba(240,145,48,0.7)",
"width": 4
}
}
},
"mapLayers":[{
"layer": "country",
"config": { "layer": "country", "countryGeoSource": "<f:uri.action action="activeCountriesGeojson" pluginName="MapConfig" controller="Map" extensionName="A2gTravelBlog" pageType="1652369512"></f:uri.action>" },"label": "country (free)","active": true },{"layer":"osm","config":[],"label":"osm_map_layer","active":true}], "zoomSlider":true,"fullScreen":true}'></div>
</div>
<div class="bloglist bloglist--categories card-group-element card-group-element-columns-3 card-group-element-align-center">
<f:for each="{categories}" as="category">
<f:render partial="List/Category" arguments="{_all}" />
</f:for>
</div>
</f:else>
</f:if>
</f:section>

View File

@@ -0,0 +1,47 @@
<f:layout name="Default" />
<f:section name="Content">
<f:if condition="!{archiveData}">
<f:then>
<f:comment>If a year/+month is selected show posts matching.</f:comment>
<header class="blogarchiveheader blogarchiveheader--archive">
<h1 class="blogarchiveheader__title">
<span class="blogarchiveheader__titletext">
<f:if condition="{month}">{f:format.date(format: '{settings.widgets.archive.monthDateFormat}', date: timestamp)}</f:if> {year}
</span>
<blogvh:link.archive class="blogarchiveheader__titlelink" rss="true" year="{year}" month="{month}">
<span class="blogicon"><f:render partial="General/SocialIcons" section="Rss" optional="true" /></span>
</blogvh:link.archive>
</h1>
</header>
<f:render partial="List" arguments="{_all}" />
<f:if condition="{settings.authorUid}">
<footer class="blogarchivefooter blogarchivefooter--archive">
<div class="blogarchivefooter__backlink">
<f:link.page pageUid="{settings.archiveUid}">
<f:translate key="list.backlink.archive" />
</f:link.page>
</div>
</footer>
</f:if>
</f:then>
<f:else>
<f:comment>If year is missing show an overview of the archive.</f:comment>
<header class="blogarchiveheader blogarchiveheader--archive">
<h1 class="blogarchiveheader__title">
<span class="blogarchiveheader__titletext">
<f:translate key="headline.archive"/>
</span>
</h1>
</header>
<div class="bloglist bloglist--archive">
<f:for each="{archiveData}" as="months" key="year">
<f:render partial="List/Archive" arguments="{_all}" />
</f:for>
</div>
</f:else>
</f:if>
</f:section>

View File

@@ -0,0 +1,64 @@
<f:layout name="Default" />
<f:section name="Content">
<f:if condition="{tag}">
<f:then>
<header class="blogarchiveheader blogarchiveheader--tag">
<h1 class="blogarchiveheader__title">
<span class="page__titletext">
<f:translate key="headline.tag.simple" />:
{tag.title}
</span>
<blogvh:link.tag class="page__titlelink" rss="true" tag="{tag}">
<span class="blogicon"><f:render partial="General/SocialIcons" section="Rss" optional="true" /></span>
</blogvh:link.tag>
</h1>
<div class="blogarchiveheader__description">
<p>{tag.description}</p>
</div>
<div class="a2g-map-wrap">
<div class="ol-popup a2g-map-popup d-none" >
<a href="#" class="ol-popup-closer a2g-map-popup-closer"></a>
<div class="a2g-map-popup-content"></div>
</div>
<div class="a2g-map"
data-marker-source="<f:uri.action action='mapMarkersFromTag' arguments='{tag: tag.uid}' pluginName='MapConfig' controller='Map' extensionName='A2gTravelBlog' pageType='1652369512'></f:uri.action>"
data-map-config='{"zoom":2,"maxZoom":18,"centerLon":0,"centerLat":0,"mapLayers":[{"layer":"osm","config":[],"label":"osm_map_layer","active":true}],"zoomSlider":true,"fullScreen":true}'></div>
</div>
</header>
<f:render partial="List" arguments="{_all}" />
<f:if condition="{settings.tagUid} || {tag.content}">
<footer class="blogarchivefooter blogarchivefooter--tag">
<f:if condition="{settings.tagUid}">
<div class="blogarchivefooter__backlink">
<f:link.page pageUid="{settings.tagUid}">
<f:translate key="list.backlink.tags" />
</f:link.page>
</div>
</f:if>
<f:if condition="{tag.content}">
<div class="blogarchivefooter__content">
<f:cObject typoscriptObjectPath="lib.blog.contentElementRendering">{tag.contentElementUidList}</f:cObject>
</div>
</f:if>
</footer>
</f:if>
</f:then>
<f:else>
<header class="blogarchiveheader blogarchiveheader--tags">
<h1 class="blogarchiveheader__title">
<span class="blogarchiveheader__titletext">
<f:translate key="headline.tags" />
</span>
</h1>
</header>
<div class="bloglist bloglist--tag">
<f:for each="{tags}" as="tag">
<f:render partial="List/Tag" arguments="{_all}" />
</f:for>
</div>
</f:else>
</f:if>
</f:section>

View File

@@ -0,0 +1,4 @@
<f:layout name="Default" />
<f:section name="Content">
<f:render partial="List" arguments="{_all}"/>
</f:section>

View File

@@ -0,0 +1,6 @@
<f:layout name="Post" />
<f:section name="Content">
<f:render partial="Meta/Default" arguments="{_all}" />
</f:section>

View File

@@ -0,0 +1,4 @@
<f:layout name="Post" />
<f:section name="Content">
<f:render partial="TeaserList" arguments="{_all}" />
</f:section>

View File

@@ -0,0 +1,8 @@
<f:layout name="Default" />
<f:section name="Content">
<div class="blogwidgets">
<f:for each="{settings.sidebarWidgets}" as="widget">
<f:cObject typoscriptObjectPath="{widget}" />
</f:for>
</div>
</f:section>

View File

@@ -0,0 +1,22 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:bk2k="http://typo3.org/ns/BK2K/BootstrapPackage/ViewHelpers" data-namespace-typo3-fluid="true">
<f:layout name="Default" />
<f:section name="content">
<bk2k:data.imageVariants as="variants" variants="{variants}" multiplier="{columnConfig.multiplier}" gutters="{columnConfig.gutters}" corrections="{columnConfig.corrections}" />
<div id="a2g-costum-icons" data-content='{mapIcons}'></div>
<div class="a2g-map-wrap">
<div class="ol-popup a2g-map-popup d-none" >
<a href="#" class="ol-popup-closer a2g-map-popup-closer"></a>
<div class="a2g-map-popup-content"></div>
</div>
<f:if condition="{settings.controllsPositions} == '1' || {settings.controllsPositions} == '3'">
<f:then>
<f:render partial="Map/Controll" arguments="{_all}"></f:render>
</f:then>
</f:if>
<div id="{mapId}" class="a2g-map" data-map-config='{mapConfig}'></div>
<f:if condition="{settings.controllsPositions} == '2' || {settings.controllsPositions} == '3'">
<f:render partial="Map/Controll" arguments="{_all}"></f:render>
</f:if>
</div>
</f:section>
</html>

View File

@@ -0,0 +1,6 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:bk2k="http://typo3.org/ns/BK2K/BootstrapPackage/ViewHelpers" data-namespace-typo3-fluid="true">
<f:layout name="Default" />
<f:section name="content">
<div id="a2g-costum-icons" data-content='{mapIcons}'></div>
</f:section>
</html>

View File

@@ -0,0 +1,44 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:bk2k="http://typo3.org/ns/BK2K/BootstrapPackage/ViewHelpers" data-namespace-typo3-fluid="true">
<f:layout name="MapPopupContent" />
<f:section name="content">
<bk2k:data.imageVariants as="variants" variants="{variants}" multiplier="{columnConfig.multiplier}" gutters="{columnConfig.gutters}" corrections="{columnConfig.corrections}" />
<f:link.page title="{mapEntry.relTravelPost.title}" pageUid="{mapEntry.pid}">
<f:if condition="{mapEntry.image}">
<f:then>
<div class="a2g-map-popup-image-wrap">
<f:render partial="Image" arguments="{file: mapEntry.image, settings: settings, variants: variants, maxWidth: 230}" />
</div>
</f:then>
<f:else>
{mapEntry.relTravelPost.title}
</f:else>
</f:if>
</f:link.page>
<f:if condition="{mapEntry.popupContent}">
<f:then>
<div class="a2g-map-popup-text mt-2">
<f:format.htmlentitiesDecode>
{mapEntry.popupContent}
</f:format.htmlentitiesDecode>
</div>
</f:then>
</f:if>
<f:if condition="{mapEntry.relTravelPost.authors} > 0">
<f:then>
<div class="d-flex justify-content-end mt-2">
<small class="text-muted">
<f:for each="{mapEntry.relTravelPost.authors}" as="author" iteration="it">
<f:if condition="{author.detailsPage} || {settings.authorPageUid}">
<f:then><blogvh:link.author rel="author" author="{author}">{author.name}</blogvh:link.author></f:then>
<f:else>{author.name}</f:else>
</f:if>
<f:if condition="{it.isLast}">
<f:else>, </f:else>
</f:if>
</f:for>
</small>
</div>
</f:then>
</f:if>
</f:section>
</html>

View File

@@ -0,0 +1,16 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:bk2k="http://typo3.org/ns/BK2K/BootstrapPackage/ViewHelpers" data-namespace-typo3-fluid="true">
<f:layout name="MapPopupContent" />
<f:section name="content">
<blogvh:link.category class="bloglist__link" category="{category}">
{category.posts->f:count()} <f:if condition='{category.posts->f:count()} > 1'>
<f:then>
Posts
</f:then>
<f:else>
Post
</f:else>
</f:if> bei {category.title}</div>
</blogvh:link.category>
</f:section>
</html>

View File

@@ -0,0 +1,22 @@
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" xmlns:bk2k="http://typo3.org/ns/BK2K/BootstrapPackage/ViewHelpers" data-namespace-typo3-fluid="true">
<f:layout name="MapPopupContent" />
<f:section name="content">
<bk2k:data.imageVariants as="variants" variants="{variants}" multiplier="{columnConfig.multiplier}" gutters="{columnConfig.gutters}" corrections="{columnConfig.corrections}" />
<f:if condition="{mapEntry.image}">
<f:then>
<div class="a2g-map-popup-image-wrap">
<f:render partial="Image" arguments="{file: mapEntry.image, settings: settings, variants: variants, maxWidth: 230}" />
</div>
</f:then>
</f:if>
<f:if condition="{mapEntry.popupContent}">
<f:then>
<div class="a2g-map-popup-text mt-2">
<f:format.htmlentitiesDecode>
{mapEntry.popupContent}
</f:format.htmlentitiesDecode>
</div>
</f:then>
</f:if>
</f:section>
</html>

View File

@@ -0,0 +1,37 @@
<div class="postlist{f:if(condition: type, then: ' postlist--{type}')} timeline">
<f:if condition="{pagination} && {pagination.paginatedItems}">
<f:then>
<f:if condition="{settings.lists.pagination.insertAbove}">
<f:render partial="Pagination/Pagination" arguments="{pagination: pagination}" />
</f:if>
<f:for each="{pagination.paginatedItems}" iteration="iterator" as="post">
<div class="timeline-item">
<blogvh:cache post="{post}" />
<f:render partial="List/PostTimeline" arguments="{_all}" />
</div>
</f:for>
<f:if condition="{settings.lists.pagination.insertBelow}">
<f:render partial="Pagination/Pagination" arguments="{pagination: pagination}" />
</f:if>
</f:then>
<f:else if="{posts}">
<f:for each="{posts}" iteration="iterator" as="post">
<div class="timeline-item">
<blogvh:cache post="{post}" />
<f:render partial="List/PostTimeline" arguments="{_all}" />
</div>
</f:for>
</f:else>
<f:else>
<div class="alert alert-info" role="alert">
<strong><f:translate key="list.no_posts.title" /></strong><br><f:translate key="list.no_posts.message" />
</div>
</f:else>
</f:if>
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 94 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 114 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,342 @@
{
"type": "FeatureCollection",
"totalFeatures": 1046,
"features": [
{
"type": "Feature",
"id": "ENGEFPVANLOGD.fid-52fe0c36_17dec082096_4f67",
"geometry": {
"type": "Point",
"coordinates": [
16.349805849210597,
48.25017142860945
]
},
"geometry_name": "SHAPE",
"properties": {
"LEISTUNG": 5.7,
"icon": 2
}
},
{
"type": "Feature",
"id": "ENGEFPVANLOGD.fid-52fe0c36_17dec082096_4f68",
"geometry": {
"type": "Point",
"coordinates": [
16.31467754920881,
48.15703986239329
]
},
"geometry_name": "SHAPE",
"properties": {
"OBJECTID": 3559,
"BEZ": 1230,
"BAUJAHR": 2012,
"PVID": "PV842",
"LEISTUNG": 6.24,
"SE_ANNO_CAD_DATA": null
}
},
{
"type": "Feature",
"id": "ENGEFPVANLOGD.fid-52fe0c36_17dec082096_4f69",
"geometry": {
"type": "Point",
"coordinates": [
16.308305377224514,
48.22034516003518
]
},
"geometry_name": "SHAPE",
"properties": {
"OBJECTID": 3560,
"BEZ": 1160,
"BAUJAHR": 2013,
"PVID": "PV844",
"LEISTUNG": 4.29,
"SE_ANNO_CAD_DATA": null,
"icon": 5
}
},
{
"type": "Feature",
"id": "ENGEFPVANLOGD.fid-52fe0c36_17dec082096_4f6a",
"geometry": {
"type": "Point",
"coordinates": [
16.33275095625591,
48.16179398555423
]
},
"geometry_name": "SHAPE",
"properties": {
"OBJECTID": 3561,
"BEZ": 1120,
"BAUJAHR": 2013,
"PVID": "PV845",
"LEISTUNG": 3.9,
"SE_ANNO_CAD_DATA": null,
"icon": 2
}
},
{
"type": "Feature",
"id": "ENGEFPVANLOGD.fid-52fe0c36_17dec082096_4f6b",
"geometry": {
"type": "Point",
"coordinates": [
16.504359669913917,
48.24089953373162
]
},
"geometry_name": "SHAPE",
"properties": {
"OBJECTID": 3562,
"BEZ": 1220,
"BAUJAHR": 2013,
"PVID": "PV846",
"LEISTUNG": 3.36,
"SE_ANNO_CAD_DATA": null,
"icon": 1
}
},
{
"type": "Feature",
"id": "ENGEFPVANLOGD.fid-52fe0c36_17dec082096_4f6c",
"geometry": {
"type": "Point",
"coordinates": [
16.40266752923873,
48.20312696321299
]
},
"geometry_name": "SHAPE",
"properties": {
"OBJECTID": 3563,
"BEZ": 1020,
"BAUJAHR": 2013,
"PVID": "PV847",
"LEISTUNG": 7.99,
"SE_ANNO_CAD_DATA": null,
"icon": 2
}
},
{
"type": "Feature",
"id": "ENGEFPVANLOGD.fid-52fe0c36_17dec082096_4f6d",
"geometry": {
"type": "Point",
"coordinates": [
16.511705685818,
48.208327900902106
]
},
"geometry_name": "SHAPE",
"properties": {
"OBJECTID": 3564,
"BEZ": 1220,
"BAUJAHR": 2012,
"PVID": "PV849",
"LEISTUNG": 3.12,
"SE_ANNO_CAD_DATA": null,
"icon": 2
}
},
{
"type": "Feature",
"id": "ENGEFPVANLOGD.fid-52fe0c36_17dec082096_4f6e",
"geometry": {
"type": "Point",
"coordinates": [
16.421723096267158,
48.25005414108675
]
},
"geometry_name": "SHAPE",
"properties": {
"OBJECTID": 3565,
"BEZ": 1210,
"BAUJAHR": 2013,
"PVID": "PV850",
"LEISTUNG": 2.2,
"SE_ANNO_CAD_DATA": null,
"icon": 2
}
},
{
"type": "Feature",
"id": "ENGEFPVANLOGD.fid-52fe0c36_17dec082096_4f6f",
"geometry": {
"type": "Point",
"coordinates": [
16.277447919342887,
48.19733447095196
]
},
"geometry_name": "SHAPE",
"properties": {
"OBJECTID": 3566,
"BEZ": 1140,
"BAUJAHR": 2013,
"PVID": "PV852",
"LEISTUNG": 8.33,
"SE_ANNO_CAD_DATA": null,
"icon": 2
}
},
{
"type": "Feature",
"id": "ENGEFPVANLOGD.fid-52fe0c36_17dec082096_4f69",
"geometry": {
"type": "Point",
"coordinates": [
16.308305377224514,
48.22034516003518
]
},
"geometry_name": "SHAPE",
"properties": {
"OBJECTID": 3560,
"BEZ": 1160,
"BAUJAHR": 2013,
"PVID": "PV844",
"LEISTUNG": 4.29,
"SE_ANNO_CAD_DATA": null,
"icon": 5
}
},
{
"type": "Feature",
"id": "ENGEFPVANLOGD.fid-52fe0c36_17dec082096_4f6a",
"geometry": {
"type": "Point",
"coordinates": [
16.33275095625591,
-48.16179398555423
]
},
"geometry_name": "SHAPE",
"properties": {
"OBJECTID": 3561,
"BEZ": 1120,
"BAUJAHR": 2013,
"PVID": "PV845",
"LEISTUNG": 3.9,
"SE_ANNO_CAD_DATA": null,
"icon": 2
}
},
{
"type": "Feature",
"id": "ENGEFPVANLOGD.fid-ee",
"geometry": {
"type": "Point",
"coordinates": [
16.504359669913917,
-48.24089953373162
]
},
"geometry_name": "SHAPE",
"properties": {
"OBJECTID": 3562,
"BEZ": 1220,
"BAUJAHR": 2013,
"PVID": "PV846",
"LEISTUNG": 3.36,
"SE_ANNO_CAD_DATA": null,
"icon": 1
}
},
{
"type": "Feature",
"id": "ENGEFPVANLOGD.fid-ff",
"geometry": {
"type": "Point",
"coordinates": [
16.40266752923873,
-48.20312696321299
]
},
"geometry_name": "SHAPE",
"properties": {
"OBJECTID": 3563,
"BEZ": 1020,
"BAUJAHR": 2013,
"PVID": "PV847",
"LEISTUNG": 7.99,
"SE_ANNO_CAD_DATA": null,
"icon": 2
}
},
{
"type": "Feature",
"id": "ENGEFPVANLOGD.fid-dd",
"geometry": {
"type": "Point",
"coordinates": [
16.511705685818,
-48.208327900902106
]
},
"geometry_name": "SHAPE",
"properties": {
"OBJECTID": 3564,
"BEZ": 1220,
"BAUJAHR": 2012,
"PVID": "PV849",
"LEISTUNG": 3.12,
"SE_ANNO_CAD_DATA": null,
"icon": 2
}
},
{
"type": "Feature",
"id": "ENGEFPVANLOGD.fid-a",
"geometry": {
"type": "Point",
"coordinates": [
-16.421723096267158,
48.25005414108675
]
},
"geometry_name": "SHAPE",
"properties": {
"OBJECTID": 3565,
"BEZ": 1210,
"BAUJAHR": 2013,
"PVID": "PV850",
"LEISTUNG": 2.2,
"SE_ANNO_CAD_DATA": null,
"icon": 2
}
},
{
"type": "Feature",
"id": "ENGEFPVANLOGD.fid-d",
"geometry": {
"type": "Point",
"coordinates": [
-16.277447919342887,
48.19733447095196
]
},
"geometry_name": "SHAPE",
"properties": {
"OBJECTID": 3566,
"BEZ": 1140,
"BAUJAHR": 2013,
"PVID": "PV852",
"LEISTUNG": 8.33,
"SE_ANNO_CAD_DATA": null,
"icon": 2
}
}
],
"crs": {
"type": "name",
"properties": {
"name": "urn:ogc:def:crs:EPSG::4326"
}
}
}