yfix.net
  • Home
  • Docs
  • Html
  • Slate
    • bootstrap
    • cyborg
    • slate
  • a
  • accordion
  • alert
  • breadcrumbs
  • button_box
  • button_check_box
  • button_radio_box
  • button_split_box
  • button_yes_no_box
  • carousel
  • check_box
  • chosen_box
  • complex_test
  • date_box
  • date_box2
  • date_picker
  • datetime_box2
  • dd_table
  • div_box
  • grid
  • icon
  • input
  • ip
  • jumbotron
  • li
  • list_box
  • list_group
  • media_objects
  • menu
  • modal
  • multi_check_box
  • multi_select
  • multi_select_box
  • navbar
  • navlist
  • pagination
  • panel
  • progress_bar
  • radio_box
  • select2_box
  • select_box
  • simple_table
  • tabs
  • textarea
  • thumbnails
  • time_box
  • time_box2
  • tooltip
  • tree
  • well

carousel

    public function carousel()
    {
        css('.carousel { max-width: 870px; }');
        $text = 'Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.';
        return _class('html')->carousel([
            [
                'img' => $this->_placeholder_svg('First slide', '#337ab7'),
                'desc' => '<h4>First Thumbnail label</h4><p>' . $text . '</p>',
            ],
            [
                'img' => $this->_placeholder_svg('Second slide', '#5cb85c'),
                'desc' => '<h4>Second Thumbnail label</h4><p>' . $text . '</p>',
            ],
            [
                'img' => $this->_placeholder_svg('Third slide', '#f0ad4e'),
                'desc' => '<h4>Third Thumbnail label</h4><p>' . $text . '</p>',
            ],
            $this->_placeholder_svg('Fourth slide', '#5bc0de'),
            $this->_placeholder_svg('Fifth slide', '#d9534f'),
            $this->_placeholder_svg('Sixth slide', '#777777'),
        ]);
    }
    public function carousel($data = [], $extra = [])
    {
        if ($this->_is_bs5) {
            return $this->_bs5()->carousel($data, $extra);
        }
        $extra['id'] = ($extra['id'] ?? null) ?: __FUNCTION__ . '_' . ($this->_ids[__FUNCTION__] = ($this->_ids[__FUNCTION__] ?? 0) + 1);
        $items = [];
        $headers = [];
        $i = 0;
        $slide = 0;
        foreach ((array) $data as $k => $v) {
            if ( ! is_array($v)) {
                $img_src = $v;
                $v = [];
            } else {
                $img_src = ($v['img'] ?? null);
            }
            $desc = ($v['desc'] ?? null);
            $alt = ($v['alt'] ?? null) ?: strip_tags((string) $desc);
            $id = ($v['id'] ?? null) ?: 'carousel_item_' . $k;
            if (isset($extra['selected'])) {
                $is_active = (($extra['selected'] ?? null) == $k);
            } else {
                $is_active = (++$i == 1);
            }
            $class_head = ($v['class_head'] ?? null) ?: ($extra['class_head'] ?? null);
            $class_body = ($v['class_body'] ?? null) ?: ($extra['class_body'] ?? null);

            $headers[] = '<li data-target="#' . ($extra['id'] ?? null) . '" data-slide-to="' . $slide++ . '" class="' . ($is_active ? 'active' : '') . ($class_head ? ' ' . $class_head : '') . '"></li>';
            $items[] =
                '<div class="item' . ($is_active ? ' active' : '') . ($class_body ? ' ' . $class_body : '') . '">
					<img src="' . $img_src . '" alt="' . $alt . '">
					' . ($desc ? '<div class="carousel-caption">' . $desc . '</div>' : '') . '
				</div>';
        }
        $controls = '
			<a class="left carousel-control" href="#' . ($extra['id'] ?? null) . '" data-slide="prev"><span class="icon icon-chevron-left fa fa-chevron-left"></span></a>
			<a class="right carousel-control" href="#' . ($extra['id'] ?? null) . '" data-slide="next"><span class="icon icon-chevron-right fa fa-chevron-right"></span></a>
		';
        [$carousel_add, $carousel_attrs] = $this->_carousel_options_bs3($extra);
        return '<div id="' . ($extra['id'] ?? null) . '" class="carousel slide' . $carousel_add . (($extra['class'] ?? null) ? ' ' . ($extra['class'] ?? null) : '') . '"' . $carousel_attrs . '>
				<ol class="carousel-indicators">' . implode(PHP_EOL, $headers) . '</ol>
				<div class="carousel-inner">' . implode(PHP_EOL, $items) . '</div>
				' . ( ! ($extra['no_controls'] ?? null) ? $controls : '') . '
			</div>';
    }
https://getbootstrap.com/docs/3.4/javascript/#carousel
First Thumbnail labelCras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

First Thumbnail label

Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

Second Thumbnail labelCras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

Second Thumbnail label

Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

Third Thumbnail labelCras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.

Third Thumbnail label

Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec id elit non mi porta gravida at eget metus. Nullam id dolor id nibh ultricies vehicula ut id elit.