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

Статус
В этой теме нельзя размещать новые ответы.

Chij25

Знаток
Регистрация
9 Апр 2009
Сообщения
280
Реакции
28
В шаблоне категорий 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>
 
Нужно переместить одну строчку и добавить одно условие.
Изменённый код ниже:
<?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; ?>
 
а что за условие, где оно в коде?
 
KnowHow , спасибо, работает:)
 
Пожалуйста :)
Только ж в конце поставили "<?php endif; ?>" ?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху