Ломается Fenom
Всем привет. Прошу помочь опытным людям, так как мои знание в этой проблеме равны 0.
У меня в архиве лежал сайт, который делали еще в 2019 начале 2020 и вот недавно решил его оживить, да и посмотреть на него из любопытства. В итоге понял, что этот сайт можно еще пустить в ход, если переделать пару моментов.
Решил проверить с самого начала с регистрации и тут меня ожидал не большой сюрприз, она изначально не работала. Я подогнал правильные ресурсы и параметры и вроде бы все хорошо, зарегистрировался и пришло письмо. После перехода по ссылке в письме
Выглядит так
<p> <а href="http://mmfc24.ru/podtverdit-registracziyu?lp=ZnJ0S2o2OUJYaA&lu=KzcoOTk0KSAwMDUtMDktNzc"> http://mmfc24.ru/podtverdit-registracziyu?lp=ZnJ0S2o2OUJYaA&lu=KzcoOTk0KSAwMDUtMDktNzc </а> </p>
на страницу подтверждения регистрации и у меня стоит переброс на главную страницу слетел FENOM.
Сама ошибка находится в меню и сам код где происходит ошибка прилегаю.
Сама ошибка

Код меню где и происходит ошибка, а именно с этой строчки {set $active = 0 | user: 'extended.sertificates_und' | print: false} {var $active = $active|split:'zzZzz'}{set $split_kol = $active|length}
У меня в архиве лежал сайт, который делали еще в 2019 начале 2020 и вот недавно решил его оживить, да и посмотреть на него из любопытства. В итоге понял, что этот сайт можно еще пустить в ход, если переделать пару моментов.
Решил проверить с самого начала с регистрации и тут меня ожидал не большой сюрприз, она изначально не работала. Я подогнал правильные ресурсы и параметры и вроде бы все хорошо, зарегистрировался и пришло письмо. После перехода по ссылке в письме
Выглядит так
<p> <а href="http://mmfc24.ru/podtverdit-registracziyu?lp=ZnJ0S2o2OUJYaA&lu=KzcoOTk0KSAwMDUtMDktNzc"> http://mmfc24.ru/podtverdit-registracziyu?lp=ZnJ0S2o2OUJYaA&lu=KzcoOTk0KSAwMDUtMDktNzc </а> </p>
на страницу подтверждения регистрации и у меня стоит переброс на главную страницу слетел FENOM.
Сама ошибка находится в меню и сам код где происходит ошибка прилегаю.
Сама ошибка
Fatal error: Uncaught Error: Call to a member function toArray() on null in G:\OpenServer\domains\mmfc24.ru\core\components\pdotools\model\pdotools\_fenom.php:387 Stack trace: #0 G:\OpenServer\domains\mmfc24.ru\core\components\pdotools\vendor\fenom\fenom\src\Fenom\Template.php(487): eval()'d code(219): FenomX->{closure}(67, 'extended.sertif...') #1 G:\OpenServer\domains\mmfc24.ru\core\components\pdotools\vendor\fenom\fenom\src\Fenom\Render.php(215): Fenom\Template->{closure}(Array, Object(Fenom\Template)) #2 G:\OpenServer\domains\mmfc24.ru\core\components\pdotools\vendor\fenom\fenom\src\Fenom\Render.php(215): Closure->__invoke(Array, Object(Fenom\Template)) #3 G:\OpenServer\domains\mmfc24.ru\core\components\pdotools\vendor\fenom\fenom\src\Fenom\Template.php(492): Fenom\Render->display(Array) #4 G:\OpenServer\domains\mmfc24.ru\core\components\pdotools\vendor\fenom\fenom\src\Fenom\Render.php(229): Fenom\Template->display(Array) #5 G:\OpenServer\domains\mmfc24.ru\core\components\pdotools\model\pdotools\pdotools.class.php(58 in G:\OpenServer\domains\mmfc24.ru\core\components\pdotools\model\pdotools\_fenom.php on line 387Сама строчка _fenom.php on line 387

