Технический сбой

Сайт временно работает в режиме только для чтения, идут восстановительные работы. Приносим свои извинения за неудобства.
DLE FAQ » Все вопросы » Общие вопросы » Как сделать Очистку кэша на любой странице админпанели?

Как сделать Очистку кэша на любой странице админпанели?


     очистка кэша    Общие вопросы, jQuery, Хаки    2222

вопрос
Как сделать Очистку кэша на любой странице админпанели?


У меня DLE 13.2. Есть хак для версии DLE 12.0, но он устаревший. В целом вроде работает, но после нажатия кнопки "Очистить кэш" открывается белая страница с надписью - кэш очищен. Нужно доработать код, чтобы стандартная кнопка "Очистить кэш" в виде значка была на всех страницах (вверху справа) и при нажатии происходила очистка кэша и выскакивало стандартное небольшое сообщение, что кэш очищен.

Старый хак для DLE 12.0:

1) В файле engine/inc/main.php найти и удалить код:
$('#clearbutton').click(function() {

	$.get("engine/ajax/adminfunction.php?action=clearcache&user_hash={$dle_login_hash}", function( data ){

		$('#cachesize').html('0 b');
		Growl.info({
			title: '{$lang[p_info]}',
			text: data
		});

	});
	return false;
});

2) В файле engine/skins/javascripts/application.js найти код:
$('#full_screen_toggle').on('click',function(e) {

и над ним вставить такой код:
$("#clearbutton, #clearbutton2").on("click", function(e){
	e.preventDefault();

	$.get("engine/ajax/adminfunction.php?action=clearcache&user_hash=" + dle_login_hash, function(data){

		$("#cachesize").html("0 b");
		Growl.info({
			title: p_info,
			text: data
		});

	});

	return false;
});

3) В файле engine/skins/default.skin.php найти код:
var dle_login_hash = '{$dle_login_hash}';

и над ним вставить такой код:
var p_info = '{$lang['p_info']}';

найти код:
<li><a href="{$config['http_home_url']}" title="{$lang['skin_view']}" target="_blank"><i class="fa fa-globe"></i><span class="visible-xs-inline-block position-right">{$lang['skin_view']}</span></a>

и над ним вставить такой код:
<li><a href="/engine/ajax/adminfunction.php?action=clearcache&user_hash={$dle_login_hash}" id="clearbutton" title="{$lang['btn_clearcache']}" style="background:#e53a36;"><i class="fa fa-trash"></i><span class="visible-xs-inline-block position-right">{$lang['btn_clearcache']}</span></a></li>

Готово!!

Кстати, в DLE 13.2 скрипт очистки кэша немного отличается от DLE 12.0:

В DLE 12 такой стандартный код:
$('#clearbutton').click(function() {

	$.get("engine/ajax/adminfunction.php?action=clearcache&user_hash={$dle_login_hash}", function( data ){

		$('#cachesize').html('0 b');
		Growl.info({
			title: '{$lang[p_info]}',
			text: data
		});

	});
	return false;
});

В DLE 13.2 вот такой стандартный код:
$('#clearbutton').click(function() {

	$.get("engine/ajax/controller.php?mod=adminfunction&action=clearcache&user_hash={$dle_login_hash}", function( data ){

		$('#cachesize').html('0 b');
		Growl.info({
			title: '{$lang['p_info']}',
			text: data
		});

	});
	return false;
});

Ответа пока нет


8 комментариев

SX2
Эксперт

SX2 - -

Замените все:
engine/ajax/adminfunction.php

На
engine/ajax/controller.php?mod=adminfunction

Самая сложная часть работы – решиться приступить к ней.

ZeN41k
Юзер

ZeN41k - -

Я так в принципе и сделал, но после очистки кеша кидает на белую страницу с надписью "Кеш скрипта успешно очищен" - это отличается от стандартного мини-сообщения вверху справа об успешной очистке кеша

SX2
Эксперт

SX2 - -


Самая сложная часть работы – решиться приступить к ней.

ZeN41k
Юзер

ZeN41k - -

После нажатия на значок "Очистки кэша" попадаю на главную страницу сайта

SX2
Эксперт

SX2 - -

Кэш в браузере очистите!

Самая сложная часть работы – решиться приступить к ней.

ZeN41k
Юзер

ZeN41k - -

Очистил. Всё рано отправляет на главную страницу. Так задумано? Что после очистки кэша отправляет на главную страницу сайта?

SX2
Эксперт

SX2 - -

Нет! Что то делаете не так. Проверил все Ok.

Самая сложная часть работы – решиться приступить к ней.

ZeN41k
Юзер

ZeN41k - -

Большое Спасибо! Всё работает) не на том сайте файлы на ftp редактировал))

VPS-хостинг у меня переоптимизированный – после редактирования новостей и часто при добавлении новостей нужна очистка кэша, так как либо новость не будет отредактирована, либо новая новость не появится. Вот такие пироги))

Похожие вопросы

наверх