Решено Модификации member_view

Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
Статус
В этой теме нельзя размещать новые ответы.
Пользователь
Регистрация
28 Дек 2023
Сообщения
137
Всем привет, столкнулся с такой проблемой с профилем на форуме не отображается информация.

Ошибка:
DivisionByZeroError: Template public:member_view error: Division by zero internal_data/code_cache/templates/l1/s24/public/member_view.php:500
Generated by: Savaronax Sep 22, 2025 at 8:57 PM


Stack trace
#0 src/XF/Template/Templater.php(1654): XF\Template\Templater->{closure}(Object(TC\RemoveMemberTooltip\XF\Template\Templater), Array, NULL)
#1 src/XF/Template/Template.php(24): XF\Template\Templater->renderTemplate('member_view', Array)
#2 src/XF/Mvc/Renderer/Html.php(50): XF\Template\Template->render()
#3 src/XF/Mvc/Dispatcher.php(460): XF\Mvc\Renderer\Html->renderView('XF:Member\\View', 'public:member_v...', Array)
#4 src/XF/Mvc/Dispatcher.php(442): XF\Mvc\Dispatcher->renderView(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#5 src/XF/Mvc/Dispatcher.php(402): XF\Mvc\Dispatcher->renderReply(Object(XF\Mvc\Renderer\Html), Object(XF\Mvc\Reply\View))
#6 src/XF/Mvc/Dispatcher.php(60): XF\Mvc\Dispatcher->render(Object(XF\Mvc\Reply\View), 'html')
#7 src/XF/App.php(2487): XF\Mvc\Dispatcher->run()
#8 src/XF.php(524): XF\App->run()
#9 index.php(20): XF::runApp('XF\\Pub\\App')
#10 {main}

Request state
array(4) {
  ["url"] => string(11) "/Savaronax/"
  ["referrer"] => string(25) "https://sitelink.ru/ionc/"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}

Отключение указанного "RemoveMemberTooltip" не решает проблему, вылезают другие плагины, которые участвуют в модификации шаблона member_view. Отключение всех модификаций этого шаблона проблему так же не решает.
При включении режима дева и попытке посмотреть профиль вылезает:

Ошибка 2:
"Template Compilation Error public:member_view - Division by zero in /home/b/userlogin/public_html/internal_data/code_cache/templates/l1/s24/public/member_view.php:500"

Впервые с таким сталкиваюсь, без понятия, что с этим чудом делать. Даже поглядеть из-за ошибок на форум не получается толком. Считаю что проблема в самом member_view а иммено с делением на ноль, но виновника не могу найти
1000416482.jpg
 
Пользователь
Регистрация
28 Дек 2023
Сообщения
137
Пользователь
Регистрация
28 Дек 2023
Сообщения
137
𝚖𝚘𝚛𝚜 𝚌𝚎𝚛𝚝𝚊, 𝚑𝚘𝚛𝚊 𝚒𝚗𝚌𝚎𝚛𝚝𝚊.
Команда форума
Администратор
Регистрация
21 Янв 2023
Сообщения
1,437
Возможно, я ошибаюсь, но да, проблема по всей видимости с делением на ноль

проблемный код:
<xf:set var="$totalRep" value="{{ $user.xfa_rs_positives + $user.xfa_rs_neutrals + $user.xfa_rs_negatives }}" />
- по моему мнению, с этим кодом что-то не так. (325 строка)

если у пользователя fb_positive = 0, fb_neutral = 0, fb_negative = 0, то $totalFeedback = 0, и происходит деление на ноль, из-за чего, ничего и не отображается (?)

я не уверен в своем решение, поэтому, позовем колпака, он лучше разбирается в xf. @Kolpak
 
Пользователь
Регистрация
28 Дек 2023
Сообщения
137
Возможно, я ошибаюсь, но да, проблема по всей видимости с делением на ноль

проблемный код:
<xf:set var="$totalRep" value="{{ $user.xfa_rs_positives + $user.xfa_rs_neutrals + $user.xfa_rs_negatives }}" />
- по моему мнению, с этим кодом что-то не так. (325 строка)

если у пользователя fb_positive = 0, fb_neutral = 0, fb_negative = 0, то $totalFeedback = 0, и происходит деление на ноль, из-за чего, ничего и не отображается (?)

я не уверен в своем решение, поэтому, позовем колпака, он лучше разбирается в xf. @Kolpak
У тебя решение правильное, это из-за деление на ноль - но как решить я сам не понимаю. Перепробовал все возможные варианты как исправить, либо я дурак и что-то не вдупляю или ещё что-то помимо деление на ноль.
 
