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

Фильтр не переводит опции


Linkoln

Recommended Posts

Добрый вечер, нуждаюсь в совете. Использую ocstore 3.0.2.0  На сайте установлен фильтр (prostofilter), который должен фильтровать товары по цене, производителю, и атрибутам. Проблема с выводом атрибутов. Атрибуты, которые не требуют перевода, выводятся нормально. Атрибуты, значение которых нужно переводить, выводятся без перевода. Вот код из контроллера, который выводит список атрибутов в вильтре.

$prostofilter_groups = $this->model_catalog_category->getCategoryFilters($category_id);
if ($prostofilter_groups) {
				foreach ($prostofilter_groups as &$prostofilter_group) {
					if ($prostofilter_group['name'] == 'Цена') {
						

						if ($prostofilter_group['filter'][0]['filter_id'] == $prostofilter_group['filter'][0]['name']) {
							continue;
						}
					}


					$childen_data = array();

					foreach ($prostofilter_group['filter'] as $prostofilter) {
						$prostofilter_data = array(
							'filter_category_id' => $category_id,
							'filter_filter'      => $prostofilter['filter_id']
						);

						$childen_data[] = array(
							'prostofilter_id' => $prostofilter['filter_id'],
							'name'      => $prostofilter['name'],
							
						);
					}
					

					$data['prostofilter_groups'][] = array(
						'prostofilter_group_id' => $prostofilter_group['filter_group_id'],
						'name'            => $prostofilter_group['name'],
						'prostofilter'          => $childen_data,
						
					);
				}
				if (count($data['prostofilter_groups']) > 0) {
					return $this->load->view('extension/module/prostofilter', $data);
				}
			}

А вот как это выглядит на сайте 

 

Снимок.PNG

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


6 минут назад, Linkoln сказал:

Добрый вечер, нуждаюсь в совете. Использую ocstore 3.0.2.0  На сайте установлен фильтр (prostofilter), который должен фильтровать товары по цене, производителю, и атрибутам. Проблема с выводом атрибутов. Атрибуты, которые не требуют перевода, выводятся нормально. Атрибуты, значение которых нужно переводить, выводятся без перевода. Вот код из контроллера, который выводит список атрибутов в вильтре.


$prostofilter_groups = $this->model_catalog_category->getCategoryFilters($category_id);
if ($prostofilter_groups) {
				foreach ($prostofilter_groups as &$prostofilter_group) {
					if ($prostofilter_group['name'] == 'Цена') {
						

						if ($prostofilter_group['filter'][0]['filter_id'] == $prostofilter_group['filter'][0]['name']) {
							continue;
						}
					}


					$childen_data = array();

					foreach ($prostofilter_group['filter'] as $prostofilter) {
						$prostofilter_data = array(
							'filter_category_id' => $category_id,
							'filter_filter'      => $prostofilter['filter_id']
						);

						$childen_data[] = array(
							'prostofilter_id' => $prostofilter['filter_id'],
							'name'      => $prostofilter['name'],
							
						);
					}
					

					$data['prostofilter_groups'][] = array(
						'prostofilter_group_id' => $prostofilter_group['filter_group_id'],
						'name'            => $prostofilter_group['name'],
						'prostofilter'          => $childen_data,
						
					);
				}
				if (count($data['prostofilter_groups']) > 0) {
					return $this->load->view('extension/module/prostofilter', $data);
				}
			}

А вот как это выглядит на сайте 

 

Снимок.PNG

а чего у вас возникла мысль, что фильтр должен выполнять функции перевода?

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


Ну название категории атрибутов переводит же... Их, как и значение атрибутов, а админке, я задаю на двух языках. Или я что-то не допонимаю?

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


Может у кого-нибудь есть идеи, куда смотреть хотя бы, а то 2 дня уже ковыряю, и не ноль

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


14 минут назад, Linkoln сказал:

Может у кого-нибудь есть идеи, куда смотреть хотя бы, а то 2 дня уже ковыряю, и не ноль

вам выше ответили. к разработчику фильтра обратитесь

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


16 hours ago, Dimasscus said:

вам выше ответили. к разработчику фильтра обратитесь

молчит, как рыба

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


1 минуту назад, Linkoln сказал:

молчит, как рыба

Ну либо купите нормальный модуль, либо в раздел платных услуг.

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

8 минут назад, Linkoln сказал:

ну ясно )

улыбнуло то что вы улыбаетесь на предложение выше. вы установили себе неизвестный бесплатный модификатор фильтра, который даже его автор не хочет исправлять, но предложение обратиться за платной помощью вас улыбает :)) кто то должен вникнуть в эту окрошку, потратить время чтобы вам было хорошо? это так не работает. форум ориентирован на опенкарт и его модули, которые есть на форуме. данный фильтр на форуме почему то отсутствует. почему?

 

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


