Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Как сделать, указания количества дней, в течение которых кешировать полную новость?

Как сделать, указания количества дней, в течение которых кешировать полную новость?


     11.08.2016    Общие вопросы    425

вопрос
Всем добрый вечер. В dle 11.1 появилась одна очень хорошая функция, а именно:
32. В настройки скрипта, добавлена возможность указания количества дней, в течение которых кешировать полную новость после ее публикации. Создание и обновление кэша, эта тоже ресурсоемкая операция. По истечении времени, публикация также теряет свою популярность, и если она не часто читается, то создавать и контролировать кэш постоянно для нее нецелесообразно. Если на вашем сайте публикуется мало новостей, то вы можете увеличить количество дней в течении которых кешировать, если много, то уменьшить. В любом случае мы не рекомендуем устанавливать время кеширования менее 30 дней. Небольшое количество дней используйте только если есть проблемы с свободным местом на жестком диске сервера, либо если публикуете очень большое количество новостей в месяц. А вот тем, у кого немного новостей на сайте, мы рекомендуем увеличить это значение.


У меня dle 10.1, обновляться до новых версий не хочется, так как много изменений внес в движок и плюс истекло время для бесплатного обновления.

Так вот я хотел узнать, можно-ли реализовать эту функцию на моей версии движка, если да - то сколько это будет стоить?

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


Комментарии пользователей (2)

vitnet
221

2255 | 964

vitnet - 11 августа 2016 01:01 - Эксперт

1.0 Откройте файл engine/modules/show.full.php

найдите
    if( strtotime($row['date']) >= ($_TIME - 2592000) ) {
            $allow_full_cache = true;
        }

замените на
        $config['fullcache_days'] = intval($config['fullcache_days']);

        if( $config['fullcache_days'] < 1 ) $config['fullcache_days'] = 30;

        if( strtotime($row['date']) >= ($_TIME - ($config['fullcache_days'] * 86400)) ) {
            $allow_full_cache = true;
        }

2.0 Откройте файл engine/inc/options.php

найдите
    showRow( $lang['opt_sys_ctype'], $lang['opt_sys_ctyped'], makeDropDown( array ("0" => $lang['opt_sys_filec'], "1" => "Memcache" ), "save_con[cache_type]", "{$config['cache_type']}" ) );

добавьте выше
    showRow( 'Количество дней, в течение которых кешировать полную новость после ее публикации', 'Создание и обновление кеша, эта тоже ресурсоемкая операция. По истечении времени, публикация также теряет свою популярность, и если она не часто читается, то создавать и контролировать кеш постоянно для нее нецелесообразно. Вы можете указать количество дней после публикации новости, по прошествии которых, для нее не будет создаваться кеш. Например, если вы укажите 30, то в течении 30 дней после публикации, для новости будет создаваться и использоваться кеш, а потом нет. Увеличение срока ведет к дополнительному расходу места на диске.', "<input class=\"edit bk\" type=\"text\" style=\"text-align: center;\" name=\"save_con[fullcache_days]\" value=\"{$config['fullcache_days']}\" size=20>" );

Готово!

Заходим в админку, настраиваем под себя.

edik8305
100 | 1

edik8305 - 11 августа 2016 01:35 - Юзер

Большое спасибо за код.
А можно сделать эту опцию отдельно для новостей при редактировании?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

 30.08.2014 mozart_dima  Общие вопросы