0 Пользователей и 1 Гость просматривают эту тему.
  • 66 Ответов
  • 36581 Просмотров
*

ifx

  • Осваиваюсь на форуме
  • 28
  • 4 / 0
А вот и для VirtueMart 1.1.9 рабочий хак

Код
// The "OR" in the where clause slows down the whole query. It is only needed when there are parent-products
$tmpdb = new ps_DB();
$tmpdb->query( "SELECT COUNT(*) AS parentcnt FROM #__{vm}_product WHERE product_parent_id>0");
$tmpdb->next_record();
if($tmpdb->f('parentcnt')>0) {
// bunak - OPTIMIZE ---------------->>>
$where_str = "(`#__{vm}_product_category_xref`.`product_id`=`#__{vm}_product`.`product_id` ";
if( !empty( $keyword ) ) {
// when someone is searching, we also show child products (product_parent_id != 0), IT is this case
$where_str .= " OR `#__{vm}_product_category_xref`.`product_id`=`#__{vm}_product`.`product_parent_id` ";
}
$where_str .= ")";
$where_clause[] = $where_str;
// bunak - OPTIMIZE <<<----------------
} else {
$where_clause[] = "`#__{vm}_product_category_xref`.`product_id`=`#__{vm}_product`.`product_id`";
}

копирайты уходят человеку под ником bunak
*

kreolka_8

  • Захожу иногда
  • 153
  • 2 / 0
Так все таки для работы с дочерними товарами, данный хак актуален?
*

A.Nitro

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Так все таки для работы с дочерними товарами, данный хак актуален?

Хак от bunak поддерживает товары дочерние-- но мне что то он не особо дал в скорости по данным одно и тоже(проверял на версии 1,9)
*

Edikxp

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Подскажите что делает этот запрос?

Код
SELECT g1.id, g1.name, COUNT(g2.name) AS level
FROM jos_core_acl_aro_groups AS g1
INNER JOIN jos_core_acl_aro_groups AS g2 ON g1.lft BETWEEN g2.lft AND g2.rgt
WHERE g1.lft BETWEEN 3 AND 12
GROUP BY g1.name
ORDER BY g1.lft
*

Edikxp

  • Осваиваюсь на форуме
  • 32
  • 0 / 0
Нашел этот запрос в файле ps_perm

Код
	$database->setQuery( "SELECT $fields"
. "\nFROM $table AS g1"
. "\nINNER JOIN $table AS g2 ON g1.lft BETWEEN g2.lft AND g2.rgt"
. "\n$where"
. ($groupby ? "\nGROUP BY $groupby" : "")
. "\nORDER BY g1.lft"
);


Если отключит то в товарах нету цен и просить позвонить и уточнить (( Хостер ругается ччто запрос медленный ((
*

vman

  • Новичок
  • 1
  • 0 / 0
Еще способ ускорить, у меня после всего перечисленного, с включенным кэшем и т.д., все тормозило, проблема была в модуле mod_virtuemart, точнее как он выводил категории, а их у меня более 1000. Пришлось сделать импровизированный хак, чтобы кэшировать запрос и обработку данных по категриям.
В файле /administrator/components/com_virtuemart/classes/ps_product_category.php
Находим
Код
$categories = ps_product_category::getCategoryTreeArray(); // Get array of category objects
$result = ps_product_category::sortCategoryTreeArray($categories); // Sort array of category objects
И меняем на
Код
        // Кэширование запроса по формированию списка каталога;

        $fn = "cache/ps_product_category/result.txt";
       
        $fntime=filemtime($fn);
        $curtime=time();
        $daytime = 86400; //кэшируется на 1 день
       
        if ($curtime > $fntime + $daytime or !file_exists($fn)) {
                    $categories = ps_product_category::getCategoryTreeArray(); // Get array of category objects
                    $result = ps_product_category::sortCategoryTreeArray($categories); // Sort array of category objects
                    $string_result = serialize($result);
                    $fh = fopen($fn, 'w');
                    fwrite($fh, $string_result);
                    fclose($fh);
        }
       
                $str = file_get_contents($fn);
                $result = unserialize($str);
       
        // Кэширование запроса по формированию списка каталога;
И обязательно завести папку ps_product_category в категории /cache сам он ее почему-то завести не может, по крайней мере у меня.
*

ChaosHead

  • Гуру
  • 5235
  • 450 / 13
проблема была в модуле mod_virtuemart, точнее как он выводил категории, а их у меня более 1000.
Не проще ли в настройках модуля кэширование на сутки настроить, чем дёргать постоянно файловую систему
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Поиск для магазина автозапчастей как на Exist.ru!

Автор zzaj

Ответов: 21
Просмотров: 8021
Последний ответ 11.05.2016, 13:50:02
от Pahom72
Проверка повтора email в форме регистрации магазина

Автор robert

Ответов: 1
Просмотров: 1237
Последний ответ 23.12.2012, 20:25:21
от robert
Исключение страниц магазина при показе слайдера

Автор alexspi

Ответов: 0
Просмотров: 836
Последний ответ 18.09.2012, 16:36:33
от alexspi
Хочу на этот компонент повесить как минимум два магазина!

Автор JomTime

Ответов: 0
Просмотров: 818
Последний ответ 17.02.2012, 16:17:06
от JomTime
Вывод названия категории магазина в карточку товара

Автор SolopoV

Ответов: 9
Просмотров: 3331
Последний ответ 17.02.2012, 15:15:55
от tigra-uki