velos 0 Опубликовано 5 сентября, 2016 Жалоба Share Опубликовано 5 сентября, 2016 Здравствуйте. Включил кэширование запросов к бд, сайт стал намного шустрее, но появились проблемы с некоторыми модулями. Как сделать, чтобы динамические данные конкретных модулей не кэшировались? Пробовал добавить в модули $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); } Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 5 сентября, 2016 Жалоба Share Опубликовано 5 сентября, 2016 Здравствуйте! Может там выше где-то можно ещё убрать кэширование. Где именно этот блок выводится?! Ссылка на сообщение Поделиться на другие сайты
velos 0 Опубликовано 5 сентября, 2016 Автор Жалоба Share Опубликовано 5 сентября, 2016 Вы имеете в виду $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); } Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 5 сентября, 2016 Жалоба Share Опубликовано 5 сентября, 2016 Попробуйте отключить 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); } Ссылка на сообщение Поделиться на другие сайты
velos 0 Опубликовано 5 сентября, 2016 Автор Жалоба Share Опубликовано 5 сентября, 2016 Спасибо, помогло. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 5 сентября, 2016 Жалоба Share Опубликовано 5 сентября, 2016 Не за что Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения