-
Notifications
You must be signed in to change notification settings - Fork 206
OnLoadDocumentObject event dont work #1271
Comments
Change the event call to:
|
Так я пробовал с самого начала - error, it`s not an array - т.е. сам плагин возвращает непонятно в каком виде результат. Причем, при включении плагина на это событие падает любая страница (просто белая, без всяких ошибок), независимо от того, возвращал ли плагин на этом событии что-то или нет. Т.е.
убивает не только страницу с id=10, но и вообще любую. Т.е. проблема связана с самим некорректным срабатыванием этого события. |
Выдает в итоге Array([0] => Array) , вот в чем проблема у меня. Хотя $e->output($out); и непустой $out в виде массива туда из плагина отдаются. |
|
Непонятно, почему стандартный возврат $out[0] не работает в случае с этим событием |
Все равно белая страница, причем любая. Для теста делаю так - пытаюсь подменить для id=10 шаблон на шаблон главной (id=3). В итоге все три события пишутся нормально в лог, а на выходе белая страница (любая страница сайта). Вырубаю плагин - все работает, весь сайт (ну кроме этого функционала, конечно).
|
Стандартный возврат через output() только со строками возможен. C моей правкой работает твой плагин. |
Странно, у меня на версии 1.2.1.9.1.0 не работает то, что я выше написал.. |
https://github.com/modxcms/evolution/blob/develop/manager/includes/document.parser.class.inc.php#L1977-L1979 - вот это поменяй на:
Тогда и будет работать. |
Да, так то оно работает. Вопрос в том, зачем тогда эта свистопляска - если события не возвращают массивы, то надо напрямую с $modx->documentObject и оперировать, а не передавать его в $documentObject и обратно, который потом разваливается. |
Тут недавно Яма что то рефакторил еще
0a244df
От 8 марта 2017 г. в 20:56:32, webber12 (notifications@github.com) написал:
Да, так то оно работает.
Вопрос в том, зачем тогда эта свистопляска - если события не возвращают массивы, то надо напрямую с $modx->documentObject и оперировать, а не передавать его в $documentObject и обратно, который потом разваливается.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Наверное, сложилось исторически так 😄 |
Та да там много нюансов исторических
Но если по чуть чуть исправлять то рано или поздно будет все гуд ;)
Главное что б при исправлении добавлялось меньше багов чем исправлялось ;))))
Отправлено с iPhone
… 8 марта 2017 г., в 21:51, Pathologic ***@***.***> написал(а):
Вопрос в том, зачем тогда эта свистопляска - если события не возвращают массивы, то надо напрямую с $modx->documentObject и оперировать, а не передавать его в $documentObject и обратно, который потом разваливается.
Наверное, сложилось исторически так 😄
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Нет ребята, не исторически так сложилось. В старых версиях все работало нормально. Потом зачем-то поменяли на вот то что имеем сейчас с белым экраном. Я тоже у себя на сайтах где использую это событие возвращаю так как было раньше, чтобы работало. |
Напишите что на что исправляете и где поправим в ядре
просто когда каждый сам себе правит и не сообщает то и получаем что есть баг который не исправляется :(
короче лучше 1 раз исправить в Ядре чем каждый раз у себя )
От 13 марта 2017 г. в 12:28:30, Alexander (notifications@github.com) написал:
Нет ребята, не исторически так сложилось. В старых версиях все работало нормально. Потому зачем-то поменяли на вот то что имеем сейчас с белым экраном. Я тоже в себя на сайтах где использую это событие возвращаю так как было раньше, чтобы работало.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Раньше это событие просто ничего не возвращало, да и внутрь ничего не передавалось.
Т.е. по идее можно было просто через global $documentObject; получить доступ, сделать что надо и все работало. А теперь пытается вернуть массив, а из плагина вернуть можно только строку.
|
Я у себя вот так делаю, может не кошерно, но работает:
|
The text was updated successfully, but these errors were encountered: