Перейти к содержимому


Публикации Den

6 публикаций создано Den (учитываются публикации только с 17-May 23)


#36128 Еще один фильтр. Теперь на AJAX.

Отправлено от Den в 10 January 2019 - 02:16 PM в Модули и дополнения ShopCMS

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



#36063 Блок "С эти товаром также смотрели..."

Отправлено от Den в 25 May 2018 - 12:23 PM в Модули и дополнения ShopCMS

Скопировал addon.php и looked_products.php, таблица создалась. Подождал пару часов, полазил сам по сайту, но таблица так и осталась пустой. Он так неспешно работает или что-то не так?) Блок пока не устанавливал, может дело в нем?

Дело в HTTPS. В looked_products.php в этой строчке нужно поправить http:// на https:// , кто его использует:
	elseif ($productID != $_SESSION['first_productID'] && !empty($_SERVER['HTTP_REFERER']) && stripos($_SERVER['HTTP_REFERER'],"http://".$_SERVER['SERVER_NAME']) === 0)

badisoft , спасибо за модуль! Подскажите, не вносят ли разнообразные боты больших помех в статистику, может их как-то не учитывать?



#36062 [дополнение] показать еще XX товаров

Отправлено от Den в 24 May 2018 - 11:32 AM в Модули и дополнения ShopCMS

badisoft, спасибо за наводку, функция prdSearchProductByTemplate была виновата
Спойлер



#36060 [дополнение] показать еще XX товаров

Отправлено от Den в 23 May 2018 - 06:56 PM в Модули и дополнения ShopCMS

Сегодня заметил, что по нажатию кнопки подгрузки подгружается один и тот же набор товаров (тот что и был на текущей странице). При этом после нескольких таких подгрузок одного и того же, когда уже все товары категории должны загрузится, кнопка благополучно пропадает.

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



#36055 Еще один фильтр. Теперь на AJAX.

Отправлено от Den в 11 May 2018 - 08:44 AM в Модули и дополнения ShopCMS

Немного изменил запрос, вроде бы работает как надо:
    $data = db_query("SELECT productID, in_stock, sort_order, Price, name
                  FROM (SELECT productID, in_stock, sort_order, Price, name, COUNT(DISTINCT optionID) AS count 
                      FROM ".PRODUCTS_OPTIONS_SET_TABLE."
                      JOIN ".PRODUCTS_TABLE." USING(productID)
                      WHERE enabled=1 AND Price>=$price_from AND Price<=$price_to AND $addonCat$addonStock$addonSearch AND variantID IN (".implode(',',$search).")
                      GROUP BY productID
                      ) AS t
                  WHERE t.count=$POSTcount ORDER BY $filtersort");

Поля in_stock, sort_order, Price, name добавлены так как по ним происходит сортировка



#36054 Еще один фильтр. Теперь на AJAX.

Отправлено от Den в 10 May 2018 - 05:06 PM в Модули и дополнения ShopCMS

Несколько дней назад заметил, что сортировка отфильтрованных товаров работает как попало. При этом в файлы никаких изменений не вносил. Может связано с каким-то обновлением mysql?
Переменная $filtersort выглядит так:
$filtersort = in_array($_POST['sort'],array('in_stock DESC,sort_order','in_stock >= 0 DESC,Price > 0 DESC,Price,name','in_stock >= 0 DESC,Price > 0 DESC,Price DESC,name'))?$_POST['sort']:'in_stock DESC,sort_order';

Запрос при установке хотя бы одной галки (по-моему в него никаких изменений не вносил):
	$data = db_query("SELECT productID
				  FROM (SELECT productID, COUNT(DISTINCT optionID) AS count
					  FROM ".PRODUCTS_OPTIONS_SET_TABLE."
					  JOIN ".PRODUCTS_TABLE." USING(productID)
					  WHERE enabled=1 AND Price>=$price_from AND Price<=$price_to AND $addonCat$addonStock$addonSearch AND variantID IN (".implode(',',$search).")
					  GROUP BY productID
					  ORDER BY $filtersort) AS t
				  WHERE t.count=$POSTcount");

Выборка товаров по параметрам происходит правильная, а вот сортируются неправильно. Попробовал сделать этот же запрос напрямую в phpmyadmin - все такой же разброд. Причем сразу после запроса порядок строк один, а после перехода на вторую страницу результатов и возврата на первую - он уже может измениться, а может и нет. Также и при повторном запросе (это все в phpmyadmin). Запрос делал такой (чуть модифицировал, чтобы было видно что к чему):
SELECT productID, in_stock, sort_order, Price
				  FROM (SELECT productID, in_stock, sort_order, Price, COUNT(DISTINCT optionID) AS count
					  FROM pwqk_product_options_set
					  JOIN pwqk_products USING(productID)
					  WHERE enabled=1 AND Price>=0 AND Price<=2895.5882352941 AND categoryID IN (21) AND variantID IN (131)
					  GROUP BY productID
					  ORDER BY Price) AS t
				  WHERE t.count=1

А результат получается такой:
Изображение

То есть получается, что сортировка происходит правильно, но в пределах некой части строк, в данном случае частями по 14 строк.

Пробовал на двух разных хостингах:
  • Версия сервера: 5.6.39-83.1 - Percona Server (GPL), Release 83.1, Revision da5a1c2923f
  • Версия сервера: 5.7.16-10-log - Percona Server (GPL), Release 10, Revision a0c7d0d