класс в зависимости от кол-ва фоток

qazibum

Старатель
Регистрация
21 Окт 2009
Сообщения
200
Реакции
10
В virtuemart 1.9 выводятся дополнительные изображения к товару. Нужно в зависимости от их количества ставить разный класс для дива.
Это кусок кода из \components\com_virtuemart\themes\default\theme.php
PHP:
    function vmlistAdditionalImages( $product_id, $images, $title='', $limit=1000 ) {
        global $sess;
        $html = '';
        $i = 0;
        foreach( $images as $image ) {
            $thumbtag = ps_product::image_tag( $image->file_name, 'class="browseProductImage"', 1, 'product', $image->file_image_thumb_width, $image->file_image_thumb_height );
            $fulladdress = $sess->url( 'index2.php?page=shop.view_images&image_id='.$image->file_id.'&product_id='.$product_id.'&pop=1' );
            if( $this->get_cfg('useLightBoxImages', 1 )) {
$html .= '<div class="сюда поставить класс в зависимости от количества выводимых изображений"'>';
                $html .= vmCommonHTML::getLightboxImageLink( $image->file_url, $thumbtag, $title ? $title : stripslashes(htmlentities($image->file_title,ENT_QUOTES,'UTF-8')), 'product'.$product_id );
$html .= '</div>';
            }
            else {
                $html .= vmPopupLink( $fulladdress, $thumbtag, 640, 550 );
            }
            if( ++$i > $limit ) break;
        }
        return $html;
    }
Если сделать вот так
PHP:
$html .= '<div class="';
if (++$i >= 6){
$html .= 'qwe1';
}else{
$html .= 'qwe2';
}
$html .= '">';
то будет работать, но только после foreach'а, т.е. если это вставить после строки
PHP:
if( ++$i > $limit ) break;
Но так ведь не пойдет. Разве что после этой строки выводить все изображения, но как это сделать я не знаю.

Подскажите, пожалуйста, решение. Я php не изучал, только мелочь могу делать.
 
images = это у вас массив. Просто посчитайте количество его элементов count($images).

PHP:
if (count($images) >= ...
 
Назад
Сверху