Ошибки при запуске caseChanger

Добрый день.
Запускаю на странице caseChanger и сначала выдавал 500 ошибку, потом, как изменил вызов на такой:
{'caseChanger' | snippet : [
	'w' => '{$pagetitle}', 
	'm' => 1, 
	'p' => 2, 
]}
стал отдавать 502 ошибку.
В логе MODX такая ошибка:
[2017-08-16 19:35:57] (ERROR @ /core/components/pdotools/model/pdotools/pdotools.class.php: 942) Unexpected token ':' in df1f39072d7baddb24aa66ad4f7cfc0a line 292, near '{«titles»:' < — there
[2017-08-16 19:35:57] (ERROR @ /core/components/pdotools/model/pdotools/pdotools.class.php: 942) Unexpected token ':' in df1f39072d7baddb24aa66ad4f7cfc0a line 292, near '{«titles»:' < — there
[2017-08-16 19:35:57] (ERROR @ /core/components/pdotools/model/pdotools/pdotools.class.php: 942) Unexpected token ':' in 81488ae7cdeb131c06b0e91f9f64dc9c line 292, near '{«titles»:' < — there
Подскажите, как исправить
Андрей
16 августа 2017, 16:40
modx.pro
1 852
0

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

Алексей Ерохин
17 августа 2017, 12:08
0
У вас ошибка fenom-синтаксиса из-за javascript на странице. Либо оберните js в теги {ignore}{/ignore}, либо поставьте пробелы после открывающей { и перед закрывающей } в самом js-коде
    Андрей
    17 августа 2017, 12:22
    0
    А разве так может быть только с одним из сниппетов? Ведь все остальное работает как положено, а как вызываю caseChanger, то все крашится. Причем даже не важно вызываю его fenom синтаксисом или обычным.
      Алексей Ерохин
      17 августа 2017, 12:34
      0
      Проверьте ошибки сервера.
      У меня компонент вообще не работает, потому что сервис, который он использует, не доступен. (404 ошибку отдает)
        Андрей
        17 августа 2017, 12:53
        0
        Да, походу компонент не работает, сейчас проверил на другом сайте — падежи не меняются. Может быть разработчик компонента поможет с этим вопросом?
    Максим Кузнецов
    17 августа 2017, 12:12
    +1
    {'caseChanger' | snippet : [
    	'w' => $pagetitle, 
    	'm' => 1, 
    	'p' => 2, 
    ]}
    — не нужно открывать фигурные скобки повторно, вы итак уже внутри синтаксиса фенома.
      Алексей Шумаев
      24 августа 2017, 13:28
      0
      Можно так ))):

      {$_modx->runSnippet('extScripts',['code'=>'Код внешнего скрипта, например из ресурса или системной настройки'])}

      Сниппет:

      $search = array('{', '}');
      $replace = array('{ ', ' }');
      $out = str_replace($search,$replace,$code);
      return $out;

      Так можно избежать ошибок Fenom во внешних скриптах и подобных случаях…
        Максим
        25 августа 2017, 17:28
        +1
        Не хочу создавать отдельную тему для проблемы. Но перестал работать сниппет. Пришлось заменить ссылку на морфер на «ws3.morpher.ru/russian/declension?s=», и все заработало.
          Андрей
          25 августа 2017, 17:51
          0
          Спасибо, класс.
            Alex
            05 сентября 2017, 07:42
            0
            Добрый день, это все что вы меняли?
              Максим
              05 сентября 2017, 09:18
              0
              Привет, да, только это. По крайней мере, не помню, чтобы менял там что-либо еще.
                Андрей
                05 сентября 2017, 09:20
                0
                Да, я также заменил только ссылку и все работает.
              MODXyou
              14 июня 2019, 19:08
              0
              Добрый день! Ребят, подскажите, отказывается работать на php7 :((( выдает ошибку:

              Fatal error: Uncaught Error: Call to a member function __toString() on null in /var/www/sites/data/www/site.ru/core/cache/includes/elements/modsnippet/87.include.cache.php:56 Stack trace: #0 /var/www/sites/data/www/site.ru/core/model/modx/modscript.class.php(76): include() #1 /var/www/sites/data/www/site.ru/core/model/modx/modx.class.php(1859): modScript->process(NULL) #2 /var/www/sites/data/www/site.ru/core/model/modx/filters/modoutputfilter.class.php(676): modX->runSnippet('caseChanger', Array) #3 /var/www/sites/data/www/site.ru/core/model/modx/modparser.class.php(942): modOutputFilter->filter(Object(pdoTag)) #4 /var/www/sites/data/www/site.ru/core/components/pdotools/model/pdotools/pdoparser.class.php(305): modTag->filterOutput() #5 /var/www/sites/data/www/site.ru/core/components/pdotools/model/pdotools/pdoparser.class.php(261): pdoTag->process() #6 /var/www/sites/data/www/site.ru/core/model/modx/modparser.class.php(251): pdoParser->processTag(Object(pdoTag), fals in /var/www/sites/data/www/site.ru/core/cache/includes/elements/modsnippet/87.include.cache.php on line 56

              Как это можно исправить???? СПАСИБО
                Сергей
                21 июня 2019, 09:23
                0
                Попробуйте debug=1 передать, что покажет?
                  MODXyou
                  21 июня 2019, 13:55
                  0
                  Так страница вообще не загружается сразу выдает ошибку…
                  А debug=1 куда добавить?
                Сергей Сергеевич
                23 августа 2019, 15:02
                0
                Здравствуйте.
                Сниппет работал долгое время, и сегодня перестал. При этой конструкции — [[caseChanger? &w=`[[*pagetitle]]` &m=`1` &p=`2`]] белая страница. Без параметра падежа страница загружается — [[caseChanger? &w=`[[*pagetitle]]` &m=`1`]] но результата вывода нет.
                  Denis
                  06 ноября 2019, 18:46
                  0
                  К морферу теперь другой адрес.
                  В сниппете вот так должно быть:
                  $xml = simplexml_load_file('https://ws3.morpher.ru/russian/declension?s='. $w);
                    Людмила
                    18 февраля 2020, 12:32
                    0
                    Добрый день! Подскажите, где менять ссылку на морфер?

                    Нашла, простите)) Всё заработало!
                  Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                  17