pdoMenu ругается на содержимое modWebLink
Обновил pdoTools до последнего,
В логах сыпется это:
И вот строчки, о которых говорится в логах
И ещё одна
Как понять, что не так?)
В логах сыпется это:
И вот строчки, о которых говорится в логах
И ещё одна
Как понять, что не так?)
Комментарии: 10
Вызов какой у Вас? И версия php?
{'pdoMenu'|snippet:[
'parents' => 4,
'tplParentRow' => 'tpl.ParentRowAjax',
'outerClass' => 'left-menu categories',
'scheme' => 'uri',
'templates' => 2,
'level' => 3,
'showLog' => false,
]}
Версия php 7.0.10
7рка строгая очень, увы, с ней знаком плохо.
Темнеменее 7ой версией пользуются в последнее время часто и с подобными проблемами вроде не сталкивались. Тут или Вы упустили важное обновление php (например 7.0.11), которое могло повлиять на данную функцию, или настройки к функциям черезмерно строгие. Боюсь, исправив данную проблему, легко посыпятся другие.
Но если уж говорить о исправлении ситуации, в фун-ию надо подставить строку, php воспринимает строчку, как массив.
Допишите выше:
Сразу оговорюсь, мое решение неправильное, но рабочее.
Хотя судя по тому, что Вы пользуетесь fenom и работаете на 7рке, опыта для такого решения у Вас должно быть достаточно
Темнеменее 7ой версией пользуются в последнее время часто и с подобными проблемами вроде не сталкивались. Тут или Вы упустили важное обновление php (например 7.0.11), которое могло повлиять на данную функцию, или настройки к функциям черезмерно строгие. Боюсь, исправив данную проблему, легко посыпятся другие.
Но если уж говорить о исправлении ситуации, в фун-ию надо подставить строку, php воспринимает строчку, как массив.
Допишите выше:
$contentRow = $row['content'] . '';
А в фрагментах, указанных Вами поменяйте $row['content'] на $contentRowСразу оговорюсь, мое решение неправильное, но рабочее.
Хотя судя по тому, что Вы пользуетесь fenom и работаете на 7рке, опыта для такого решения у Вас должно быть достаточно
Хотя можно попробовать более изящное решение…
1) На всякий случай, приложение у Вас привязано к modx.com или к modstore? В офф репозитории обновления могут отставать от modstore. Если pdoTools все же привязано к офф репозиторию, попробуйте деинсталировать и удалить, потом скачать с modstore.
2) Если у Вас в данном примере класс ресурса только «документ» (а не символическая ссылка допустим), попробуйте поставить параметр в вызов 'useWeblinkUrl ' => false.
На крайний случай можно всегда откатиться до предыдущей версии pdoTools или использовать вместо pdoMenu — pdoResources
1) На всякий случай, приложение у Вас привязано к modx.com или к modstore? В офф репозитории обновления могут отставать от modstore. Если pdoTools все же привязано к офф репозиторию, попробуйте деинсталировать и удалить, потом скачать с modstore.
2) Если у Вас в данном примере класс ресурса только «документ» (а не символическая ссылка допустим), попробуйте поставить параметр в вызов 'useWeblinkUrl ' => false.
На крайний случай можно всегда откатиться до предыдущей версии pdoTools или использовать вместо pdoMenu — pdoResources
Спасибо за отзывчивость! На самом деле всё было гораздо проще)
Пробежался по всем Документам-ссылкам, и оказалось, что в одном из них куда-то делся символ «~»
вместо [[~12]] было: [[12]]. Поправил, Теперь ошибок нет) Мда)
Пробежался по всем Документам-ссылкам, и оказалось, что в одном из них куда-то делся символ «~»
вместо [[~12]] было: [[12]]. Поправил, Теперь ошибок нет) Мда)
Функция trim() ожидает строку, а был передан массив.
Каким образом у вас массив оказался в содержимом modWebLink?
Каким образом у вас массив оказался в содержимом modWebLink?
Спасибо, Василий!
Ответ тут: #comment-69908
Ответ тут: #comment-69908
очень странно, [[12]] должно было игнорироваться в формировании ссылок и восприниматься, как вызов некешированного сниппета
Щас, ага. Это двойной массив в PHP 5.4+
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.