Перейти к содержанию
Форум поддержки пользователей VamShop

Кэширование


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

Здравствуйте. Включил кэширование запросов к бд, сайт стал намного шустрее, но появились проблемы с некоторыми модулями. Как сделать, чтобы динамические данные конкретных модулей не кэшировались? Пробовал добавить  в модули  $module->caching = 0;  и  $module->caching = false; - Не помогает.

Вот примерно так:

if (sizeof($module_content) >= 1) {
    $module->caching = 0; 
    $module->assign('language', $_SESSION['language']);
    $module->assign('module_content', $module_content);
    $module = $module->fetch(CURRENT_TEMPLATE.'/module/reviews_module.html');
    $default->assign('MODULE_reviews_module', $module);
}

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

Здравствуйте!

Может там выше где-то можно ещё убрать кэширование.

Где именно этот блок выводится?!

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

Вы имеете в виду   
$module->caching = 1;
?
Выше по коду такого нет, модуль на главной, выводит отзывы.

Вот примерно такой код модуля:

$module = new vamTemplate;
$module->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');


$review_query = 

"select r.reviews_id, 
		r.reviews_rating, 
		r.customers_name,
		rd.reviews_text,
		p.products_id, 
		p.products_image, 
		pd.products_name,
		p.products_model		
			from " . TABLE_REVIEWS . " r, 
				 " . TABLE_REVIEWS_DESCRIPTION . " rd, 
				 " . TABLE_PRODUCTS . " p, 
				 " . TABLE_PRODUCTS_DESCRIPTION . " pd 
				
		where p.products_status = '1' 
		  and p.products_id = r.products_id
		  and r.reviews_id = rd.reviews_id 
		  and p.products_id = pd.products_id 
		  order by r.reviews_id desc
		  limit 12"; 						   
	   

$module_content = array ();
$review_query = vamDBquery($review_query);
while ($reviews = vam_db_fetch_array($review_query, true)) {
	$module_content[] = $product->buildDataArray($reviews);
}


if (sizeof($module_content) >= 1) {

	$module->caching = 0; 
	$module->assign('language', $_SESSION['language']);
	$module->assign('module_content', $module_content);
	$module = $module->fetch(CURRENT_TEMPLATE.'/module/reviews_module.html');
	$default->assign('MODULE_reviews_module', $module);
	
}

 

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

Попробуйте отключить sql кэширование, поменяв:

$review_query = vamDBquery($review_query);
while ($reviews = vam_db_fetch_array($review_query, true)) {
	$module_content[] = $product->buildDataArray($reviews);
}

на:

$review_query = vam_db_query($review_query);
while ($reviews = vam_db_fetch_array($review_query)) {
	$module_content[] = $product->buildDataArray($reviews);
}

 

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