Your IP : 216.73.216.240
<?php
/*
* @package Tech Fry Library
* @license https://www.gnu.org/licenses/gpl-3.0.en.html
*/
namespace TechFry\Library\View\Sky;
defined('_JEXEC') or die;
use Joomla\CMS\HTML\HTMLHelper;
class Cards extends Bootstrap
{
public $cards;
public function display()
{
// $this->config['multiple_layout'] - default, flexbox, slider
$multiple_layout = $this->config['multiple_layout'] ?? 'default';
foreach ($this->data as $item)
{
$card = new Card($item, $this->config);
$this->cards[] = $card->display();
}
$function = 'display_' . $multiple_layout;
$output = $this->$function();
return $output;
}
// Display in Grid
public function display_default()
{
if (empty($this->cards))
{
return;
}
$gap = isset($this->config['gap']) && $this->config['gap'] ? $this->config['gap'] : 'g-3';
$grid = new Grid();
$default_columns = array('sm' => 1, 'md' => 2, 'lg' => 3);
$columns = isset($this->config['columns']) && $this->config['columns'] ? $this->config['columns'] : $default_columns;
$row_class = $grid->equal_columns($columns) . ' ' . $gap;
$output = '<div class="' . $row_class . '">';
foreach ($this->cards as $item)
{
$output .= '<div class="col">';
$output .= $item;
$output .= '</div>';
}
$output .= '</div>';
return $output;
}
public function display_slider()
{
$slider = new Slider($this->cards, $this->config);
$output = $slider->display();
return $output;
}
}