thumbnails() public static méthode

Generates a list of thumbnails.
public static thumbnails ( array $thumbnails, array $htmlOptions = [] ) : string
$thumbnails array the list configuration.
$htmlOptions array additional HTML attributes.
Résultat string the generated thumbnails.
Exemple #1
0
 /**
  * Renders the data items for the view.
  * Each item is corresponding to a single data model instance.
  */
 public function renderItems()
 {
     $thumbnails = array();
     $data = $this->dataProvider->getData();
     if (!empty($data)) {
         $owner = $this->getOwner();
         $render = $owner instanceof CController ? 'renderPartial' : 'render';
         foreach ($data as $i => $row) {
             $thumbnail = array();
             $d = $this->viewData;
             $d['index'] = $i;
             $d['data'] = $row;
             $d['widget'] = $this;
             $thumbnail['content'] = $owner->{$render}($this->itemView, $d, true);
             if (isset($this->url)) {
                 $thumbnail['url'] = $this->evaluateExpression($this->url, array('data' => $row));
             }
             if (isset($this->span)) {
                 $thumbnail['span'] = $this->span;
             }
             $thumbnails[] = $thumbnail;
         }
         echo TbHtml::thumbnails($thumbnails, $this->htmlOptions);
     } else {
         $this->renderEmptyText();
     }
 }
?>
	</div>

    <pre class="prettyprint linenums">
&lt;?php echo TbHtml::thumbnails(array(
    array('image' => '...', 'label' => 'Thumbnail label', 'caption' => '...'),
    array('image' => '...', 'label' => 'Thumbnail label', 'caption' => '...'),
    array('image' => '...', 'label' => 'Thumbnail label', 'caption' => '...'),
), array('span' => 4)); ?></pre>

	<div>

	<h2>Different sizes</h2>

	<?php 
echo TbHtml::thumbnails(array(array('image' => 'holder.js/360x270', 'url' => '#', 'span' => 4), array('image' => 'holder.js/260x120', 'url' => '#', 'span' => 3), array('image' => 'holder.js/160x120', 'url' => '#', 'span' => 2), array('image' => 'holder.js/260x120', 'url' => '#', 'span' => 3), array('image' => 'holder.js/160x120', 'url' => '#', 'span' => 2)));
?>

	</div>
    <pre class="prettyprint linenums">
&lt;?php echo TbHtml::thumbnails(array(
    array('image' => '...', 'url' => '#', 'span' => 4),
    array('image' => '...', 'url' => '#', 'span' => 3),
    array('image' => '...', 'url' => '#', 'span' => 2),
    array('image' => '...', 'url' => '#', 'span' => 3),
    array('image' => '...', 'url' => '#', 'span' => 2),
)); ?>
    </pre>
</section>
<!-- Alerts
	================================================== -->
 public function testThumbnails()
 {
     $I = $this->codeGuy;
     $items = array(array('image' => 'image.png', 'label' => 'Thumbnail label', 'caption' => 'Caption text', 'span' => 6, 'imageOptions' => array('class' => 'image', 'alt' => 'Alternative text'), 'captionOptions' => array('class' => 'div'), 'labelOptions' => array('class' => 'heading')), array('image' => 'image.png', 'label' => 'Thumbnail label', 'caption' => 'Caption text'), array('image' => 'image.png', 'label' => 'Thumbnail label', 'caption' => 'Caption text'));
     $html = TbHtml::thumbnails($items, array('span' => 3, 'class' => 'list'));
     $thumbnails = $I->createNode($html, 'ul.thumbnails');
     $I->seeNodeCssClass($thumbnails, 'list');
     $I->seeNodeNumChildren($thumbnails, 3);
     $I->seeNodeChildren($thumbnails, array('li.span6', 'li.span3', 'li.span3'));
     foreach ($thumbnails->children() as $i => $liElement) {
         $li = $I->createNode($liElement);
         $thumbnail = $li->filter('div.thumbnail');
         $I->seeNodeChildren($thumbnail, array('img', 'div.caption'));
         $img = $thumbnail->filter('img');
         $I->seeNodeAttribute($img, 'src', 'image.png');
         $caption = $thumbnail->filter('div.caption');
         $h3 = $caption->filter('h3');
         $I->seeNodeText($caption, $items[$i]['caption']);
         $I->seeNodeText($h3, $items[$i]['label']);
         if ($i === 0) {
             $I->seeNodeCssClass($img, 'image');
             $I->seeNodeAttribute($img, 'alt', 'Alternative text');
             $I->seeNodeCssClass($caption, 'div');
             $I->seeNodeCssClass($h3, 'heading');
         }
     }
     $html = TbHtml::thumbnails(array());
     $this->assertEquals('', $html);
 }