Я не прошу никого вникать и делать что-то за меня. По-моему, форумы как раз и созданы для того, что бы люди со схожими интересами, могли обсудить друг с другом, какие-нибудь проблемы или нюансы, возникшие в процессе. Заказчик не хочет покупать другой фильтр, тот что установлен, кстати не бесплатный. Я делал этот сайт и когда он не был наполнен товарами, проблем не было. Теперь мне нужно исправить этот баг, но если честно, ни разу с таким не сталкивался. Проверил контроллер фильтра, модель... все стандартно, все как обычно, очевидно, проблема носит специфический характер, вот я и решил поинтересоваться в сообществе- может быть кто-то сталкивался уже с подобным. 

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


3 минуты назад, Linkoln сказал:

Я не прошу никого вникать и делать что-то за меня.

А что Вы просите?

Как ответить на Ваши вопросы, не вникая?

Смотрите модель, дебажьте запросы.

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

Да в том то и дело, что модель не тронута, стандартный getCategoryFilters() , фильтр в контроллере вызывает ее и далее в цикле уже разбирает. Значения, одинаковые на двух языках, выводятся в одном экземпляре, а те, что указаны, выводятся в двух вариантах. 

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


16 минут назад, Linkoln сказал:

Я не прошу никого вникать и делать что-то за меня. По-моему, форумы как раз и созданы для того, что бы люди со схожими интересами, могли обсудить друг с другом, какие-нибудь проблемы или нюансы, возникшие в процессе. Заказчик не хочет покупать другой фильтр, тот что установлен, кстати не бесплатный. Я делал этот сайт и когда он не был наполнен товарами, проблем не было. Теперь мне нужно исправить этот баг, но если честно, ни разу с таким не сталкивался. Проверил контроллер фильтра, модель... все стандартно, все как обычно, очевидно, проблема носит специфический характер, вот я и решил поинтересоваться в сообществе- может быть кто-то сталкивался уже с подобным. 

не бесплатный? серьезно? пишите разработчику. кроме него ни кто не знает что там внутри

50e24-clip-143kb.jpg

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


Мне не приходит ничего на ум, нет, сперва конечно подумал, что в модели выборка происходит без учета Langeage.id, но все на месте 
 

foreach ($filter_group_query->rows as $filter_group) {
				$filter_data = array();

				$filter_query = $this->db->query("SELECT DISTINCT f.filter_id, fd.name FROM " . DB_PREFIX . "filter f LEFT JOIN " . DB_PREFIX . "filter_description fd ON (f.filter_id = fd.filter_id) WHERE f.filter_id IN (" . implode(',', $implode) . ") AND f.filter_group_id = '" . (int)$filter_group['filter_group_id'] . "' AND fd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY f.sort_order, LCASE(fd.name)");

				foreach ($filter_query->rows as $filter) {
					$filter_data[] = array(
						'filter_id' => $filter['filter_id'],
						'name'      => $filter['name']
					);
				}

				if ($filter_data) {
					$filter_group_data[] = array(
						'filter_group_id' => $filter_group['filter_group_id'],
						'name'            => $filter_group['name'],
						'filter'          => $filter_data
					);
				}
			}

 

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


 

 

3 minutes ago, Dimasscus said:

не бесплатный? серьезно? пишите разработчику. кроме него ни кто не знает что там внутри

50e24-clip-143kb.jpg


Блин, он точно был куплен :D

Змінено користувачем Linkoln
Надіслати
Поділитися на інших сайтах


7 minutes ago, mazein said:

@Linkoln ссылку на сайт покажи.

http://dev.casa-filtre.md/index.php?route=product/category&path=59_64

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


14 минут назад, Linkoln сказал:

https://clip2net.com/s/45U28q0 покажите в админке как у товара заданы эти атрибуты

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


17 minutes ago, Dimasscus said:

https://clip2net.com/s/45U28q0 покажите в админке как у товара заданы эти атрибуты

 

Снимок.PNG

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


А вот так они созданы в характеристиках: 
 

Снимок.PNG

Змінено користувачем Linkoln
Надіслати
Поділитися на інших сайтах


2 часа назад, Linkoln сказал:

Мне не приходит ничего на ум, нет, сперва конечно подумал, что в модели выборка происходит без учета Langeage.id, но все на месте 
 


foreach ($filter_group_query->rows as $filter_group) {
				$filter_data = array();

				$filter_query = $this->db->query("SELECT DISTINCT f.filter_id, fd.name FROM " . DB_PREFIX . "filter f LEFT JOIN " . DB_PREFIX . "filter_description fd ON (f.filter_id = fd.filter_id) WHERE f.filter_id IN (" . implode(',', $implode) . ") AND f.filter_group_id = '" . (int)$filter_group['filter_group_id'] . "' AND fd.language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY f.sort_order, LCASE(fd.name)");

				foreach ($filter_query->rows as $filter) {
					$filter_data[] = array(
						'filter_id' => $filter['filter_id'],
						'name'      => $filter['name']
					);
				}

				if ($filter_data) {
					$filter_group_data[] = array(
						'filter_group_id' => $filter_group['filter_group_id'],
						'name'            => $filter_group['name'],
						'filter'          => $filter_data
					);
				}
			}

 

 

Это выбор значений фильтра, а не атрибутов.

Ищи запрос значний атрибутов.

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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