diff --git a/locale.xml b/locale.xml index 900a65e8986e12b40dfd05e66714a78fbc8a9275..85d7c55170423aaee237fd5008fdeef3ab76e2d5 100644 --- a/locale.xml +++ b/locale.xml @@ -52,13 +52,31 @@ <pl><![CDATA[Wertykalna linnia czasu z treścią i ikona (obrazkiem)]]></pl> </locale> - <!-- show short --> + <!-- show url --> <locale name="timeline.showLinks"> <de><![CDATA[Links zu den Seiten anzeigen?]]></de> <en><![CDATA[Show hyerlinks for each site?]]></en> <pl><![CDATA[]]></pl> </locale> + <!-- image fit --> + <locale name="timeline.imageFit"> + <de><![CDATA[Bild]]></de> + <en><![CDATA[Image]]></en> + </locale> + <locale name="timeline.imageFit.desc"> + <de><![CDATA[Die Einstellung bezieht sich nur auf die Bilder, nicht auf die Icons]]></de> + <en><![CDATA[The setting refers only to the images, not to the icons]]></en> + </locale> + <locale name="timeline.imageFit.original"> + <de><![CDATA[Original]]></de> + <en><![CDATA[Original]]></en> + </locale> + <locale name="timeline.imageFit.cover"> + <de><![CDATA[Decken (Bild kann gestreckt werden)]]></de> + <en><![CDATA[Cover (image can be stretched)]]></en> + </locale> + <!-- counter text --> <locale name="timeline.verticalBothSides.counterText"> <de><![CDATA[STEP]]></de> diff --git a/site.xml b/site.xml index 254d30d13ff3f2cb77953e674291c3e6c76668b6..b17d8db41db1db7c9bb97df5265f62f68c6ff02b 100644 --- a/site.xml +++ b/site.xml @@ -13,6 +13,7 @@ <attributes> <attribute default="VerticalBothSides">quiqqer.timeline.display</attribute> <attribute default="1">quiqqer.timeline.showLinks</attribute> + <attribute default="original">quiqqer.timeline.imageFit</attribute> </attributes> <!-- list settings --> @@ -43,6 +44,26 @@ </text> </input> + <select conf="quiqqer.timeline.imageFit"> + <text> + <locale group="quiqqer/timeline" + var="timeline.imageFit"/> + </text> + <description> + <locale group="quiqqer/timeline" + var="timeline.imageFit.desc"/> + </description> + + <option value="original"> + <locale group="quiqqer/timeline" + var="timeline.imageFit.original"/> + </option> + <option value="cover"> + <locale group="quiqqer/timeline" + var="timeline.imageFit.cover"/> + </option> + </select> + </settings> </category> </settings> diff --git a/src/QUI/Timeline/Controls/Timeline.VerticalBothSides.css b/src/QUI/Timeline/Controls/Timeline.VerticalBothSides.css index b9e88448669d6f2c14024f60e70c630f698bc9b0..b086e397d47e72db0c32e058baec59d292a36bf7 100644 --- a/src/QUI/Timeline/Controls/Timeline.VerticalBothSides.css +++ b/src/QUI/Timeline/Controls/Timeline.VerticalBothSides.css @@ -62,7 +62,7 @@ justify-content: center; } -.timeline-entry-icon-wrapper picture img.fill-image { +.timeline-entry-icon-wrapper picture img.image-fit-cover { object-fit: cover; width: 100%; height: 100%; diff --git a/src/QUI/Timeline/Controls/Timeline.VerticalBothSides.html b/src/QUI/Timeline/Controls/Timeline.VerticalBothSides.html index 3e422c208677d06ed3807934bc0bb6308682abda..bbab6829cf8f4949da26f27f6ff5c9dd2a3e3b9e 100644 --- a/src/QUI/Timeline/Controls/Timeline.VerticalBothSides.html +++ b/src/QUI/Timeline/Controls/Timeline.VerticalBothSides.html @@ -26,6 +26,10 @@ itemtype="{$this->getAttribute('child-itemtype')}" class="timeline-entry" > + {assign var=imageFitClass value=''} + {if $imageFit == 'cover'} + {assign var=imageFitClass value='image-fit-cover'} + {/if} <!-- Entry Icon --> <div class="timeline-entry-icon"> @@ -33,7 +37,7 @@ <div class="timeline-entry-icon-wrapper"> {image src=$Child->getAttribute('image_site') max-width="500" max-height="500" type="resize" title="{$Child->getAttribute('title')}" - class="fill-image"} + class="$imageFitClass"} </div> {/if} </div> diff --git a/src/QUI/Timeline/Controls/Timeline.php b/src/QUI/Timeline/Controls/Timeline.php index d245adea8307a63f104aeef47e94148e28f455e8..57bcf57f3e514ffe9827808721322f3e2867a6db 100644 --- a/src/QUI/Timeline/Controls/Timeline.php +++ b/src/QUI/Timeline/Controls/Timeline.php @@ -30,6 +30,7 @@ public function __construct($attributes = array()) 'order' => 'c_date ASC', 'parentInputList' => false, //todo später für brick 'showLinks' => true, + 'imageFit' => 'original', // original, cover 'display' => 'VerticalBothSides', // Custom children template (path to html file); overwrites "display" 'displayTemplate' => false, @@ -86,7 +87,8 @@ public function getBody() 'Site' => $Site, 'Project' => $this->getProject(), 'children' => $children, - 'showLinks' => $this->getAttribute('showLinks') + 'showLinks' => $this->getAttribute('showLinks'), + 'imageFit' => $this->getAttribute('imageFit') )); // load custom template (if set) diff --git a/types/timeline.php b/types/timeline.php index a18795dd3d65d1e68192d2e40a10e48671acf2a9..fcfd450f90cb673cde6545f2b35dedad6b056ec5 100644 --- a/types/timeline.php +++ b/types/timeline.php @@ -9,7 +9,8 @@ 'showLinks' => $Site->getAttribute('quiqqer.timeline.showLinks'), 'itemtype' => 'http://schema.org/ItemList', 'child-itemtype' => 'http://schema.org/ListItem', - 'display' => $Site->getAttribute('quiqqer.timeline.display') + 'display' => $Site->getAttribute('quiqqer.timeline.display'), + 'imageFit' => $Site->getAttribute('quiqqer.timeline.imageFit') )); $Engine->assign(array(