Back to Bootstrap class

Method addSlide

public static string
addSlide
(mixed $selector, mixed $text, mixed $id, mixed $class = '')
Begins the display of a new accordion slide.
Parameters
  • string $selector Identifier of the accordion group.
  • string $text Text to display.
  • string $id Identifier of the slide.
  • string $class Class of the accordion group.
Returns
  • string HTML to add the slide
Since
  • 3.0
Class: Bootstrap
Project: Joomla

Method addSlide - Source code

/**
 * Begins the display of a new accordion slide.
 *
 * @param   string  $selector  Identifier of the accordion group.
 * @param   string  $text      Text to display.
 * @param   string  $id        Identifier of the slide.
 * @param   string  $class     Class of the accordion group.
 *
 * @return  string  HTML to add the slide
 *
 * @since   3.0
 */
public static function addSlide($selector, $text, $id, $class = '') : string
{
    $in = static::$loaded[__CLASS__ . '::startAccordion'][$selector]['active'] === $id ? ' show' : '';
    $collapsed = static::$loaded[__CLASS__ . '::startAccordion'][$selector]['active'] === $id ? '' : ' collapsed';
    $parent = static::$loaded[__CLASS__ . '::startAccordion'][$selector]['parent'] ? 'data-bs-parent="' . static::$loaded[__CLASS__ . '::startAccordion'][$selector]['parent'] . '"' : '';
    $class = !empty($class) ? ' ' . $class : '';
    $ariaExpanded = $in === 'show' ? true : false;
    return <<<HTMLSTR
<div class="accordion-item {$class}">
  <h2 class="accordion-header" id="{$id}-heading">
    <button class="accordion-button {$collapsed}" type="button" data-bs-toggle="collapse" data-bs-target="#{$id}" aria-expanded="{$ariaExpanded}" aria-controls="{$id}" role="tab">
\t\t{$text}
    </button>
  </h2>
  <div id="{$id}" class="accordion-collapse collapse {$in}" aria-labelledby="{$id}-heading" {$parent} role="tabpanel">
    <div class="accordion-body">
HTMLSTR;
}