БЛОГОДЖУМЛА - БЛОГ О ДЖУМЛА

Как сделать выбор количества товаров на страницу не селектом а ссылками

  • Категория: Virtuemart 1
  • Автор:
  • Просмотров: 8699

Очень часто выбор количества товаров на страницу в виде стандартного селекта не вписывается в дизайн страницы сайта. Сейчас я покажу как превратить этот выбор в ссылки.

выбор количества товаров на страницу ссылками

Работать будем с /administrator/components/com_virtuemart/classes/pageNavigation.class.php

UPDATE! Статья обновлена - теперь изменение не затрагивает админку.

Находим формирование селекта выбора количества товаров

// build the html select list
	if (empty( $link)) {
		$html = ps_html::selectList( 'limit', $this->limit, $limits, 1, '',  'onchange="this.form.submit();"' );
		} else {
		  $current = $this->limit;

		  $html = ps_html::selectList( 'limit', $current, $limits2, 1, '',  'onchange="this.form.submit();"' );
		}
		$html .= "\n";

и меняем на свой код

	    // build the html select list
	if($_REQUEST['pshop_mode'] != "admin"){
		foreach ($limits as $key=>$value){

		if ($value==$this->limit) $html .= $value.' | ';

		else $html .= "".$value." | ";

		}

		$html =substr($html,0,-3);

		$html .= "\n";

		$html .= "\n";
	}else{
		if (empty( $link)) {
		$html = ps_html::selectList( 'limit', $this->limit, $limits, 1, '',  'onchange="this.form.submit();"' );
		} else {
		  $current = $this->limit;

		  $html = ps_html::selectList( 'limit', $current, $limits2, 1, '',  'onchange="this.form.submit();"' );
		}
		$html .= "\n";
	}

Мы перебираем ранее созданный массив с вариантами количества товара и формируем ссылки, разделенные " | ". В ссылках простейший JS-код который присваивает скрытому полю "limit" значение выбранного количества товара и сабмитит форму. Строка "$html =substr($html,0,-3); " убирает разделитель " | " за последней ссылкой.

 

P.S. Кстати, более правильно использовать не пустые ссылки, а, например, span. И в css прописать

.relative span:hover { cursor: pointer; }

.relative span b:hover { cursor: auto; } 

Back to top