Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Несколько видов сортировки по отдельности


Recommended Posts

Ребята, привет.

Подскажите как сделать вот такой внешний и рабочий вид сортировки (во вложении). 

Чтобы каждый вид сортировки был отдельно. Opencart 1.5.5.1.1
 

post-30678-0-83131700-1412875304_thumb.png

Надіслати
Поділитися на інших сайтах

В контроллере формировать ссылку на фильтр с учетом порядка сортировки

 

Приблизительно это будет выглядеть так

		if (isset($this->request->get['sort'])) {
			$sort = $this->request->get['sort'];
		} else {
			$sort = 'p.price';
		}

		if (isset($this->request->get['order'])) {
			$order = $this->request->get['order'];
		} else {
			$order = 'ASC';
		}
			$url = '';
			
			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}	

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

А вот здесь формировать нужное  в зависимости от порядка сортировки.

			$this->data['sorts'] = array();
			
			$this->data['sorts'][] = array(
				'text'  => $this->language->get('text_price_asc'),
				'value' => 'p.price-ASC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url)
			); 

Надіслати
Поділитися на інших сайтах

Все спасибо.
Сделал. Вот так.
В файле category.tpl

<div class="sort">
<ul>
<li>
Сортировать по:
</li>
<li>
<span   <?php if (($sorts[1]['value'] == $sort . '-' . $order) or ($sorts[2]['value'] == $sort . '-' . $order)) { ?><?php  echo 'class="active"'; ?><?php } ?>><a href="<?php if ($sorts[1]['value'] == $sort . '-' . $order) echo $sorts[2]['href']; else echo $sorts[1]['href']; ?>">названию</a></span>
</li>
<li >
<span   <?php if (($sorts[3]['value'] == $sort . '-' . $order) or ($sorts[4]['value'] == $sort . '-' . $order)) { ?><?php  echo 'class="active"'; ?><?php } ?>><a href="<?php if ($sorts[3]['value'] == $sort . '-' . $order) echo $sorts[4]['href']; else echo $sorts[3]['href']; ?>">цене</a></span>
</li>

<li >
<span   <?php if (($sorts[5]['value'] == $sort . '-' . $order) or ($sorts[6]['value'] == $sort . '-' . $order)) { ?><?php  echo 'class="active"'; ?><?php } ?>><a href="<?php if ($sorts[5]['value'] == $sort . '-' . $order) echo $sorts[6]['href']; else echo $sorts[5]['href']; ?>">рейтингу</a></span>
</li>

</ul>
</div> 
Надіслати
Поділитися на інших сайтах

Со стрелочками интересно

<?php if ($sort == 'pd.name') { ?>
                <a href="<?php echo $sort_name; ?>" class="<?php echo strtolower($order); ?>"><?php echo $column_name; ?></a>
<?php } else { ?>
                <a href="<?php echo $sort_name; ?>"><?php echo $column_name; ?></a>
<?php } ?>
Надіслати
Поділитися на інших сайтах

 

Со стрелочками интересно

<?php if ($sort == 'pd.name') { ?>
                <a href="<?php echo $sort_name; ?>" class="<?php echo strtolower($order); ?>"><?php echo $column_name; ?></a>
<?php } else { ?>
                <a href="<?php echo $sort_name; ?>"><?php echo $column_name; ?></a>
<?php } ?>

Что это за код?

Надіслати
Поділитися на інших сайтах

Не, вы не правильно поняли мои намеки (конечно, я готов отнять у вас денег :) )

 

Но

 

<?php if ($sort == 'pd.name') { ?> -- Если сортируем по имени
                <a href="<?php echo $sort_name; ?>" --  выведем url c сортировкой по имени &sort=pd.name

                 class="<?php echo strtolower($order); ?>"> -- в переменной указан порядок сортиорвки (ASC или DESC)

<?php echo $column_name; ?></a>

 

В результате получим код

<a href=url c сортировкой по имени &sort=pd.name    class="asc | desc>По имени</a>

 

class нужен для того чтобы в

бекграунде вывести нужный треугольник

a.desc{backgroun:url(up.png)

a.asc{backgroun:url(down.png)

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.