Не правильно кэшируются лексиконы Новый


Всем привет. Сталкивался ли кто-нибудь с такой проблемой как не правильное кэширование лексиконов?
Есть свой компонент. Очищаю кэш, если первая загрузка страницы происходит с фронт-энда, то кэш лексиконов генерируется не правильно — не из моего файла с лексиконами, какой-то общий файл. Если же первая загрузка страницы с админки, то кэш генерируется правильно.

Понимаю, что что-то не так в моем компоненте. Но что именно понять не могу, так как не понимаю где начинается процесс кеширования лексиконов.
12 октября 2016, 13:35    Николай Загумённов   
0    390 -1

Комментарии (6)

  1. Николай Загумённов 12 октября 2016, 13:46 # 0
    Очень интересен комментарий человека поставившего минус =)
    1. Николай Загумённов 12 октября 2016, 13:48 # 0
      Случайно добавил вопрос не в ту категорию. Исправил, моя ошибка.
    2. Сергей Шлоков 12 октября 2016, 14:50 # +1
      Обычно лексикон вызывается к классе компонента. Вот пример из modExtra.
      1. Николай Загумённов 13 октября 2016, 11:54 # 0
        Да, это я знаю и у меня также.

        Сегодня лог MODX порадовал меня ошибками, связанными с моими лексиконами.

        PHP warning: unlink(/var/www/******/data/www/****.**/core/cache/lexicon_topics/lexicon/en/***/default.cache.php): Permission denied
        PHP warning: closedir(): 25 is not a valid Directory resource
        PHP warning: unlink(/var/www/******/data/www/****.**/core/cache/lexicon_topics/lexicon/ru/***/default.cache.php): Permission denied
        PHP warning: closedir(): 31 is not a valid Directory resource
        
        Никода не сталкивался с таким.
        1. Павел Гвоздь 13 октября 2016, 13:53 # 0
          Из ошибки ясно, что сервер неправильно настроен. Закешенные файлы не может открыть из-за нехватки прав.
        2. Николай Загумённов 14 декабря 2016, 23:08 # 0
          Так и не разобрался с этой проблемой, решил таким костылем: плагин на событие OnMODXInit

          <?php
          switch ($modx->event->name) {
              case 'OnMODXInit':
                  // $modx->getService('lexicon','modLexicon');
                  $modx->lexicon->load('tournaments:default');
                  break;
          }
          
          Еще этот вариант помог мне выводить лексиконы в параметре tpl, сниппета pdoResources, выводящиеся через pdoPage. Когда листаешь страницу, ajax пагинация не подгружает кастомные лексиконы.
          Вы должны авторизоваться, чтобы оставлять комментарии.