diff --git a/bricks.xml b/bricks.xml index 0a30378dc91a1aba43a969614be57a5f0515046b..c705f5faabb6ef1bfa8f1ebc4b7b89e3358b6568 100644 --- a/bricks.xml +++ b/bricks.xml @@ -17,7 +17,7 @@ <setting name="interviewee-template" type="select"> <locale group="quiqqer/interview" var="interview.control.setting.interviewee.template"/> - <option value="largeImageTop" selected="selected" default="1"> + <option value="largeImageTop" selected="selected"> <locale group="quiqqer/interview" var="interview.control.setting.interviewee.template.largeImageTop"/> </option> <option value="largeImageLeft"> diff --git a/locale.xml b/locale.xml index 2fbe237e54b28ec6d21a6688b39b8113ba7427d5..acd9135e418855acebe38df841256bb79578dfc7 100644 --- a/locale.xml +++ b/locale.xml @@ -12,16 +12,16 @@ <!-- interviewee brick --> <locale name="interview.control.intervieweeData.title"> - <de><![CDATA[Interview-Partner]]></de> - <en><![CDATA[Interviewee]]></en> + <de><![CDATA[Interview: Interview-Partner Informationen]]></de> + <en><![CDATA[Interview: Interviewee information]]></en> </locale> <locale name="interview.control.intervieweeData.description"> - <de><![CDATA[Ort zur Eingabe der Interviewpartnerdaten]]></de> - <en><![CDATA[Place to enter the interviewee data]]></en> + <de><![CDATA[Der Baustein zeigt die Informationen Ć¼ber einen Interview-Partner. Die Daten kommen aus der Seite.]]></de> + <en><![CDATA[The brick shows the information about an interview partner. The data comes from the page.]]></en> </locale> <locale name="interview.control.setting.interviewee.template"> - <de><![CDATA[Datenstil des Interviewpartners]]></de> - <en><![CDATA[Interviewee data style]]></en> + <de><![CDATA[Vorlage]]></de> + <en><![CDATA[Template]]></en> </locale> <locale name="interview.control.setting.interviewee.template.largeImageTop"> <de><![CDATA[GroĆes Bild oben]]></de> @@ -42,8 +42,8 @@ <en><![CDATA[Interview]]></en> </locale> <locale name="interview.settings.interviewData.title"> - <de><![CDATA[Interview-Partner Daten]]></de> - <en><![CDATA[Interviewee data]]></en> + <de><![CDATA[Interview-Partner Informationen]]></de> + <en><![CDATA[Interviewee information]]></en> </locale> <locale name="interview.settings.interviewData.name"> <de><![CDATA[Name]]></de> diff --git a/src/QUI/Interview/Controls/IntervieweeData.LargeImageLeft.html b/src/QUI/Interview/Controls/IntervieweeData.LargeImageLeft.html index fcf78dd9c9c5f6d38a33cc1f4b3ae47befb93404..56bb75037ac4eeb4973357d5aca8ee1db95df33c 100644 --- a/src/QUI/Interview/Controls/IntervieweeData.LargeImageLeft.html +++ b/src/QUI/Interview/Controls/IntervieweeData.LargeImageLeft.html @@ -1,14 +1,16 @@ -<div class="quiqqer-interview-control-interviewee-template__largeImageLeft"> - <div class="quiqqer-interview-control-interviewee-image"> - {image src=$intervieweeAvatar width="200" height="200" loading="lazy"} - </div> - - <div class="quiqqer-interview-control-interviewee-content"> - <p class="quiqqer-interview-control-interviewee-name">{$intervieweeName}</p> - <p class="quiqqer-interview-control-interviewee-additionalInfo">{$intervieweeAdditionalInfo}</p> +<div class="quiqqer-interview-control-interviewee-template quiqqer-interview-control-interviewee-template__largeImageLeft"> + <div class="quiqqer-interview-control-interviewee-inner"> + <div class="quiqqer-interview-control-interviewee-image"> + {image src=$avatar width="120" height="120" loading="lazy"} + </div> - {if $intervieweeDescription} - <div class="quiqqer-interview-control-interviewee-content-short">{$intervieweeDescription}</div> - {/if} + <header> + <strong class="quiqqer-interview-control-interviewee-name">{$name}</strong> + <span class="quiqqer-interview-control-interviewee-additionalInfo text-muted">{$additionalInfo}</span> + </header> </div> + + {if $description} + <div class="quiqqer-interview-control-interviewee-content-short">{$description}</div> + {/if} </div> \ No newline at end of file diff --git a/src/QUI/Interview/Controls/IntervieweeData.LargeImageTop.html b/src/QUI/Interview/Controls/IntervieweeData.LargeImageTop.html index 6c2f43242bdef45d7629a06c06d17c15fd3bacac..acd960c138f958480ea4eb97d80cd9e7a8592d89 100644 --- a/src/QUI/Interview/Controls/IntervieweeData.LargeImageTop.html +++ b/src/QUI/Interview/Controls/IntervieweeData.LargeImageTop.html @@ -1,12 +1,14 @@ -<div class="quiqqer-interview-control-interviewee-template__largeImageTop"> +<div class="quiqqer-interview-control-interviewee-template quiqqer-interview-control-interviewee-template__largeImageTop"> <div class="quiqqer-interview-control-interviewee-image"> - {image src=$intervieweeAvatar width="500" height="500" loading="lazy"} + {image src=$avatar width="500" height="500" loading="lazy"} </div> - <p class="quiqqer-interview-control-interviewee-name">{$intervieweeName}</p> - <p class="quiqqer-interview-control-interviewee-additionalInfo">{$intervieweeAdditionalInfo}</p> + <header> + <h4 class="quiqqer-interview-control-interviewee-name">{$name}</h4> + <span class="quiqqer-interview-control-interviewee-additionalInfo text-muted">{$additionalInfo}</span> + </header> - {if $intervieweeDescription} - <div class="quiqqer-interview-control-interviewee-short">{$intervieweeDescription}</div> + {if $description} + <div class="quiqqer-interview-control-interviewee-short">{$description}</div> {/if} </div> \ No newline at end of file diff --git a/src/QUI/Interview/Controls/IntervieweeData.SmallImageLeft.html b/src/QUI/Interview/Controls/IntervieweeData.SmallImageLeft.html index 3d2e2119dda873d67840e260660752de693d2e90..6a23210a23b9cff83ee79c7e102da81dc9a60efb 100644 --- a/src/QUI/Interview/Controls/IntervieweeData.SmallImageLeft.html +++ b/src/QUI/Interview/Controls/IntervieweeData.SmallImageLeft.html @@ -1,14 +1,18 @@ -<div class="quiqqer-interview-control-interviewee-template__largeImageLeft"> - <div class="quiqqer-interview-control-interviewee-image"> - {image src=$intervieweeAvatar width="80" height="80" loading="lazy"} +<div class="quiqqer-interview-control-interviewee-template quiqqer-interview-control-interviewee-template__smallImageLeft"> + <div class="quiqqer-interview-control-interviewee-inner"> + <div class="quiqqer-interview-control-interviewee-image"> + {image src=$avatar width="80" height="80" loading="lazy"} + </div> + + <header> + <strong class="quiqqer-interview-control-interviewee-name">{$name}</strong> + <span class="quiqqer-interview-control-interviewee-additionalInfo">{$additionalInfo}</span> + </header> </div> <div class="quiqqer-interview-control-interviewee-content"> - <p class="quiqqer-interview-control-interviewee-name">{$intervieweeName}</p> - <p class="quiqqer-interview-control-interviewee-additionalInfo">{$intervieweeAdditionalInfo}</p> - - {if $intervieweeDescription} - <div class="quiqqer-interview-control-interviewee-content-short">{$intervieweeDescription}</div> + {if $description} + <div class="quiqqer-interview-control-interviewee-content-short">{$description}</div> {/if} </div> </div> \ No newline at end of file diff --git a/src/QUI/Interview/Controls/IntervieweeData.css b/src/QUI/Interview/Controls/IntervieweeData.css index 39d5cdbda3347b618617e1fbe3300cf7bd398b54..67ccbdcd414c44cbcbbca28085593897b699689a 100644 --- a/src/QUI/Interview/Controls/IntervieweeData.css +++ b/src/QUI/Interview/Controls/IntervieweeData.css @@ -1,3 +1,14 @@ +/* General */ +.quiqqer-interview-control-interviewee-template header > h4 { + margin-bottom: 0; +} + +.quiqqer-interview-control-interviewee-additionalInfo { + font-size: 0.875em; + line-height: 1.5; + display: block; +} + /* Interviewee template largeImageTop */ .quiqqer-interview-control-interviewee-template__largeImageTop .quiqqer-interview-control-interviewee-image { margin-bottom: var(--spacing, 1rem); @@ -10,18 +21,16 @@ height: auto; } -.quiqqer-interview-control-interviewee-template__largeImageTop .quiqqer-interview-control-interviewee-short { - margin-top: var(--spacing, 1rem); -} - /* Interviewee template largeImageLeft */ -.quiqqer-interview-control-interviewee-template__largeImageLeft { +.quiqqer-interview-control-interviewee-template__largeImageLeft .quiqqer-interview-control-interviewee-inner { display: flex; + margin-bottom: var(--spacing, 1em); } .quiqqer-interview-control-interviewee-template__largeImageLeft .quiqqer-interview-control-interviewee-image { margin-right: var(--spacing, 1rem); - width: 120px; + width: 80px; + flex-shrink: 0; } .quiqqer-interview-control-interviewee-template__largeImageLeft .quiqqer-interview-control-interviewee-image img { @@ -30,19 +39,28 @@ aspect-ratio: 1 / 1; height: auto; } -/* Interviewee template smallImageLeft */ -.quiqqer-interview-control-interviewee-template__smallImageLeft { - display: flex; -} -.quiqqer-interview-control-interviewee-template__smallImageLeft .quiqqer-interview-control-interviewee-image { - margin-right: var(--spacing, 1rem); +.quiqqer-interview-control-interviewee-template__largeImageLeft .quiqqer-interview-control-interviewee-template__largeImageTop header strong { + display: block; } + + +/* Interviewee template smallImageLeft */ .quiqqer-interview-control-interviewee-template__smallImageLeft .quiqqer-interview-control-interviewee-image img { object-fit: cover; border-radius: 50%; aspect-ratio: 1 / 1; - height: 30px; - width: 30px; + height: 1.875em; + width: 1.875em; + vertical-align: middle; +} + +.quiqqer-interview-control-interviewee-template__smallImageLeft .quiqqer-interview-control-interviewee-inner { + display: flex; +} + +.quiqqer-interview-control-interviewee-template__smallImageLeft .quiqqer-interview-control-interviewee-image { + margin-right: var(--spacing, 1em); + flex-shrink: 0; } \ No newline at end of file diff --git a/src/QUI/Interview/Controls/IntervieweeData.php b/src/QUI/Interview/Controls/IntervieweeData.php index 400304aefe5b7e1e0cd7ec3a31e5c2bf4392147c..857a05cb86c4e801a7e40a40567a1d02a8b7b1e7 100644 --- a/src/QUI/Interview/Controls/IntervieweeData.php +++ b/src/QUI/Interview/Controls/IntervieweeData.php @@ -1,12 +1,13 @@ <?php /** - * This file contains \QUI\Bricks\Controls\IntervieweeData + * This file contains \QUI\Interview\Controls\IntervieweeData */ namespace QUI\Interview\Controls; use QUI; +use QUI\Exception; /** * Class IntervieweeData @@ -30,7 +31,7 @@ public function __construct($attributes = []) 'template' => 'largeImageTop' // template ]); - $this->addCSSFile(dirname(__FILE__) . '/IntervieweeData.css'); + $this->addCSSFile(dirname(__FILE__).'/IntervieweeData.css'); parent::__construct($attributes); } @@ -45,7 +46,8 @@ public function getBody() $Engine = QUI::getTemplateManager()->getEngine(); $Site = $this->getSite(); - if ($Site->getAttribute("type") !== 'quiqqer/blog:blog/entry') { + if ($Site->getAttribute("type") !== 'quiqqer/blog:blog/entry' && + $Site->getAttribute("type") !== 'quiqqer/news:news/entry') { return ''; } @@ -67,39 +69,37 @@ public function getBody() } catch (Exception $Exception) { QUI\System\Log::addInfo($Exception->getMessage()); - $intervieweeData = [ - 'name' => false, - 'Image' => false - ]; + return ''; } $Engine->assign([ - 'this' => $this, - 'intervieweeName' => $intervieweeData['intervieweeName'], - 'intervieweeAdditionalInfo' => $intervieweeData['intervieweeAdditionalInfo'], - 'intervieweeAvatar' => $intervieweeData['intervieweeAvatar'], - 'intervieweeDescription' => $intervieweeData['intervieweeDescription'] + 'this' => $this, + 'name' => $intervieweeData['name'], + 'additionalInfo' => $intervieweeData['additionalInfo'], + 'avatar' => $intervieweeData['avatar'], + 'description' => $intervieweeData['description'] ]); - $Engine->assign('controlTemplate', $Engine->fetch(dirname(__FILE__) . $html)); + $Engine->assign('controlTemplate', $Engine->fetch(dirname(__FILE__).$html)); - return $Engine->fetch(dirname(__FILE__) . '/IntervieweeData.html'); + return $Engine->fetch(dirname(__FILE__).'/IntervieweeData.html'); } + /** + * Get intrerviewee data + * + * @return array + * @throws Exception + */ private function getIntervieweeData() { $Site = $this->getSite(); - $intervieweeName = $Site->getAttribute('quiqqer.interview.settings.intervieweeData.name'); - $intervieweeAdditionalInfo = $Site->getAttribute('quiqqer.interview.settings.intervieweeData.additionalInfo'); - $intervieweeAvatar = $Site->getAttribute('quiqqer.interview.settings.intervieweeData.avatar'); - $intervieweeDescription = $Site->getAttribute('quiqqer.interview.settings.intervieweeData.description'); - return [ - 'intervieweeName' => $intervieweeName, - 'intervieweeAdditionalInfo' => $intervieweeAdditionalInfo, - 'intervieweeAvatar' => $intervieweeAvatar, - 'intervieweeDescription' => $intervieweeDescription, + 'name' => $Site->getAttribute('quiqqer.interview.settings.intervieweeData.name'), + 'additionalInfo' => $Site->getAttribute('quiqqer.interview.settings.intervieweeData.additionalInfo'), + 'avatar' => $Site->getAttribute('quiqqer.interview.settings.intervieweeData.avatar'), + 'description' => $Site->getAttribute('quiqqer.interview.settings.intervieweeData.description') ]; }