XF 2.1 Ошибки сыпет (переодически)

Версия XenForo
2.1.7

Storyteller

Проверенные
Сообщения
140
Реакции
23
Баллы
720
В общем 2 раза в день может 3 начинает ошибки сыпать
Код:
ErrorException: Template error: Method canViewDonationCampaigns is not callable on the given object (XF\Entity\User) src/XF/Template/Templater.php:994
Сгенерирована пользователем: Legenda 2 Мар 2020 в 18:46
Трассировка стека
#0 [internal function]: XF\Template\Templater->handleTemplateError(512, 'Method canViewD...', '/home/admin/web...', 994, Array)
#1 src/XF/Template/Templater.php(994): trigger_error('Method canViewD...', 512)
#2 internal_data/code_cache/navigation_cache.php(241): XF\Template\Templater->method(Object(XF\Entity\User), 'canViewDonation...', Array)
#3 src/XF/Template/Templater.php(6649): XF\Pub\App->{closure}(Object(XF\Template\Templater), 'forums', Array)
#4 src/XF/Pub/App.php(560): XF\Template\Templater->renderNavigationClosure(Object(Closure), 'forums', Array)
#5 src/XF/Pub/App.php(513): XF\Pub\App->getNavigation(Array, 'forums')
#6 src/XF/App.php(1995): XF\Pub\App->renderPageHtml('








   
   
   
...', Array, Object(XF\Mvc\Reply\View), Object(XF\Mvc\Renderer\Html))
#7 src/XF/Mvc/Dispatcher.php(402): XF\App->renderPage('
одна из тех
 

Вложения

  • joxi_screenshot_1583171362912.png
    joxi_screenshot_1583171362912.png
    134 KB · Просмотры: 32
Последнее редактирование:
6.11. Запрещено публиковать исходный код без BB-кода — CODE, а так же в виде изображения (то есть, не скриншотами, не фотографиями или другого рода изображениями), под исключения попадают случаи, когда Вас попросили предоставить какую-то инфомацию скриншотом или проблема касается визуального оформления, где текстом не всегда возможно пояснить.

6.1. Не создавайте темы с малопонятным содержанием. Темы, озаглавленные "А как так?", "Вопрос от меня", "Завтыкайте фишку", "Нужна помощь!", "Help", "Помогите", "Срочно!", "Журнал ошибки сервера", "Ошибки сервера", будут перемещаться в корзину.
 
[TH] Donate стоит под актуальную версию и включен? Выглядит так что вы выключили этот аддон, но вы ещё где-то ссылаетесь на функцию доната которая не работает.
с донатом все ок

Код:
Error: Call to undefined method XF\Entity\User::canViewStatisticsPro() src/addons/BS/FirstStatisticsPro/Widget/StatisticPro.php:11
Сгенерирована пользователем: Неизвестная учётная запись 2 Мар 2020 в 19:13
Трассировка стека
#0 internal_data/code_cache/widgets/_18_statistic_pro.php(5): BS\FirstStatisticsPro\Widget\StatisticPro->render()
#1 src/XF/Template/Templater.php(6673): XF\SubContainer\Widget->{closure}(Object(XF\Template\Templater), Array, Array)
#2 src/XF/SubContainer/Widget.php(168): XF\Template\Templater->renderWidgetClosure(Object(Closure), Array)
#3 src/XF/Template/Templater.php(1663): XF\SubContainer\Widget->getCompiledWidget(Array, Array)
#4 internal_data/code_cache/templates/l2/s3/public/PAGE_CONTAINER.php(1047): XF\Template\Templater->renderWidget('statistic_pro', Array, Array)
#5 src/XF/Template/Templater.php(1315): XF\Template\Templater->{closure}(Object(XF\Template\Templater), Array)
#6 src/XF/Pub/App.php(547): XF\Template\Templater->renderTemplate('PAGE_CONTAINER', Array)
#7 src/XF/App.php(1995): XF\Pub\App->renderPageHtml('









    
    
    ...', Array, Object(XF\Mvc\Reply\View), Object(XF\Mvc\Renderer\Html))
#8 src/XF/Mvc/Dispatcher.php(402): XF\App->renderPage('
 
В общем это баг [TH] Donate, который уже решили в официальных релизах.

Задам тупой вопрос. На этом сайте размещен FSP только под 2.0 если мне память не изменяет и для 2.1 он идет только с танцами с бубнами. Вы используете официальные релизы или качаете отсюда несмотря на совместимость?
 
Покупается у разработчика. Выложенная здесь версия "под 2.0" была выложена им же, поскольку была слита в паблик.
Официальный релиз получается путём приобретения аддона.
 
Покупается у разработчика. Выложенная здесь версия "под 2.0" была выложена им же, поскольку была слита в паблик.
Официальный релиз получается путём приобретения аддона.
Еп. Именно так. Просто я до сих пор не понимаю чего хочет ТС. У него есть проблемы с [TH] Donate, которые судя по всему . После этого он показывает стек ошибки FSP. И здесь у меня уже начинают закрадываться подозрения, что ТС просто взял с этого сайта FSP и [TH] Donate отсюда, увидел ошибки и даже не захотел особо разбираться хотябы методом тыка.
 
Еп. Именно так. Просто я до сих пор не понимаю чего хочет ТС. У него есть проблемы с [TH] Donate, которые судя по всему . После этого он показывает стек ошибки FSP. И здесь у меня уже начинают закрадываться подозрения, что ТС просто взял с этого сайта FSP и [TH] Donate отсюда, увидел ошибки и даже не захотел особо разбираться хотябы методом тыка.
я понимаю просто они не постоянно падают. а время от времени. по этому и спрашеваю
 