Код меню где и происходит ошибка, а именно с этой строчки {set $active = 0 | user: 'extended.sertificates_und' | print: false} {var $active = $active|split:'zzZzz'}{set $split_kol = $active|length}
<header id="header-container" class="fullwidth">
<div id="header">
<div class="container">
<div class="left-side">
<div id="logo">
<a href="[[++site_url]]"><img src="/anakin/templates/inc/img/logo.png" alt="" style=" max-width: 150px; height: auto;"></a>
</div>
<nav id="navigation">
<ul id="responsive">
[[!pdoMenu?
&parents=`0`
&where=`{ "parent:IN":[0,479,115,685,446]}`
&tplOuter=`@INLINE [[+wrapper]]`
&tpl=`@INLINE
<li><a href="[[+uri]]" class="[[+classnames]]">[[+menutitle]]</a>[[+wrapper]]</li>`
&tplParentRow=`@INLINE
<li><a href="[[+uri]]" class="[[+classnames]]">[[+menutitle]]</a>
<ul class="dropdown-nav">
[[+wrapper]]
</ul>
</li>`
&hereClass=`current`
]]
</ul>
</nav>
<div class="clearfix"></div>
</div>
<div class="right-side">
[[!+modx.user.id:isloggedin:is=`1`:then=`
<div class="header-widget hide-on-mobile">
<div class="header-notifications">
<div class="header-notifications-trigger">
{set $active = 0 | user : 'extended.sertificates_und' | print : false} {var $active = $active|split:'zzZzz'}{set $split_kol = $active|length}
<a href="#"><i class="icon-feather-bell"></i><span id="undived_span">0</span></a>
</div>
<div class="header-notifications-dropdown">
<div class="header-notifications-headline">
<h4>Уведомления</h4>
</div>
<div class="header-notifications-content">
<div class="header-notifications-scroll" data-simplebar="init" style="height: 270px;">
<div class="simplebar-track vertical" style="visibility: visible;">
<div class="simplebar-scrollbar" style="visibility: visible; top: 0px; height: 192px;"></div>
</div>
<div class="simplebar-track horizontal" style="visibility: visible;">
<div class="simplebar-scrollbar" style="visibility: visible; left: 0px; width: 25px;"></div>
</div>
<div class="simplebar-scroll-content" style="padding-right: 17px; margin-bottom: -34px;">
<div class="simplebar-content" style="padding-bottom: 17px; margin-right: -17px;">
<ul id="undived">
{foreach $active as $act first=$first}
{var $new2 = $act|split:'|||'}
{if !$first}
{var $new2 = $act|split:'|||'}
{if $new2.5|dateto_end <= 60}
<li>
<a href="[[~19]]">
<span class="notification-icon"><i class=" icon-material-outline-gavel"></i></span>
<span class="notification-text">
Сертификат {$new2.0} действителен до <span class="color">{$new2.5}</span>
<b>Осталось: {if $new2.5|dateto_end > 0} {$new2.5|dateto_end} дней {else} <span class="rederror">Просрочен</span>{/if}</b>
</span>
</a>
</li>
{/if}
{/if}
{/foreach}
{set $active = 0 | user : 'extended.document_undval' | print : false}
{var $active = $active|split:'|||'}
{if $active.3? && $active.3|dateto_end <= 60}
<li>
<a href="[[~19]]">
<span class="notification-icon"><i class=" icon-material-outline-gavel"></i></span>
<span class="notification-text">
Гражданский паспорт действителен до <span class="color">{$active.3}</span>
<b>Осталось: {if $active.3|dateto_end > 0} {$active.3|dateto_end} дней {else} <span class="rederror">Просрочен</span>{/if}</b>
</span>
</a>
</li>
{else}
{/if}
{if $active.7? && $active.7|dateto_end <= 60}
<li>
<a href="[[~19]]">
<span class="notification-icon"><i class=" icon-material-outline-gavel"></i></span>
<span class="notification-text">
Загран паспорт действителен до <span class="color">{$active.7}</span>
<b>Осталось: {if $active.7|dateto_end > 0} {$active.7|dateto_end} дней {else} <span class="rederror">Просрочен</span>{/if}</b>
</span>
</a>
</li>
{else}
{/if}
{if $active.11? && $active.11|dateto_end <= 60}
<li>
<a href="[[~19]]">
<span class="notification-icon"><i class=" icon-material-outline-gavel"></i></span>
<span class="notification-text">
УЛМ действителен до <span class="color">{$active.11}</span>
<b>Осталось: {if $active.11|dateto_end > 0} {$active.11|dateto_end} дней {else} <span class="rederror">Просрочен</span>{/if}</b>
</span>
</a>
</li>
{else}
{/if}
{if $active.15? && $active.15|dateto_end < 60}
<li>
<a href="[[~19]]">
<span class="notification-icon"><i class=" icon-material-outline-gavel"></i></span>
<span class="notification-text">
Книжка моряка действителен до <span class="color">{$active.15}</span>
<b>Осталось: {if $active.15|dateto_end > 0} {$active.15|dateto_end} дней {else} <span class="rederror">Просрочен</span>{/if}</b>
</span>
</a>
</li>
{else}
{/if}
{if $active.19? && $active.19|dateto_end <= 60}
<li>
<a href="[[~19]]">
<span class="notification-icon"><i class=" icon-material-outline-gavel"></i></span>
<span class="notification-text">
Медкомиссия действителен до <span class="color">{$active.19}</span>
<b>Осталось: {if $active.19|dateto_end > 0} {$active.19|dateto_end} дней {else} <span class="rederror">Просрочен</span>{/if}</b>
</span>
</a>
</li>
{else}
{/if}
{if $active.23? && $active.23|dateto_end <= 60}
<li>
<a href="[[~19]]">
<span class="notification-icon"><i class=" icon-material-outline-gavel"></i></span>
<span class="notification-text">
Медицинский сертификат действителен до <span class="color">{$active.23}</span>
<b>Осталось: {if $active.23|dateto_end > 0} {$active.23|dateto_end} дней {else} <span class="rederror">Просрочен</span>{/if}</b>
</span>
</a>
</li>
{else}
{/if}
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
`:else=``]]
[[!+modx.user.id:isloggedin:is=`1`:then=`
<div class="header-widget hide-on-mobile">
<div class="header-notifications-trigger">
[[!msMiniCart?
&tpl=`msMiniCart`
]]
</div>
</div>
`:else=``]]
<div class="header-widget">
<div class="header-notifications user-menu">
<div class="header-notifications-trigger">
<a href="#">
<div class="user-avatar status-online">
{if '' | isloggedin : 'web'}
{if $_modx->user.photo is empty}
<img src="master_yoda/assets/images/user-avatar-placeholder.png" alt="Аватар">
{else}
<img src="{$_modx->user.photo}" alt="Аватар">
{/if}
{else}
<img src="master_yoda/assets/images/user-avatar-placeholder.png" alt="Аватар">
{/if}
</div>
</a>
</div>
<div class="header-notifications-dropdown">
{if '' | isloggedin : 'web'}
<div class="user-status">
<div class="user-details">
<div class="user-avatar status-online">
{if '' | isloggedin : 'web'}
{if $_modx->user.photo is empty}
<img src="master_yoda/assets/images/user-avatar-placeholder.png" alt="Аватар">
{else}
<img src="{$_modx->user.photo}" alt="Аватар">
{/if}
{else}
<img src="master_yoda/assets/images/user-avatar-placeholder.png" alt="Аватар">
{/if}
</div>
<div class="user-name">
[[!+modx.user.id:userinfo=`extended.surname`]] [[!+modx.user.id:userinfo=`extended.name`]]<span>Ваш ID: [[!+modx.user.id]]</span>
</div>
</div>
</div>
{/if}
<ul class="user-menu-small-nav">
{if '' | isloggedin : 'web'}
{if $_modx->isMember('Administrator') && $z!=1}
{include 'tplForAdmin'}
{var $z = 1}
{elseif $_modx->isMember('ManegerMmfc') && $z!=1}
{include 'tplForManegerMmfc'}
{var $z = 1}
{elseif $_modx->isMember('Users') && $z!=1}
{include 'tplForUsers'}
{var $z = 1}
{elseif $_modx->isMember('Organization') && $z!=1}
{include 'tplForOrganization'}
{var $z = 1}
{else}
{include 'tplForUsers'}
{/if}
{else}
{include 'Anonymous'}
{/if}
</ul>
</div>
</div>
</div>
<span class="mmenu-trigger">
<button class="hamburger hamburger--collapse" type="button">
<span class="hamburger-box">
<span class="hamburger-inner"></span>
</span>
</button>
</span>
</div>
</div>
</div>
</header>
Комментарии: 1
Спрячьте код меню под кат. Не очень приятно листать ленту вопросов с такой «простынёй» в анонсе
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.