We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 785
    • 2,113 Posts
    Иногда возникает задача, обратная очистке кэша – кэширование всех страниц сайта. Чаще всего такая процедура выполняется после очистки кэша, чтобы некэшированные страницы не выдавались посетителям сайта, особенно если без кэша страницы генерируются очень долго. Я написал модуль, реализующий эту процедуру. Для установки необходимо скопировать содержимое архива в папку assets/modules и создать модуль, поместив в него содержимое файла cacheAllPages.tpl. Если добавить нужные файлы в папку assets/modules до установки MODx, а также добавить файл cacheAllPages.tpl в папку install/assets/modules, модуль будет автоматически установлен вместе с другими компонентами MODx.
    Для кэширования страниц следует запустить модуль и нажать кнопку «Создать кэш». Процесс иллюстрируется прогресс-индикатором. В любой момент можно выйти из модуля, нажав кнопку «Закрыть модуль», и в следующий раз кэшировать оставшиеся страницы. Прерывание работы модуля любым способом в любое время не должно нарушить работу сайта.
    ВНИМАНИЕ! Разработка новая, протестированная не слишком основательно, так что возможны ошибки, однако нарушить что-то важное модуль не должен, в худшем случае следует просто очистить кэш.
    БУДУ ПРИЗНАТЕЛЕН за тестирование модуля и высказывание критических замечаний.
      Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
      Статьи о MODx, регулярно новые публикации
      • 1611
      • 591 Posts
      Спасибо за модуль, Очень интересная функция. Буду тестировать.
        • 7368
        • 264 Posts
        Спасибо! Как раз хотел реализовывать что-то подобное, но не в виде модуля, и без интерфейса:)
          • 6862
          • 97 Posts
          Замечательная идея smiley
            • 18098
            • 49 Posts
            проверка на кешируемость страницы проводиться?
              • 785
              • 2,113 Posts
              Quote from: mamamiya at Jul 01, 2010, 11:50 AM

              проверка на кешируемость страницы проводиться?
              Естественно. Кэшируются страницы, для которых установлен соответствующий флажок, не кэшированные ранее, опубликованные, не удаленные, не закрытые для свободного доступа, типа документ (не ссылка). При кэшировании выполняются кэшируемые сниппеты и плагины, привязанные к событиям OnLoadWebDocument и OnBeforeSaveWebPageCache. Проблемы могут быть, если в сниппетах или плагинах используются какие-то недокументированные функции MODx, если используются обычные функции API, все должно быть нормально.
                Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                Статьи о MODx, регулярно новые публикации
                • 18098
                • 49 Posts
                не совсем понятно зачем такие сложности. чем не устраивает банальный file_get_contents?
                рекурсивно проходим все опубликованные страницы сайта, которые нужно кэшируются и никакого гемора со сторонними библиотеками(которыми лично я пользуюсь довольно часто для различных целей)
                  • 785
                  • 2,113 Posts
                  Непонятно, при чем тут рекурсия, и о каких сторонних библиотеках идет речь. С помощью file_get_contents можно заменить функцию из 25 строк, не думаю, что это так уж критично. Если же речь идет о цикличном вызове в автономной программе на PHP file_get_contents и загрузке всех страниц сайта, могут возникнуть проблемы с ограничением времени выполнения скриптов на хостинге. Кроме того, если загружать готовые страницы, каждый раз будут выполняться некэшируемые сниппеты, что может существенно увеличить время работы. Также при использовании file_get_contents через TCP/IP будет перекачиваться много лишней информации.
                    Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                    Статьи о MODx, регулярно новые публикации
                    • 18098
                    • 49 Posts
                    библиотеки к примеру cakemodx.
                      • 785
                      • 2,113 Posts
                      И при чем тут CakeMODx? С какого боку она относится к данной теме?
                        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                        Статьи о MODx, регулярно новые публикации