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

filter Pro [Поддержка]


freelancer

Recommended Posts

в файле контроллера filterpro.php не могу получить значения

 

$sort = $this->request->get['sort'];

и

 

$order = $this->request->get['order'];

 

 

 

а в какой момент вам надо получить эти параметры?

 

По поводу момента я писал выше (страница назад).

В файле filterpro.tpl мне нужны переменные $sort и $order.

Я не могу получить их верными.

И потому не могу определить какая именно в данный момент произошла сортировка.

 

Как после фильтрации узнать эти параметры?

Или, если по другому сформулировать вопрос,  как на кастомном элементе "сортировка" выделить выбранный в данный момент вариант сортировки? Страница загрузилась или отработал фильтр, как кастомному элементу сообщить какая именно произошла сортировка?

 

Я бы уже давно на Javascript сделал бы костыльный вариант и взял бы значения из дефолтного select, но я не знаю точно в каком месте нужно разместить script ибо не представляю полностью в какой последовательности и какой Javascript исполняется фильтром.

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

я не понимаю о чем вообще речь

если пользователь нажимает на кастомный элемент, то этот элемент знает что на него нажали. причём тут фильтр вообще не понятно

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

я не понимаю о чем вообще речь

если пользователь нажимает на кастомный элемент, то этот элемент знает что на него нажали. причём тут фильтр вообще не понятно

 

А ежели страница перезагружена?

Вот как с этим быть?

 

И еще есть такое значение "по умолчанию".  Когда вообще никакая кнопка не нажималась, но значение то сортировки существует! И сртировка сама произошла.

В дефолтном то select его показывают.  берут из $sort и $order.

 

А фильтр при том, что не дает получить эти значения. как получить?

 

А так вы правы, в момент нажатия понятно какую именно кнопку мы нажимаем. Это я и сам отлично понимаю.

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

<div class="sort"><b><?php echo $text_sort; ?></b>
<select onchange="location = this.value;">
<?php foreach ($sorts as $sorts) { ?>
<?php if ($sorts['value'] == $sort . '-' . $order) { ?>
<option value="<?php echo $sorts['href']; ?>" selected="selected"><?php echo $sorts['text']; ?></option>
<?php } else { ?>
<option value="<?php echo $sorts['href']; ?>"><?php echo $sorts['text']; ?></option>
<?php } ?>
<?php } ?>
</select>
</div>
 
В этом коде из category.tpl ведь отмечают  сортировку.
 
Разве я не могу таким же образом получить эти параметры?
вот $sorts же без проблем получаю.
 

если страница перезагружена из get параметров если они заполнены


Не уловил. Нельзя получить таким же образом как для дефолтного select?
Вы предлагаете анализировать адресную строку (location) или что-то другое?

-------------------------
если делать на Javascript.
подскажите, пожалуйста, в какое место я могу разместить свой скрипт чтобы после перезагрузки или фильтрации взять нужный параметр из дефолтного select и передать его в мой кастомный select.

 

Это в файле filterpro.min.js?

 

функция iF() или что-то другое?

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

если вы сортировку в файлах фильтра размещаете

<div class="sort"><b><?php echo $text_sort; ?></b>
...
</div>

то в контроллере фильтра нужно задавать массив $sorts по аналогии с контроллером категории

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

добавить конкретики

Мне казалось, я все уже рассказал. Ну, мне не лениво. Завожу опять ту же шарманку. Есть категория blablabla.ru/swimsuits/

Нажимаю чекбокс одного из производителей. Получаю урл:

blablabla.ru/swimsuits/#category_id=62&page=1&path=62&sort=p.sort_order&order=ASC&limit=24&route=product/category&min_price=0&max_price=17010&manufacturer[]=27

Все, что после # вставляю в поле "часть урла после #" В поле "SEO URL" записываю "swimsuits-bahama".

Теперь при вводе в адресную строку blablabla.ru/swimsuits/swimsuits-bahama появляется пустая страница. Товаров нет.

Движок ocStore 1.5.5.1.1, модуль 2.5.17.2_beta. Seo_pro работает. Кэш чистил. Богам молился. Жертву пока не приносил. Доступ в админку зачем-то давал. В журнале ошибок есть всякие PHP Warning & Notice. Но определить их отношение к происходящему мой моск не может. Не обучен-с. Где-то так.

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


если вы сортировку в файлах фильтра размещаете

<div class="sort"><b><?php echo $text_sort; ?></b>
...
</div>

то в контроллере фильтра нужно задавать массив $sorts по аналогии с контроллером категории

 

Это я все без проблем уже сделал.

И это работает.

 

У меня не работает $sort и $order

Всегда возвращается только значение по умолчанию.

 

Вот это у меня НЕ РАБОТАЕТ

$order = $this->request->get['order'];

 

(Вы ведь этот get имели ввиду?)

 

И я не могу понять почему, т. к. точно такой же код в category работает, но тоже только пока отключен фильтр.  Стоит только включить фильтр и перестает работать, всегда возвращается значение по умолчанию. Но $sorts при этом нормально получается.

 

