Убираем строку навигации Virtuemart если показывается одна страница товаров

По умолчанию в Virtuemart 1.1.x строка навигации по страницам товаров, даже страница одна, все равно выводится. Нам оно не надо. Нам нужно, чтобы было так: если товаров у нас больше, чем на одну страницу — появляется строка навигации с кнопками Назад, Вперед, ну и дале по тексту, что там еще в Virtuemart есть. Если же товаров ровно на одну страницу — чего ее показывать, эту навигацию, убираем ее.

Приступим.

Открываем файл \components\com_virtuemart\themes\default\templates\browse\includes\browse_pagenav.tpl.php и видим там код:

<!-- BEGIN PAGE NAVIGATION -->
<div align="center">
< ?php $pagenav->writePagesLinks( $search_string ); ?>
< ?php
if( $show_limitbox ) { ?>
<br/><br/>
<form action="< ?php echo $search_string ?>" method="post">
< ?php echo $VM_LANG->_('PN_DISPLAY_NR') ?>  
< ?php $pagenav->writeLimitBox( $search_string ); ?>

<noscript><input class="button" type="submit" value="< ?php echo $VM_LANG->_('PHPSHOP_SUBMIT') ?>" /></noscript>

</form>
< ?php
}
$pagenav->writePagesCounter();
?>
</div>
<!-- END PAGE NAVIGATION -->

Меняем его на этот:

<!-- BEGIN PAGE NAVIGATION -->
<div align="center">
 < ?php
if ($pagenav->total > 20) {
$pagenav->writePagesLinks( $search_string );

if( $show_limitbox ) { ?>
<br/><br/>
<form action="< ?php echo $search_string ?>" method="post">
< ?php echo $VM_LANG->_('PN_DISPLAY_NR') ?>  
< ?php $pagenav->writeLimitBox( $search_string ); ?>

<noscript><input class="button" type="submit" value="< ?php echo $VM_LANG->_('PHPSHOP_SUBMIT') ?>" /></noscript>

</form>
< ?php
}
$pagenav->writePagesCounter();
}
?>
</div>
<!-- END PAGE NAVIGATION -->

и радуемся жизни. Как видно из кода, я только добавил условный оператор и все.

Обратите внимание на $pagenav->total > 20.

Total — это общее количество товаров в категории (класс vmPageNav в файле administrator\components\com_virtuemart\classes\pageNavigation.class.php)

20 — это количество выводимых товаров на страницу, устанавливается в настройках Joomla (Сайт -> Общие настройки ->  «Установки сайта» -> пункт «Длина списка»)

т.е. получается, что если товаров больше 20 (все на одну страницу не помещаются) — выводим строку навигации.

0

Добавить комментарий