diff --git a/src/QUI/Interview/Controls/IntervieweeData.php b/src/QUI/Interview/Controls/IntervieweeData.php index ec29d4b97a5a17c628c0d7d8827fecc1fb156918..2f6b4a14d2ce52060b4de7a1b542d0ef6593cb2a 100644 --- a/src/QUI/Interview/Controls/IntervieweeData.php +++ b/src/QUI/Interview/Controls/IntervieweeData.php @@ -24,6 +24,14 @@ class IntervieweeData extends QUI\Control */ public function __construct($attributes = []) { + // default options + $this->setAttributes([ + 'class' => 'quiqqer-interview-control-interviewee', + 'template' => 'largeImageTop' // template + ]); + + $this->addCSSFile(dirname(__FILE__).'/IntervieweeData.css'); + parent::__construct($attributes); } @@ -41,11 +49,6 @@ public function getBody() return ''; } - $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'); - switch ($this->getAttribute('interviewee-template')) { case 'largeImageLeft': $html = '/IntervieweeData.largeImageLeft.html'; @@ -62,11 +65,22 @@ public function getBody() break; } + try { + $intervieweeData = $this->getIntervieweeData(); + } catch (Exception $Exception) { + QUI\System\Log::addInfo($Exception->getMessage()); + + $intervieweeData = [ + 'name' => false, + 'Image' => false + ]; + } + $Engine->assign([ - 'intervieweeName' => $intervieweeName, - 'intervieweeAdditionalInfo' => $intervieweeAdditionalInfo, - 'intervieweeAvatar' => $intervieweeAvatar, - 'intervieweeDescription' => $intervieweeDescription, + 'intervieweeName' => $intervieweeData['intervieweeName'], + 'intervieweeAdditionalInfo' => $intervieweeData['intervieweeAdditionalInfo'], + 'intervieweeAvatar' => $intervieweeData['intervieweeAvatar'], + 'intervieweeDescription' => $intervieweeData['intervieweeDescription'] ]); $this->addCSSFile( @@ -76,6 +90,23 @@ public function getBody() return $Engine->fetch(dirname(__FILE__) . $html); } + 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, + ]; + } + /** * @return mixed|QUI\Projects\Site *