Не работает get пока включен фильтр. Т. к. если кастомный элемент разместить в category.tpl get работает пока не включен фильтрпро.

 

Ниже код из контроллера фильтра и tpl

 

GKqG9Nu.png

 

AEzjAPd.png

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

Если коротко, то у вас в вашем файле filterpro.php есть такой код.

Но если я пытаюсь получить в filterpro.tpl $order, то всегда получаю значение по умолчанию, а не то которое выбрано.

Вот в этом и вся загвоздка.

 

2ird0IG.png

 

5V7LZQS.png

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

Мне казалось, я все уже рассказал. Ну, мне не лениво. Завожу опять ту же шарманку. Есть категория blablabla.ru/swimsuits/

а у вас есть пример с реальным сайтом? или мне отвечать в стиле blablabla?

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

в смысле вы перезагружаете страницу с адресом
http://ocstore15511.orcart.ru/desktops?sort=pd.name&order=DESC и фильтр не видит
sort=pd.name
order=DESC
?

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

а у вас есть пример с реальным сайтом? или мне отвечать в стиле blablabla?

А как же. Очень даже есть. Сразу даю адрес подопытной страницы.

www.becherry.ru/swimsuit/swimsuits-bahama
Надіслати
Поділитися на інших сайтах


в смысле вы перезагружаете страницу с адресом

http://ocstore15511.orcart.ru/desktops?sort=pd.name&order=DESC и фильтр не видит

sort=pd.name

order=DESC

?

 

Да фильтр то видит.

 

Я лишь говорю о переменной $order в tpl

Вот ее я не могу получить.

 

Если я сделаю вывод этой переменной в самом начале файла filterpro.tpl, то всегда получаю вывод значений по умолчанию.

Фильтр то работает при этом правильно.

Вопрос то очень простой: как получить эти значения?

 

Вы отвечаете: через get.

Так я через него и делаю. Этот же get в вашем же файле присутствует.

 

Но это не работает.

Поэтому и прошу подсказать работающий способ.

 

Раз уж вы говорите, что работает, покажите это на вашей демо-страничке.  вроде такой строчки в начале filterpro.tpl

guMkrti.png

 

Видимо, я что-то делаю не так и есть какой-то секрет, которого я не знаю.

 

bXhFOdN.png

 

LW7oVGh.png

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

Я могу это использовать в filterpro.tpl?

<?php echo $sort.$order ?>

Каков должен быть результат?

Независимо от выбранной сортировки у меня показывает результат "по умолчанию".

Так и должно быть?

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

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

#category_id=20&page=1&path=20&sort=p.price&order=DESC&limit=24&route=product%2Fcategory&min_price=1100&max_price=6100

это хеш

всё что в хеше не передается на сервер, это только для клиента

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

Добрый, подскажите как изменить сортировку по умолчанию (p.sort_order), нужно для p.sort_order сортировать по наличию и просмотрам

$sql .= " ORDER BY p.quantity DESC, p.viewed DESC, " . $data['sort'];

Думал примерно так для filterpro model

} else if ($data['sort'] == 'sort_order') {
$sql .= " ORDER BY p.quantity DESC, p.viewed DESC, " . $data['sort'];
}
Надіслати
Поділитися на інших сайтах


По поводу белого экрана - вывод ошибок был указан где только можно - и в htaccess и php  - итог белый экран. В логах сайта и хостинга по данной ошибке ни слова

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


p.viewed и p.quantity

по этим полям можно сортировать в модели

Не совсем понял, уточните пожалуйста как правильно сделать?

 

Пробовал так

if(isset($data['sort']) && array_key_exists($data['sort'], $sort_data)) {
			$data['sort'] = $sort_data[$data['sort']];
			if($data['sort'] == 'name' || $data['sort'] == 'model') {
				$sql .= " ORDER BY LCASE(" . $data['sort'] . ")";
			} else if ($data['sort'] == 'sort_order') {
				$sql .= " ORDER BY quantity DESC, viewed DESC, " . $data['sort'];
			} else {
				$sql .= " ORDER BY " . $data['sort'];
			}
		} else {
			$sql .= " ORDER BY  sort_order";
		}
Надіслати
Поділитися на інших сайтах


Автор а что с совместимостью в IE

Давно видел тему на форуме что фильтр закрыт серой маской только в IE а в остальных браузерах все было гуд, можно ли как протестировать данный модуль перед покупкой

Заранее благодарю за ответ

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


Здравствуйте freelancer,

Считаю, что при включении кнопки «Показать ещё», бесконечный скроллинг должен отключаться, иначе весь смысл пропадает — страница листается колесом мыши, кнопка не нужна.

Хорошо сделано на яндекс.маркете, пагинация + показать ещё.

Спасибо за внимание.

 

OJYuwOX.png

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


2.5.17.3

  • - исправлен баг с атрибутами слайдерами
  • - баг с двойным запросом фильтра
  • - добавлен файл filterpro_category\catalog\controller\module\category.php, который выводит seo ссылки фильтра в стандартный модуль категорий
Надіслати
Поділитися на інших сайтах

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

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

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

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

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

Вхід

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

Вхід зараз

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

Important Information

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