SiteIS

Virtuemart - мощный компонент для создания электронного магазина!

- Бесплатное решение для интернет-магазина под управлением Joomla

- Огромное количество дополнительных расширений

- Неограниченная вложенность категорий

- Возможность создания шаблонов импорта/экспорта для различных целей

Пагинация в Virtuemart 1.1.x

Хочу отметить, что за вывод пагинации в Joomla и в Virtuemart отвечают совершенно разные файлы не имеющие друг с другом ничего общего. В этой статье речь идет именно о пагинации в Virtuemart.

Открываем в блокноте файл /components/com_virtuemart/themes/default/templates/browse/includes/browse_pagenav.tpl.php. Отыскиваем в нем следующую строку:

<?php $pagenav->writePagesLinks( $search_string ); ?>

И добавляем ей условие, по которому у нас должна показываться постраничная навигация. Выглядеть должно так:

if ($pagenav->total > 30) {
	 $pagenav->writePagesLinks( $search_string ); 
}

Первая строка как раз и задает условие - разбивка на страницы будет происходить, если количество товаров превысит 30 (при желании значение можно уменьшить). Это значение никак не зависит от указанного в настройках joomla, что безусловно еще один плюс (количество выводимых товаров в VM и количество анонсов статей в категориях Joomla можно устанавливать независимо).

Если потребуется убрать форму, в которой устанавливается количество выводимых на страницу товаров, то в том же файле комментируем (или удаляем) следующий код:

	<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, который обрамляет весь блок с пагинацией, и два br можно тоже удалить.

Ну и для тех, кому совсем лениво возиться с правкой файла - все в одном флаконе (просто изменяем весь код в файле на этот):

<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
mm_showMyFileName(__FILE__); ?>
<?php if(!@is_object( $pagenav)) return;  ?>
<!-- BEGIN PAGE NAVIGATION -->
<?php
	if ($pagenav->total > 30) {
		 $pagenav->writePagesLinks( $search_string ); 
	}	
?>	
	<!--<?php 
	if( $show_limitbox ) { ?>
		<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();
	?>-->
<!-- END PAGE NAVIGATION -->

Закомментированный блок - это как раз и есть тот участок кода, который выводит на страницу форму количества выводимых товаров.