Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


 Share

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);
				}
			}

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

 

Link to comment
Share on other sites


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);
				}
			}

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

 

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

Link to comment
Share on other sites


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

Link to comment
Share on other sites


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

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

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

Link to comment
Share on other sites


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

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

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

  • +1 1
Link to comment
Share on other sites

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

ну ясно )

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

 

Link to comment
Share on other sites


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

Link to comment
Share on other sites


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

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

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

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

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites


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

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

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

Link to comment
Share on other sites


Мне не приходит ничего на ум, нет, сперва конечно подумал, что в могдели выпотому чторка происходит без учеи 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
					);
				}
			}

 

Link to comment
Share on other sites


 

 

3 minutes ago, Dimasscus said:

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


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

Edited by Linkoln
Link to comment
Share on other sites


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

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

Link to comment
Share on other sites


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
					);
				}
			}

 

 

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

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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.