Перейти к содержанию
PRammer

Проверка опции на остаток в Mega Filter PRO 1.2.8.6

Рекомендуемые сообщения

Доброго времени суток!

 

Ситуация такова. Есть ocStore 1.5.5.1.2 и фильтр Mega Filter PRO 1.2.8.6

 

Фильтр работает нормально, пока не обнаружил существенную проблему. Он не проверяет остаток Опции по наличию, т.е. > 0.

В настройках модуля нет на этот счет никаких намеков и предложений.

 

Решил копнуть руками и удалось мне заставить его подсчитывать корректно и выдавать правдивую информации об товаре опции с 0 остатком

сделал я это в файле mega_filter.php по адресу www/catalog/model/module

вынес $conditionsIn[] = '`pov`.`quantity` > 0'; за пределы условия проверки чего-то там...

private function _getCountsByOptions( array $conditions, array $conditionsIn ) {
		$counts	= array();

		$conditionsOut		= $this->_conditions['out'];
		$columns			= $this->_baseColumns( '`pov`.`option_value_id`', '`pov`.`option_id`', '`p`.`product_id`' );

		if( in_array( $this->route(), self::$_specialRoute ) ) {
			$columns[] = $this->_specialCol();
			$conditions[] = '`special` IS NOT NULL';
		}

		if( ! empty( $this->_settings['in_stock_default_selected'] ) || ( ! empty( $this->_parseParams['stock_status'] ) && in_array( $this->inStockStatus(), $this->_parseParams['stock_status'] ) ) ) {
		}
		$conditionsIn[] = '`pov`.`quantity` > 0';

		$sql = $this->_createSQLByCategories(sprintf( "
			SELECT
				%s
			FROM
				`" . DB_PREFIX . "product` AS `p`
			INNER JOIN
				`" . DB_PREFIX . "product_option_value` AS `pov`
			ON
				`pov`.`product_id` = `p`.`product_id`
			%s
			WHERE
				%s
		", implode( ',', $columns ), $this->_baseJoin(), implode( ' AND ', $this->_baseConditions( $conditionsIn ) ) ));

НО осталась еще проблема, связанная с тем, что он не передает на вывод данные с учетом проверки товара на > 0.

т.е. Фильтр считает и показывает данные правильно, а вот обновление товара живет своей жизнь и не понятно, где копать, что бы оно обновляло товары в категории корректно остатку.

 

Последнюю зацепку нашел на в mega_filter.xml по адресу www/vqmod/xml

в строке $sql = MegaFilterCore::newInstance( $this, $sql )->getSQL( __FUNCTION__ );

<file path="catalog/model/catalog/" name="product.php">
		<operation>
			<search position="before"><![CDATA[$query = $this->db->query($sql);]]></search>
			<add><![CDATA[
				if( in_array( __FUNCTION__, array( 'getProducts', 'getTotalProducts', 'getProductSpecials', 'getTotalProductSpecials' ) ) ) {
					if( ! empty( $this->request->get['mfp'] ) || ( NULL != ( $mfSettings = $this->config->get('mega_filter_settings') ) && ! empty( $mfSettings['in_stock_default_selected'] ) ) ) {
						$this->load->model( 'module/mega_filter' );

						$sql = MegaFilterCore::newInstance( $this, $sql )->getSQL( __FUNCTION__ );
					}
				}
			]]></add>
		</operation>

Кто сталкивался с подобной проблемой? Какие мысли на этот счет имеете? Что я могу упустить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От OCMegaExtensions
      3,499 RUB
      View File


      Mega Filter PRO [by attribs, options, brands, price, filters][2.x, 3.x]

       
      Mega Filter PRO - это усовершенствованная и удобная в использовании система фильтрации. Это позволяет эффективно и быстро осуществить поиск продуктов, согласно выбранных критериев поиска, такими как атрибуты, параметры, фильтры, категории и многие другие.
       
      Каждый интернет-магазин уникален, поэтому MFP предлагает множество возможностей персонализации дизайна. Вы можете отображать фильтры по горизонтали или по вертикали и благодаря совместимости с мобильными устройствами даже в виде виджета. Выбрав Mega Filter PRO, вы можете быть уверены в постоянном совершенствовании и разработке модуля.
       
      В архиве присутствует русская локализация
       
       
       

       
       
       

       
        - A Frontend - vertical                                       - the Backend - the demo / the demo           - the Click found here to the get support
        - A Frontend - horizontal
       
       
       
       
       

       
       
       
       

       
       
       
       

       
       
       
       
       

      Submitter OCMegaExtensions Submitted 03/10/2017 Category Filters Системные требования Сайт разработчика Старая цена Метод активации По емейлу Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop  
    • От OCMegaExtensions
      Mega Filter PRO - это усовершенствованная и удобная в использовании система фильтрации. Это позволяет эффективно и быстро осуществить поиск продуктов, согласно выбранных критериев поиска, такими как атрибуты, параметры, фильтры, категории и многие другие.
       
      Каждый интернет-магазин уникален, поэтому MFP предлагает множество возможностей персонализации дизайна. Вы можете отображать фильтры по горизонтали или по вертикали и благодаря совместимости с мобильными устройствами даже в виде виджета. Выбрав Mega Filter PRO, вы можете быть уверены в постоянном совершенствовании и разработке модуля.
       
      В архиве присутствует русская локализация
       
       
       

       
       
       

       
        - A Frontend - vertical                                       - the Backend - the demo / the demo           - the Click found here to the get support
        - A Frontend - horizontal
       
       
       
       
       

       
       
       
       

       
       
       
       

       
       
       
       
       

    • От LoseJump
      Всем привет, можете помочь с модулем "Mega Filter PRO", при фильтрации не работает модуль "Всплывающая корзина с заменой кнопки Купить", не меняется надпись "Купить" на "В корзине". Если перезагрузить страницу всё работает с применёным фильтром.
      Спасибо
    • От Alexandr177
      Здравствуйте, есть такой сайт https://lampa-tut.ru
      На нем стоит Mega Filter PRO/PLUS у которого есть замечательная возможность, прописывать метаданные для выдачи фильтра.
      Например категория потолочные люстры, нажимаем в разделе "стиль" чек бокс "лофт", копируем url и вставляем сюда и прописываем для него отдельные мета данные.
      Суть в том, что делать это в ручную очень геморно. Задача осуществить пакетную обработку на основании задаваемых формул.
      Напрмер: [Карегория] в стиле  [Cтиль] от производителя [Производитель]. и тд
       
      Может ли кто-нить помочь с решением данной задачи?

    • От Ainur1111
      Купили Mega Filter PRO. Дизайн у нас свой.
      Фильтр не работает, а выходит такое сообщение:
      "There is a conflict Mega Filter PRO with your template or other extension"
       
      Может у кого были такие проблемы или знает как сделать так чтобы заработал фильтр? Техподдержка на форуме пока молчит.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.