я понимаю просто они не постоянно падают. а время от времени. по этому и спрашеваю

Они обе падают когда вы пытаетесь что-то конкретное отрендерить.
В случае с FSP когда вы подгружаете сам виджет то он обращается к методу canViewStatisticsPro() в XF\Entity\User, чтобы проверить может ли юзер просматривать виджет, но этого метода там нет поэтому падает ошибка.

В случае с другим плагином происходит аналогичная вещь только для метода canViewDonationCampaigns() - может ли юзер просматривать сборы донатов.

Соответственно падают они когда пользователь пытается просмотреть эти две вещи.

Выглядит это так в целом будто сами плагины отключены, но вы к ним обращаетесь.
Но в первую очередь стоит проверить совместимость. Если стоят версии, которые сделаны для XF 2.0 стоит перейти к более новым которые умело работают с XF 2.1

Если это не поможет (а это должно помочь), то проверьте расширения класса XF/Entity/User обоими плагинами. Они должны расширятся соответствующими классами из плагинов и содержать в себе эти неопределенные методы.
 
Последнее редактирование:
Это уже сверх бреда пошло с такими советами и бредом. То где то нужно танцы с бубнами или ещё чего то. Теперь это баг дополнения, а дальше что? Если не знаешь не лезь.
Я уже подробно описал откуда возникает такая ошибка и что делать
А конкретно
Как и тут
это ещё не говорит о кривом методе. Это проблема возможна при обновление/установки плагинов и не только.
Проблема ещё в том, что все оставляют приоритет по умолчанию в виде 10.
С официальными дополнениями люди ловят такие же приколы
И таких проблем сотни и тысячи, некоторые выскакивают при обновление/удаление/установке допоплнения т.к ошибка при проектирование была сделана и существует досих пор. И просто при работающем форуме может вызываться
И объяснение от разработчиков:

И полезный комментарий


И так же полезный комментарий к изучению

Тут 3 дополнения направленные на 1 и тоже и помимо этого более чем уверен с приоритетом 10, и вот тот же порядок установки их может играть роль для отображения. Что бы говорить о корявом методе, нужно изучить помимо этого установленные дополнения и отлаживать почему возникает именно эта проблема. Потому что может этот класс вызывается раньше определенного. А может из-за другого который выполняется позже/раньше и вызывает ошибку.
Причём может на одинаковом борде с одинаковыми установленными плагинами не возникать ошибки, а на втором возникать.
Частично решает проблему с этим обработчики событий, но и там так же не рекомендовано ставить 10. К тому же не с проста было написано в стандартах ресурсов:
Where a specific code event exists, a listener should be created to utilise it rather than a full class extension.
 
Последнее редактирование:
Ну ты же у нас шарящий ведь так, который не может элементарного не может сделать.
Ну я вообще изначально веб-диз и версталщик который просто увлекся CMS и прыгнул в пху. Что-то мне знакомо, что-то нет. Поэтому я пока все осматриваю, все пробую - только так можно научится, а что непонятно спрашиваю. А шарющим никогда себя не считал и здесь уж точно сам себя так не называл. А по поводу "знаю как работает". Ну да у меня есть представление в виде некого понимания алгоритмики и я писал валидатор с помощью реглуярки для инпутов форм на леддинг сайтах, но там и речи не шло о ООП и MVC структуре.

Ну это уже сверх бреда пошло с такими советами и бредом. То где то нужно танцы с бубнами или ещё чего то. Теперь это баг дополнения, а дальше что? Если не знаешь не лезь.

Загуглил стек. Зашёл на гит разработчиков, увидел ответ, ответил также. Пошёл ресерчить дальше, увидел что эта же проблема засветилась офф. сайте и потом выложили патч, где была как раз исправлена ошибка с редактированием и изменение campaign data. Подумал, что это фикс должен был убрать и эту ошибку. Подумал, что помог ТСу советом обновится. Не ожидал, что ксен может выбрасывать так ошибки. В итоге оказался неправ. Как итог, ТС (Storyteller) извини за бред, что сказать ещё.

Но в стеке FSP четко сказано
Call to undefined method XF\Entity\User::canViewStatisticsPro() src/addons/BS/FirstStatisticsPro/Widget/StatisticPro.php:11
 
Последнее редактирование:
Но в стеке FSP четко сказано
Call to undefined method XF\Entity\User::canViewStatisticsPro() src/addons/BS/FirstStatisticsPro/Widget/StatisticPro.php:11
Опять такия посмотрев пост станет ясно. Что может вызывать последние установленные дополнения, а может конфликт который по стеку выводит не совсем корректно. Что так же сказано.
Generally the class you see in a stack trace might not be the class that is causing the problem.

Because of the XF class proxy system you’ll generally just see the extension class of the last extension.

It does make debugging faulty extensions difficult but as far as I can tell from your example above, as long as that extension is working on its own, it doesn’t appear to be written in a way that would cause issues to other add-ons.

Based on the error, if I had to hazard a guess, then it could be that the add-on which is calling that method is disabled, but the navigation cache file is still calling it for some reason.
Проще отключать по 1 дополнению и смотреть будет ли проявляться. Либо вспоминать из последних установленных плагинов и попытаться для начала их отключить.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу