Кэширование в pdotools

вобщем столкнулся с проблемой, кто нельзя отключить файловое кэширование в pdotools на конкретные ресурсы. Если снять галочку кэширования ресурса, то кэша нет в папке resource, а вот кэш pdotools присутствует. может быть кто нибудь знает есть ли параметр отключения?
Евгений
18 апреля 2022, 10:37
modx.pro
878
0

Комментарии: 25

vectorserver
19 апреля 2022, 06:26
0
&cache        0    	Кэширование результатов работы сниппета.
&cacheTime    3600	Время актуальности кэша, в секундах.
&cache_user    1	Принудительно устанавливает ID посетителя, по-умолчанию кеширование производится с учетом ID посетителя
    Евгений
    19 апреля 2022, 14:25
    0
    не совсем понял что у вас написано
      vectorserver
      19 апреля 2022, 15:26
      0
      Вы просили параметры отключения, я скинул! Что не так!?
      Прочитайте нормально документацию по Pdotools!
        Евгений
        19 апреля 2022, 15:59
        0
        вопрос был в отключении кэша отдельного ресурса
      Евгений
      19 апреля 2022, 14:24
      0
      Это очень круто, почитал, думаю стоит изучить и внедрить, но быстро мигрировать тем более на бетта версию не выйдет :(

      вообще то что получил сейчас это очень большой кэш в папке default/pdotools, на одну страницу приходится по 2 файла кэша, а с учетом того что у меня много ресурсов, + много виртуальных страниц, весь объем диск съедаю за раз. кэшировать все необходимости нет, только посещаемые страницы. но отключить кэш или принудительно включить не могу. в настройках есть только общая настройка pdotools_fenom_cache, отключив которую кэш не формируется, но и основные страницы работают медленно. Как вариант переписать xpdocachemanager.class.php, но там объект modx не содержит ресурса, и управлять кэшированием например через стандартную настройку ресурса возможности нет.
        Сергей Шлоков
        19 апреля 2022, 20:00
        0
        Это обычная системная настройка. Ей можно манипулировать в процессе загрузки. Создайте плагин на событие OnHandleRequest и в нем прописывайте нужное значение согласно вашей логике
        if ($modx->resource->id == 100) {
            $modx->setOption('pdotools_fenom_cache', false);  // отключить кэширование чанков для ресурса 100
        }
          Евгений
          20 апреля 2022, 08:57
          0
          Неработает, тк в классе pdoTools в setConfig устанавливается
          $this->config['useFenomCache'] = $this->modx->getOption('pdotools_fenom_cache', null, false);

          До вызова OnHandleRequest

          и уже проверка идет в методе fenom
          if (!empty($this->config['useFenomCache'])) {

          Поэтому установка этого свойства конечно меняет конфиг, но fenom его читает раньше
            Сергей Шлоков
            20 апреля 2022, 16:27
            0
            Да, есть такое дело. Хотел исправить и забыл. В следующей версии постараюсь не забыть.
              Евгений
              20 апреля 2022, 17:13
              0
              попробовал решить так в плагине, но не работает, может подскажите костыль
              case 'OnHandleRequest':
                     if ($modx->resource->cacheable == false) {
                      $pdoTools = $modx->getService('pdoTools');
                      $pdoTools->config['useFenomCache'] = null;
              }
                Евгений
                31 октября 2022, 14:09
                0
                Получилось вернутся к данному вопросу?
                  Сергей Шлоков
                  31 октября 2022, 18:52
                  0
                  Неа. Я сейчас с MODX практически не работаю. А в ишу на гитхабе особо важного ничего нет.
                    deleted
                    31 октября 2022, 19:21
                    0
                    Я сейчас с MODX практически не работаю
                    То есть развития ZoomX не ждать?(
                      Сергей Шлоков
                      02 ноября 2022, 06:41
                      +1
                      Я сейчас плотно занят Laravel/Vue. Планы есть. Задачи в бэклоге тоже. Даже начал перевод под MODX3. Но времени катастрофически не хватает. ( И мотивации.
                        deleted
                        09 ноября 2022, 20:43
                        0
                        Laravel подходит для создания несложных сайтов или тут лучше cms? А то MODX умирает похоже(
                          Евгений
                          09 ноября 2022, 20:46
                          0
                          все зависит от задачи, универсальной таблетки нет.
                          Сергей Шлоков
                          10 ноября 2022, 06:30
                          +2
                          Для несложный сайтов конечно лучше CMS. MODX одна из лучших. У него только одна беда — он не развивается. У нас в компании есть проекты на MODX и на Битрикс. По сравнению с последним MODX — это глоток чистого воздуха.
                          deleted
                          10 ноября 2022, 13:01
                          0
                          MODX одна из лучших
                          А какие ещё одни из лучших?)
                          Сергей Шлоков
                          11 ноября 2022, 07:32
                          0
                          Я могу сравнить только с теми, которые знаю — wordpress, joomla, битрикс. MODX проще. Но под капот лучше не заглядывать, чтоб не расстраиваться.
                          deleted
                          12 ноября 2022, 18:10
                          0
                          а в компанию случайно разработчики не требуются?)
                          Сергей Шлоков
                          13 ноября 2022, 08:00
                          0
                          Фронтов набирают. Vue/Nuxt уровня мидл и выше.
                        deleted
                        15 ноября 2022, 04:27
                        0
                        Я сейчас плотно занят Laravel
                        Я, конечно, верю, что Laravel лучше MODX, иначе бы разработчики туда не уходили) С одной стороны, есть желание его изучить, на нём работы больше и зп выше. С другой стороны, не понимаю, какие плюсы я получу, перейдя с MODX+ZoomX на Laravel или другой фреймворк. Вот для вас лично какие преимущества?
                          Сергей Шлоков
                          15 ноября 2022, 06:22
                          +3
                          Давай попробую через аналогии.
                          MODX — это поезд. Для простого сайта хватит пары вагонов. Нужно просто завести его и он поедет. И ехать он будет достаточно быстро. Если нужна дополнительная функциональность — добавляешь вагоны. Чем больше вагонов, тем тяжелее поезду. Зафиксируем: MODX — это транспорт.

                          Laravel — это завод по изготовлению транспорта. Ты можешь сам сделать любой нужный транспорт под свою задачу. Хочешь самолет, хочешь гоночную машину, хочешь тот же поезд, но с 3-мя локомотивами, блэкджеком и плюшками.
                          Соответственно нужны другие знания. Это другой уровень. Но сразу сесть и поехать ты не сможешь. Придётся попотеть и приложить все усилия, чтобы не получился велосипед на камазовских покрышках или гоночная машина с квадратными колёсами.

                          А если без аналогии. На Laravel можно написать любую CMS (в том числе и MODX). Обратное невозможно.

                          П.С. ZoomX позволяет сделать окна в поезде отрывающимися, чтобы ехать было более комфортно, чтобы дышать стало чуть свободнее. Но переделать поезд в самолёт он не может.

                          П.П.С. Лично я не вижу в ближайшем будущем предпосылок отказа от CMS. Их доля будет неуклонно падать из-за того, что появляются другие инструменты. Но полного отказа от них не будет. Это очень удобный инструмент для быстрой разработки сайтов.
                          deleted
                          15 ноября 2022, 22:34
                          0
                          А админки для Laravel готовые используете? Если да, то какие?
            Евгений
            20 апреля 2022, 11:45
            0
            Судя по стэктрейсу

            string(810) "#0 /usr/share/nginx/www/core/components/pdotools/model/pdotools/pdotools.class.php(45): pdoTools->setConfig(Array) #1 /usr/share/nginx/www/core/components/pdotools/model/pdotools/pdoparser.class.php(24): pdoTools->__construct(Object(modX)) #2 /usr/share/nginx/www/core/xpdo/xpdo.class.php(1236): pdoParser->__construct(Object(modX), Array) #3 /usr/share/nginx/www/core/model/modx/modx.class.php(719): xPDO->getService('parser', 'pdoParser', '/usr/share/ngin...') #4 /usr/share/nginx/www/core/model/modx/modelement.class.php(566): modX->getParser() #5 /usr/share/nginx/www/core/model/modx/modx.class.php(1673): modElement->getProperties() #6 /usr/share/nginx/www/core/model/modx/modx.class.php(568): modX->invokeEvent('OnMODXInit', Array) #7 /usr/share/nginx/www/index.php(50): modX->initialize('web') #8 {main}"

            после события OnMODXInit
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        25