1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

Как запретить вывод определенного кода если нет товара в категории VirtueMart

Тема в разделе "Joomla", создана пользователем Chij25, 1 май 2010.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
Модераторы: arman29, DMS, Genk0
  1. Chij25

    Chij25

    Регистр.:
    9 апр 2009
    Сообщения:
    272
    Симпатии:
    27
    В шаблоне категорий VirtueMart идет вывод названия категории и товара в квадрате с закругленными краями, и проблема в том что когда в категории нет товара, а есть только дочерние категории все равно идет вывод названия категории и постого квадрата под товар.
    Как запретить вывод этого кода, если в категории нет товара?
    Вот код который надо скрыть если нет товара в категории

    <div class="yagendoo_vm_bar_l">
    <div class="yagendoo_vm_bar_r">
    <div class="yagendoo_vm_bar_m">
    <h3 class="yagendoo_vm_browse_title">
    <?php echo $browsepage_lbl; ?>
    <?php if( $this->get_cfg('yagendoo_browse_feed', 1 ) && (VM_FEED_ENABLED == 1):( ?>
    <a href="index.php?option=<?php echo VM_COMPONENT_NAME ?>&amp;page=shop.feed&amp;category_id=<?php echo $category_id ?>" title="<?php echo $VM_LANG->_('VM_FEED_SUBSCRIBE_TOCATEGORY_TITLE')?>">
    <img src="<?php echo VM_THEMEURL ?>/yagendoo_images/icons/feed.png"alt="Feed - <?php echo $browsepage_lbl; ?>"/>
    </a>
    <?php endif; ?>
    </h3>
    <div class="yagendoo_vm_browse_filter">
    <?php echo $orderby_form; ?>
    </div>
    </div>
    </div>
    </div>
    <div class="yagendoo_vm_browse_tl">
    <div class="yagendoo_vm_browse_tm">
    <div class="yagendoo_vm_browse_tr">
    </div>
    </div>
    </div>
    <div class="yagendoo_vm_browse_inner">
    <?php $data =array(); // Holds the rows of products
    $i = $row = $tmp_row = 0; // Counters
    $num_products = count($products);
    foreach( $products as $product:(
    /*** Now echo the filled cell ***/
    if($tmp_row != $row || $row == 0:(
    if (($num_products - $i) < $products_per_row:(
    $cell_count =$num_products - $i;
    else:
    $cell_count = $products_per_row;
    endif;
    $row++;
    $tmp_row = $row;
    endif;
    $colspan = $products_per_row - $cell_count + 1;
    if($cell_count < 1:(
    $cell_count = 1;
    endif;
    ?>
    <div class="yagendoo_vm_browse_element <?php if($i >= 1:(?>yagendoo_vm_browse_border<?php endif;?>" style="width:<?php echo (100/$cell_count);?>%; float: left;">
    <?php foreach($product as $attr => $val:(
    // Using this we make all the variables available in the template
    // translated example: $this->set( 'product_name', $product_name );
    $this->set( $attr, $val );
    endforeach;
    // Parse the product template (usually 'browse_x') for each product
    // and store it in our $data array
    echo $this->fetch( 'browse/'.$templatefile .'.php' );
    $i++;
    if (($i) % $products_per_row == 0:( $row++;?>
    </div>
    <div class="yagendoo_clear"></div>
    <?php else: ?>
    </div>
    <?php endif;
    endforeach;?>
    <div class="yagendoo_clear"></div>
    </div>
    <div class="yagendoo_vm_browse_footer">
    <?php echo $browsepage_footer;?>
    </div>
    <div class="yagendoo_vm_browse_bl">
    <div class="yagendoo_vm_browse_bm">
    <div class="yagendoo_vm_browse_br"></div>
    </div>
    </div>
     
  2. KnowHow

    KnowHow Создатель

    Регистр.:
    3 апр 2010
    Сообщения:
    22
    Симпатии:
    5
    Нужно переместить одну строчку и добавить одно условие.
    Изменённый код ниже:
    <?php
    $num_products = count($products);
    if( $num_products > 0:(
    ?>
    <div class="yagendoo_vm_bar_l">
    <div class="yagendoo_vm_bar_r">
    <div class="yagendoo_vm_bar_m">
    <h3 class="yagendoo_vm_browse_title">
    <?php echo $browsepage_lbl; ?>
    <?php if($this->get_cfg('yagendoo_browse_feed', 1 ) && (VM_FEED_ENABLED == 1):( ?>
    <a href="index.php?option=<?php echo VM_COMPONENT_NAME ?>&amp;page=shop.feed&amp;category_id=<?php echo $category_id ?>" title="<?php echo $VM_LANG->_('VM_FEED_SUBSCRIBE_TOCATEGORY_TITLE')?>">
    <img src="<?php echo VM_THEMEURL ?>/yagendoo_images/icons/feed.png"alt="Feed - <?php echo $browsepage_lbl; ?>"/>
    </a>
    <?php endif; ?>
    </h3>
    <div class="yagendoo_vm_browse_filter">
    <?php echo $orderby_form; ?>
    </div>
    </div>
    </div>
    </div>
    <div class="yagendoo_vm_browse_tl">
    <div class="yagendoo_vm_browse_tm">
    <div class="yagendoo_vm_browse_tr">
    </div>
    </div>
    </div>
    <div class="yagendoo_vm_browse_inner">
    <?php $data =array(); // Holds the rows of products
    $i = $row = $tmp_row = 0; // Counters

    foreach( $products as $product:(

    if($tmp_row != $row || $row == 0:(
    if (($num_products - $i) < $products_per_row:(
    $cell_count =$num_products - $i;
    else:
    $cell_count = $products_per_row;
    endif;
    $row++;
    $tmp_row = $row;
    endif;
    $colspan = $products_per_row - $cell_count + 1;
    if($cell_count < 1:(
    $cell_count = 1;
    endif;
    ?>
    <div class="yagendoo_vm_browse_element <?php if($i >= 1:(?>yagendoo_vm_browse_border<?php endif;?>" style="width:<?php echo (100/$cell_count);?>%; float: left;">
    <?php foreach($product as $attr => $val:(
    // Using this we make all the variables available in the template
    // translated example: $this->set( 'product_name', $product_name );
    $this->set( $attr, $val );
    endforeach;
    // Parse the product template (usually 'browse_x') for each product
    // and store it in our $data array
    echo $this->fetch( 'browse/'.$templatefile .'.php' );
    $i++;
    if (($i) % $products_per_row == 0:( $row++;?>
    </div>
    <div class="yagendoo_clear"></div>
    <?php else: ?>
    </div>
    <?php endif;
    endforeach;?>
    <div class="yagendoo_clear"></div>
    </div>
    <div class="yagendoo_vm_browse_footer">
    <?php echo $browsepage_footer;?>
    </div>
    <div class="yagendoo_vm_browse_bl">
    <div class="yagendoo_vm_browse_bm">
    <div class="yagendoo_vm_browse_br"></div>
    </div>
    </div>
    <?php endif; ?>
     
    Chij25 нравится это.
  3. Chij25

    Chij25

    Регистр.:
    9 апр 2009
    Сообщения:
    272
    Симпатии:
    27
    а что за условие, где оно в коде?
     
  4. KnowHow

    KnowHow Создатель

    Регистр.:
    3 апр 2010
    Сообщения:
    22
    Симпатии:
    5
    <?php
    $num_products = count($products);
    if( $num_products > 0:(

    Добавлено через 1 минуту
    И убрать "$num_products = count($products);" с кода ниже.
     
  5. Chij25

    Chij25

    Регистр.:
    9 апр 2009
    Сообщения:
    272
    Симпатии:
    27
    KnowHow , спасибо, работает:)
     
  6. KnowHow

    KnowHow Создатель

    Регистр.:
    3 апр 2010
    Сообщения:
    22
    Симпатии:
    5
    Пожалуйста :)
    Только ж в конце поставили "<?php endif; ?>" ?
     
  7. Chij25

    Chij25

    Регистр.:
    9 апр 2009
    Сообщения:
    272
    Симпатии:
    27
    да "<?php endif; ?>"
     
Статус темы:
Закрыта.