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

Тема в разделе "Как сделать...", создана пользователем qazibum, 1 сен 2012.

  1. qazibum

    qazibum

    Регистр.:
    21 окт 2009
    Сообщения:
    200
    Симпатии:
    9
    В 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')) {
    $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 не изучал, только мелочь могу делать.
     
  2. Nonsleep

    Nonsleep Создатель

    Регистр.:
    7 авг 2012
    Сообщения:
    24
    Симпатии:
    4
    images = это у вас массив. Просто посчитайте количество его элементов count($images).

    PHP:
    if (count($images) >= ...
     
    qazibum нравится это.