Очень часто выбор количества товаров на страницу в виде стандартного селекта не вписывается в дизайн страницы сайта. Сейчас я покажу как превратить этот выбор в ссылки.
Работать будем с /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; }