Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

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

Статус
В этой теме нельзя размещать новые ответы.
Честь - не слово, это путь к истинне
Дек
414
297
Активный
Всем привет, столкнулся с такой проблемой с профилем на форуме не отображается информация.

Ошибка:
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
 
𝚖𝚘𝚛𝚜 𝚌𝚎𝚛𝚝𝚊, 𝚑𝚘𝚛𝚊 𝚒𝚗𝚌𝚎𝚛𝚝𝚊.
Янв
1,538
3,331
Команда форума
Администратор
Возможно, я ошибаюсь, но да, проблема по всей видимости с делением на ноль

проблемный код:
<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
 
Честь - не слово, это путь к истинне
Дек
414
297
Активный
Возможно, я ошибаюсь, но да, проблема по всей видимости с делением на ноль

проблемный код:
<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
У тебя решение правильное, это из-за деление на ноль - но как решить я сам не понимаю. Перепробовал все возможные варианты как исправить, либо я дурак и что-то не вдупляю или ещё что-то помимо деление на ноль.
 
𝚖𝚘𝚛𝚜 𝚌𝚎𝚛𝚝𝚊, 𝚑𝚘𝚛𝚊 𝚒𝚗𝚌𝚎𝚛𝚝𝚊.
Янв
1,538
3,331
Команда форума
Администратор
@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 }}" />

Может быть запуститься
 
Честь - не слово, это путь к истинне
Дек
414
297
Активный
@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 }}" />

Может быть запуститься
Да я видел этот у ИИ но вряд-ли поможет, он скрывает блок
 
𝚖𝚘𝚛𝚜 𝚌𝚎𝚛𝚝𝚊, 𝚑𝚘𝚛𝚊 𝚒𝚗𝚌𝚎𝚛𝚝𝚊.
Янв
1,538
3,331
Команда форума
Администратор
Да я видел этот у ИИ но вряд-ли поможет, он скрывает блок
самое банальное, добавить эту проверку. Тогда ничем не смогу помочь, ждем колпака, самому интересно где проблема скрывается.
 
Честь - не слово, это путь к истинне
Дек
414
297
Активный
самое банальное, добавить эту проверку. Тогда ничем не смогу помочь, ждем колпака, самому интересно где проблема скрывается.
Проблема возникает после этой строки, когда $totalRep используется в качестве делителя.
 
Честь - не слово, это путь к истинне
Дек
414
297
Активный
Нк
@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 }}" />

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

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