𝚖𝚘𝚛𝚜 𝚌𝚎𝚛𝚝𝚊, 𝚑𝚘𝚛𝚊 𝚒𝚗𝚌𝚎𝚛𝚝𝚊.
Команда форума
Администратор
Регистрация
21 Янв 2023
Сообщения
1,437
@Maksim_Persona,
Попробуй эти 3 строчки;
проблемный код:
<xf:set var="$positivePercentage" value="{{ ($feedback.user.fb_positive / $totalFeedback) * 100 }}" />
<xf:set var="$neutralPercentage" value="{{ ($feedback.user.fb_neutral / $totalFeedback) * 100 }}" />
<xf:set var="$negativePercentage" value="{{ ($feedback.user.fb_negative / $totalFeedback) * 100 }}" />

на этот;
рабочий код:
<xf:set var="$positivePercentage" value="{{ ($totalFeedback > 0) ? ($feedback.user.fb_positive / $totalFeedback) * 100 : 0 }}" />
<xf:set var="$neutralPercentage" value="{{ ($totalFeedback > 0) ? ($feedback.user.fb_neutral / $totalFeedback) * 100 : 0 }}" />
<xf:set var="$negativePercentage" value="{{ ($totalFeedback > 0) ? ($feedback.user.fb_negative / $totalFeedback) * 100 : 0 }}" />

Может быть запуститься
 
Пользователь
Регистрация
28 Дек 2023
Сообщения
137
@Maksim_Persona,
Попробуй эти 3 строчки;
проблемный код:
<xf:set var="$positivePercentage" value="{{ ($feedback.user.fb_positive / $totalFeedback) * 100 }}" />
<xf:set var="$neutralPercentage" value="{{ ($feedback.user.fb_neutral / $totalFeedback) * 100 }}" />
<xf:set var="$negativePercentage" value="{{ ($feedback.user.fb_negative / $totalFeedback) * 100 }}" />

на этот;
рабочий код:
<xf:set var="$positivePercentage" value="{{ ($totalFeedback > 0) ? ($feedback.user.fb_positive / $totalFeedback) * 100 : 0 }}" />
<xf:set var="$neutralPercentage" value="{{ ($totalFeedback > 0) ? ($feedback.user.fb_neutral / $totalFeedback) * 100 : 0 }}" />
<xf:set var="$negativePercentage" value="{{ ($totalFeedback > 0) ? ($feedback.user.fb_negative / $totalFeedback) * 100 : 0 }}" />

Может быть запуститься
Да я видел этот у ИИ но вряд-ли поможет, он скрывает блок
 
𝚖𝚘𝚛𝚜 𝚌𝚎𝚛𝚝𝚊, 𝚑𝚘𝚛𝚊 𝚒𝚗𝚌𝚎𝚛𝚝𝚊.
Команда форума
Администратор
Регистрация
21 Янв 2023
Сообщения
1,437
Да я видел этот у ИИ но вряд-ли поможет, он скрывает блок
самое банальное, добавить эту проверку. Тогда ничем не смогу помочь, ждем колпака, самому интересно где проблема скрывается.
 
Пользователь
Регистрация
28 Дек 2023
Сообщения
137
самое банальное, добавить эту проверку. Тогда ничем не смогу помочь, ждем колпака, самому интересно где проблема скрывается.
Проблема возникает после этой строки, когда $totalRep используется в качестве делителя.
 
Пользователь
Регистрация
28 Дек 2023
Сообщения
137
Нк
@Maksim_Persona,
Попробуй эти 3 строчки;
проблемный код:
<xf:set var="$positivePercentage" value="{{ ($feedback.user.fb_positive / $totalFeedback) * 100 }}" />
<xf:set var="$neutralPercentage" value="{{ ($feedback.user.fb_neutral / $totalFeedback) * 100 }}" />
<xf:set var="$negativePercentage" value="{{ ($feedback.user.fb_negative / $totalFeedback) * 100 }}" />

на этот;
рабочий код:
<xf:set var="$positivePercentage" value="{{ ($totalFeedback > 0) ? ($feedback.user.fb_positive / $totalFeedback) * 100 : 0 }}" />
<xf:set var="$neutralPercentage" value="{{ ($totalFeedback > 0) ? ($feedback.user.fb_neutral / $totalFeedback) * 100 : 0 }}" />
<xf:set var="$negativePercentage" value="{{ ($totalFeedback > 0) ? ($feedback.user.fb_negative / $totalFeedback) * 100 : 0 }}" />

Может быть запуститьсь

Не работает увы
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху