/** * Generates multiple media objects. * @param array $items item configurations. * @param string $tag the item tag name. * @return string generated objects. */ public static function medias(array $items, $tag = 'div') { if (!empty($items)) { $output = ''; foreach ($items as $itemOptions) { if (isset($itemOptions['visible']) && $itemOptions['visible'] === false) { continue; } // todo: consider removing the support for htmlOptions. $options = BsArray::popValue('htmlOptions', $itemOptions, array()); if (!empty($options)) { $itemOptions = BsArray::merge($options, $itemOptions); } $image = BsArray::popValue('image', $itemOptions); $heading = BsArray::popValue('heading', $itemOptions, ''); $content = BsArray::popValue('content', $itemOptions, ''); BsArray::defaultValue('tag', $tag, $itemOptions); $output .= self::media($image, $heading, $content, $itemOptions); } return $output; } return ''; }