Skip to content
Code-Schnipsel Gruppen Projekte
CustomerReviewsSlider.php 2,79 KiB
Newer Older
 * This file contains QUI\Bricks\Controls\Slider\CustomerReviewsSlider
 * @author Dominik Chrzanowski
use function dirname;

class CustomerReviewsSlider extends QUI\Control
{
    public function __construct($attributes = [])
    {
        // default options
        $this->setAttributes([
            'data-qui' => 'package/quiqqer/bricks/bin/Controls/Slider/CustomerReviewsSlider',
            'template' => 'default',
            'delay' => 5000,
            'perView' => 2,
            'gap' => 40
    public function getBody(): string
        $Engine = QUI::getTemplateManager()->getEngine();

        $entries = json_decode($this->getAttribute('entries'), true);
        $template = $this->getAttribute('template');
        $path = dirname(__FILE__) . '/CustomerReviewsSlider.' . $template . '.html';
        $gap = $this->getAttribute('gap') ? intval($this->getAttribute('gap')) : 40;
        if (!$entries) {
            QUI\System\Log::addNotice(
                'QUI\Bricks\Controls\Slider\CustomerReviewsSlider - No customer reviews founded. 
packages/quiqqer/bricks/src/QUI/Bricks/Controls/Slider/CustomerReviewsSlider.php:45'
            );

            return '';
        }

        $this->setJavaScriptControlOption('delay', $this->getAttribute('delay'));
        $this->setJavaScriptControlOption('autoplay', $this->getAttribute('autoplay'));
        $this->setJavaScriptControlOption('height', $this->getAttribute('sliderHeight'));
                $this->setJavaScriptControlOption('perview', intval($this->getAttribute('perView')));
        foreach ($entries as $entry) {
            if ($entry['isDisabled'] === 1) {
                continue;
            }

            $enabledEntries[] = $entry;
            'this' => $this,
            'arrows' => $this->getAttribute('showArrows'),
            'perView' => $this->getAttribute('perView')
                dirname(__FILE__) . '/CustomerReviewsSlider.css',
                dirname(__FILE__) . '/CustomerReviewsSlider.' . $template . '.css'
        );

        $Engine->assign($options);

        return $Engine->fetch($path);