TbHtml::media PHP Method

media() public static method

Generates a single media object.
public static media ( string $image, string $heading, string $content, array $htmlOptions = [] ) : string
$image string the image url.
$heading string the heading text.
$content string the content text.
$htmlOptions array additional HTML attributes.
return string the media object.
    public static function media($image, $heading, $content, $htmlOptions = array())
    {
        $tag = TbArray::popValue('tag', $htmlOptions, 'div');
        self::addCssClass('media', $htmlOptions);
        $linkOptions = TbArray::popValue('linkOptions', $htmlOptions, array());
        TbArray::defaultValue('pull', self::PULL_LEFT, $linkOptions);
        $imageOptions = TbArray::popValue('imageOptions', $htmlOptions, array());
        self::addCssClass('media-object', $imageOptions);
        $contentOptions = TbArray::popValue('contentOptions', $htmlOptions, array());
        self::addCssClass('media-body', $contentOptions);
        $headingOptions = TbArray::popValue('headingOptions', $htmlOptions, array());
        self::addCssClass('media-heading', $headingOptions);
        $items = TbArray::popValue('items', $htmlOptions);
        $output = self::openTag($tag, $htmlOptions);
        $alt = TbArray::popValue('alt', $imageOptions, '');
        $href = TbArray::popValue('href', $linkOptions, '#');
        if (!empty($image)) {
            $output .= self::link(parent::image($image, $alt, $imageOptions), $href, $linkOptions);
        }
        $output .= self::openTag('div', $contentOptions);
        $output .= self::tag('h4', $headingOptions, $heading);
        $output .= $content;
        if (!empty($items)) {
            $output .= self::medias($items);
        }
        $output .= '</div>';
        $output .= self::closeTag($tag);
        return $output;
    }

Usage Example

Exemplo n.º 1
0
 public function testMedia()
 {
     $I = $this->codeGuy;
     $html = TbHtml::media('image.png', 'Heading text', 'Content text', array('class' => 'div', 'linkOptions' => array('class' => 'link'), 'imageOptions' => array('class' => 'image', 'alt' => 'Alternative text'), 'contentOptions' => array('class' => 'content'), 'headingOptions' => array('class' => 'heading')));
     $div = $I->createNode($html, 'div.media');
     $I->seeNodeCssClass($div, 'div');
     $I->seeNodeChildren($div, array('a.pull-left', 'div.media-body'));
     $a = $div->filter('a.pull-left');
     $I->seeNodeCssClass($a, 'link');
     $I->seeNodeAttribute($a, 'href', '#');
     $img = $a->filter('img.media-object');
     $I->seeNodeCssClass($img, 'image');
     $I->seeNodeAttributes($img, array('src' => 'image.png', 'alt' => 'Alternative text'));
     $content = $div->filter('div.media-body');
     $I->seeNodeCssClass($content, 'content');
     $I->seeNodeText($content, 'Content text');
     $h4 = $content->filter('h4.media-heading');
     $I->seeNodeCssClass($h4, 'heading');
     $I->seeNodeText($h4, 'Heading text');
 }
TbHtml