Ошибка рендеринга шаблонизатора

Обнаружена проблема при обработке шаблона.

Сообщение об ошибке

Unknown "clean_page_desc" filter.
Файл:
/home/redgard/web/top-vibe.com/public_html/src/template/sphere/struct.html
Строка:
12
Тип:
Twig\Error\SyntaxError
Шаблон:
./custom_statistic.html
  1. <meta charset="UTF-8">
  2. <meta name='viewport' content='width=device-width, initial-scale=1.0'>
  3. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  4. <title>{% block title %}{% endblock %} {{ config().other().getAllTitlePage() }}</title>
  5. <meta name="Description" content="{% if pageDesc is defined and pageDesc %}{{ pageDesc|clean_page_desc }}{% else %}{{ title }} {{ config().other().getAllTitlePage() }}{% endif %}">
  6. <meta name="keywords" content="{{ config().other().getKeywords() }}">
  7. <meta property="og:title" content="{{ title }} {{ config().other().getAllTitlePage() }}">
  8. <meta property="og:description" content="{{ config().other().getKeywords() }}">
  9. <meta property="og:image" content="{{config().logo().getLogo()}}">
  1. {%extends 'struct.html'%}
  2. {%block title%}{{ phrase('menu_statistics') }}{%endblock%}
  3. {%block css%}
  4. <link rel="stylesheet" href="{{template}}/assets/libs/choices.js/public/assets/styles/choices.min.css">
  5. <link rel="stylesheet" href="{{template}}/assets/libs/prismjs/themes/prism-coy.min.css">
  6. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css">
  7. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/aos/2.3.4/aos.css">
  8. <style>
  9. :root {
  10. --l2-primary: #a32c2c;
  11. --l2-secondary: #2c3040;
  12. --l2-accent: #d4af37;
  13. --l2-dark: #1a1a24;
  14. }
  15. /* Фикс для горизонтального скролла */
  16. html, body {
  17. overflow-x: hidden;
  18. width: 100%;
  19. position: relative;
  20. }
  21. .l2-stats-container {
  22. max-width: 100%;
  23. overflow-x: hidden;
  24. }
  25. .table thead th {
  26. font-weight: 600;
  27. text-transform: uppercase;
  28. font-size: 0.8rem;
  29. letter-spacing: 0.5px;
  30. padding: 12px;
  31. border-bottom: 2px solid var(--l2-accent);
  32. }
  33. .table tbody tr {
  34. transition: all 0.2s ease;
  35. }
  36. .table tbody tr:hover {
  37. background-color: rgba(var(--bs-primary-rgb), 0.1);
  38. }
  39. .table tbody tr th,
  40. .table tbody tr td {
  41. padding: 12px;
  42. vertical-align: middle;
  43. }
  44. .stats-header {
  45. position: relative;
  46. padding: 1rem 0;
  47. margin-bottom: 1rem;
  48. text-align: center;
  49. overflow: hidden;
  50. }
  51. .stats-header h1 {
  52. font-size: 2.5rem;
  53. font-weight: 700;
  54. text-transform: uppercase;
  55. letter-spacing: 1px;
  56. margin-bottom: 0.5rem;
  57. position: relative;
  58. z-index: 1;
  59. }
  60. .stats-header::after {
  61. content: '';
  62. position: absolute;
  63. width: 100%;
  64. height: 2px;
  65. bottom: 0;
  66. left: 0;
  67. background: linear-gradient(to right, transparent, var(--l2-accent), transparent);
  68. }
  69. .stats-header p {
  70. max-width: 800px;
  71. margin: 0 auto;
  72. position: relative;
  73. z-index: 1;
  74. }
  75. .alert-l2 {
  76. background: linear-gradient(135deg, #6b1b1b, #8c1e1e);
  77. border-left: 4px solid var(--l2-accent);
  78. border-radius: 4px;
  79. padding: 1rem;
  80. margin-bottom: 1.5rem;
  81. display: flex;
  82. align-items: center;
  83. }
  84. .alert-l2 i {
  85. font-size: 1.5rem;
  86. margin-right: 1rem;
  87. color: var(--l2-accent);
  88. }
  89. /* Стили для анимации glow */
  90. @keyframes glow {
  91. from {
  92. box-shadow: 0 0 4px rgba(212, 175, 55, 0.2);
  93. }
  94. to {
  95. box-shadow: 0 0 16px rgba(212, 175, 55, 0.6);
  96. }
  97. }
  98. ::-webkit-scrollbar-thumb:hover {
  99. background: var(--l2-accent);
  100. }
  101. /* Стиль для всплывающей подсказки с уровнем */
  102. .tooltip-level {
  103. position: relative;
  104. cursor: pointer;
  105. }
  106. .tooltip-level:hover::after {
  107. content: "{{phrase(100)}}: " attr(data-level);
  108. position: absolute;
  109. left: 50%;
  110. transform: translateX(-50%);
  111. bottom: 100%;
  112. margin-bottom: 5px;
  113. background-color: var(--l2-accent);
  114. color: #000;
  115. padding: 5px 10px;
  116. border-radius: 4px;
  117. font-size: 12px;
  118. white-space: nowrap;
  119. opacity: 0;
  120. animation: fadeIn 0.3s forwards;
  121. z-index: 100;
  122. box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  123. }
  124. .tooltip-level:hover::before {
  125. content: "";
  126. position: absolute;
  127. left: 50%;
  128. transform: translateX(-50%);
  129. bottom: 100%;
  130. border-width: 5px;
  131. border-style: solid;
  132. border-color: var(--l2-accent) transparent transparent transparent;
  133. z-index: 100;
  134. opacity: 0;
  135. animation: fadeIn 0.3s forwards;
  136. }
  137. @keyframes fadeIn {
  138. to {
  139. opacity: 1;
  140. }
  141. }
  142. /* Фикс для параллакс-фона */
  143. .parallax-bg {
  144. position: fixed;
  145. top: 0;
  146. left: 0;
  147. width: 100%;
  148. height: 100%;
  149. z-index: -1;
  150. pointer-events: none;
  151. }
  152. /* Responsive adjustments */
  153. @media (max-width: 992px) {
  154. .stats-header h1 {
  155. font-size: 2rem;
  156. }
  157. .counter-container {
  158. flex-wrap: wrap;
  159. }
  160. .counter-item {
  161. width: 45%;
  162. margin-bottom: 1rem;
  163. }
  164. /* Улучшения для таблиц на мобильных устройствах */
  165. .table-responsive {
  166. width: 100%;
  167. margin-bottom: 1rem;
  168. overflow-x: auto;
  169. -webkit-overflow-scrolling: touch;
  170. }
  171. }
  172. @media (max-width: 576px) {
  173. .stats-header h1 {
  174. font-size: 1.5rem;
  175. }
  176. .counter-item {
  177. width: 100%;
  178. }
  179. }
  180. </style>
  181. {%endblock%}
  182. {%block content%}
  183. <div class="parallax-bg"></div>
  184. <div class="container l2-stats-container">
  185. <div class="stats-header" data-aos="fade-down">
  186. <h1>{{ phrase('menu_statistics') }}</h1>
  187. </div>
  188. {%if statusSphereServer() is same as(false)%}
  189. <div class="alert-l2" data-aos="fade-up">
  190. <i class="fas fa-exclamation-triangle"></i>
  191. <div>
  192. <strong>Ошибка!</strong> Сервер Sphere недоступен.
  193. </div>
  194. </div>
  195. {%else%}
  196. <div class="row">
  197. <div class="col-xl-6" data-aos="fade-right" data-aos-delay="50">
  198. <div class="card custom-card">
  199. <div class="card-header justify-content-between">
  200. <div class="card-title">
  201. <i class="fas fa-crosshairs"></i> {{phrase('top_pvp')}}
  202. </div>
  203. </div>
  204. <div class="card-body">
  205. <div class="table-responsive">
  206. <table class="table table-sm text-nowrap table-bordered table-hover">
  207. <thead>
  208. <tr>
  209. <th scope="col">#</th>
  210. <th scope="col">{{phrase('player')}}</th>
  211. <th scope="col"><i class="fas fa-shield-alt"></i> PvP</th>
  212. <th scope="col"><i class="fas fa-skull"></i> PK</th>
  213. <th scope="col">{{phrase(94)}}</th>
  214. <th scope="col">{{phrase(109)}}</th>
  215. </tr>
  216. </thead>
  217. <tbody>
  218. {%for i, player in statistic_get_pvp(0, 10)%}
  219. <tr {%if i == 0%}class="top-player" style="animation: 2s infinite alternate glow;"{%endif%}>
  220. <th scope="row" style="width: 1px;">
  221. {%if i < 3%}
  222. <span class="badge rounded-pill" style="background-color: {%if i == 0%}#FFD700{%elseif i == 1%}#C0C0C0{%else%}#CD7F32{%endif%}; color: #000;">
  223. {{i+1}}
  224. </span>
  225. {%else%}
  226. {{i+1}}
  227. {%endif%}
  228. </th>
  229. <th>
  230. <div class="d-flex align-items-center">
  231. <span class="avatar avatar-sm me-2 {%if player.online%}online{%else%}offline{%endif%} avatar-rounded">
  232. <img src="{{ template('/assets/images/race/' ~ sex(player.sex) ~ '/' ~ get_class_race(player.class_id)) ~ '.jpg' }}" alt="img">
  233. </span>
  234. <span class="tooltip-level" data-level="{{ player.level }}">{{player.player_name}}</span>
  235. </div>
  236. </th>
  237. <td><span class="badge bg-success-transparent">{{player.pvp}}</span></td>
  238. <td><span class="badge bg-danger-transparent">{{player.pk}}</span></td>
  239. <td>{{clan_icon(player)|raw}} <span class="clan-name">{{player.clan_name}}</span></td>
  240. <td>{{get_class(player['class_id'])}}</td>
  241. </tr>
  242. {%endfor%}
  243. </tbody>
  244. </table>
  245. </div>
  246. </div>
  247. </div>
  248. </div>
  249. <div class="col-xl-6" data-aos="fade-left" data-aos-delay="50">
  250. <div class="card custom-card">
  251. <div class="card-header justify-content-between">
  252. <div class="card-title">
  253. <i class="fas fa-skull-crossbones"></i> {{phrase('top_pk')}}
  254. </div>
  255. </div>
  256. <div class="card-body">
  257. <div class="table-responsive">
  258. <table class="table table-sm text-nowrap table-bordered table-hover">
  259. <thead>
  260. <tr>
  261. <th scope="col">#</th>
  262. <th scope="col">{{phrase('player')}}</th>
  263. <th scope="col"><i class="fas fa-shield-alt"></i> PvP</th>
  264. <th scope="col"><i class="fas fa-skull"></i> PK</th>
  265. <th scope="col">{{phrase(94)}}</th>
  266. <th scope="col">{{phrase(109)}}</th>
  267. </tr>
  268. </thead>
  269. <tbody>
  270. {%for i, player in statistic_get_pk(0, 10)%}
  271. <tr {%if i == 0%}class="top-player" style="animation: 2s infinite alternate glow;"{%endif%}>
  272. <th scope="row" style="width: 1px;">
  273. {%if i < 3%}
  274. <span class="badge rounded-pill" style="background-color: {%if i == 0%}#FFD700{%elseif i == 1%}#C0C0C0{%else%}#CD7F32{%endif%}; color: #000;">
  275. {{i+1}}
  276. </span>
  277. {%else%}
  278. {{i+1}}
  279. {%endif%}
  280. </th>
  281. <th>
  282. <div class="d-flex align-items-center">
  283. <span class="avatar avatar-sm me-2 {%if player.online%}online{%else%}offline{%endif%} avatar-rounded">
  284. <img src="{{ template('/assets/images/race/' ~ sex(player.sex) ~ '/' ~ get_class_race(player.class_id)) ~ '.jpg' }}" alt="img">
  285. </span>
  286. <span class="tooltip-level" data-level="{{ player.level }}">{{player.player_name}}</span>
  287. </div>
  288. </th>
  289. <td><span class="badge bg-success-transparent">{{player.pvp}}</span></td>
  290. <td><span class="badge bg-danger-transparent">{{player.pk}}</span></td>
  291. <td>{{clan_icon(player)|raw}} <span class="clan-name">{{player.clan_name}}</span></td>
  292. <td>{{get_class(player['class_id'])}}</td>
  293. </tr>
  294. {%endfor%}
  295. </tbody>
  296. </table>
  297. </div>
  298. </div>
  299. </div>
  300. </div>
  301. </div>
  302. <div class="row">
  303. <div class="col-xl-6" data-aos="fade-right" data-aos-delay="80">
  304. <div class="card custom-card">
  305. <div class="card-header justify-content-between">
  306. <div class="card-title">
  307. <i class="fas fa-hourglass-half"></i> {{phrase('top_online')}}
  308. </div>
  309. </div>
  310. <div class="card-body">
  311. <div class="table-responsive">
  312. <table class="table table-sm text-nowrap table-bordered table-hover">
  313. <thead>
  314. <tr>
  315. <th scope="col">#</th>
  316. <th scope="col">{{phrase('player')}}</th>
  317. <th scope="col"><i class="fas fa-clock"></i> {{phrase(52)}}</th>
  318. <th scope="col">{{phrase(94)}}</th>
  319. <th scope="col">{{phrase(109)}}</th>
  320. </tr>
  321. </thead>
  322. <tbody>
  323. {%for i, player in statistic_players_online_time(0, 10)%}
  324. <tr {%if i == 0%}class="top-player" style="animation: 2s infinite alternate glow;"{%endif%}>
  325. <th scope="row" style="width: 1px;">
  326. {%if i < 3%}
  327. <span class="badge rounded-pill" style="background-color: {%if i == 0%}#FFD700{%elseif i == 1%}#C0C0C0{%else%}#CD7F32{%endif%}; color: #000;">
  328. {{i+1}}
  329. </span>
  330. {%else%}
  331. {{i+1}}
  332. {%endif%}
  333. </th>
  334. <th>
  335. <div class="d-flex align-items-center">
  336. <span class="avatar avatar-sm me-2 {%if player.online%}online{%else%}offline{%endif%} avatar-rounded">
  337. <img src="{{ template('/assets/images/race/' ~ sex(player.sex) ~ '/' ~ get_class_race(player.class_id)) ~ '.jpg' }}" alt="img">
  338. </span>
  339. <span class="tooltip-level" data-level="{{ player.level }}">{{player.player_name}}</span>
  340. </div>
  341. </th>
  342. <td><span class="badge" style="background-color: rgba(79, 70, 229, 0.2); color: #818cf8;">{{ timeHasPassed(player.time_in_game, true) }}</span></td>
  343. <td>{{clan_icon(player)|raw}} <span class="clan-name">{{player.clan_name}}</span></td>
  344. <td>{{get_class(player.class_id)}}</td>
  345. </tr>
  346. {%endfor%}
  347. </tbody>
  348. </table>
  349. </div>
  350. </div>
  351. </div>
  352. </div>
  353. <div class="col-xl-6" data-aos="fade-left" data-aos-delay="80">
  354. <div class="card custom-card">
  355. <div class="card-header justify-content-between">
  356. <div class="card-title">
  357. <i class="fas fa-chart-line"></i> {{phrase('top_exp')}}
  358. </div>
  359. </div>
  360. <div class="card-body">
  361. <div class="table-responsive">
  362. <table class="table table-sm text-nowrap table-bordered table-hover">
  363. <thead>
  364. <tr>
  365. <th scope="col">#</th>
  366. <th scope="col">{{phrase('player')}}</th>
  367. <th scope="col"><i class="fas fa-clock"></i> {{phrase(52)}}</th>
  368. <th scope="col">{{phrase(94)}}</th>
  369. <th scope="col">{{phrase(109)}}</th>
  370. </tr>
  371. </thead>
  372. <tbody>
  373. {%for i, player in statistic_get_exp(0, 10)%}
  374. <tr {%if i == 0%}class="top-player" style="animation: 2s infinite alternate glow;"{%endif%}>
  375. <th scope="row" style="width: 1px;">
  376. {%if i < 3%}
  377. <span class="badge rounded-pill" style="background-color: {%if i == 0%}#FFD700{%elseif i == 1%}#C0C0C0{%else%}#CD7F32{%endif%}; color: #000;">
  378. {{i+1}}
  379. </span>
  380. {%else%}
  381. {{i+1}}
  382. {%endif%}
  383. </th>
  384. <th>
  385. <div class="d-flex align-items-center">
  386. <span class="avatar avatar-sm me-2 {%if player.online%}online{%else%}offline{%endif%} avatar-rounded">
  387. <img src="{{ template('/assets/images/race/' ~ sex(player.sex) ~ '/' ~ get_class_race(player.class_id)) ~ '.jpg' }}" alt="img">
  388. </span>
  389. <span class="tooltip-level" data-level="{{ player.level }}">{{player.player_name}}</span>
  390. </div>
  391. </th>
  392. <td><span class="badge" style="background-color: rgba(79, 70, 229, 0.2); color: #818cf8;">{{ timeHasPassed(player.time_in_game, true) }}</span></td>
  393. <td>{{clan_icon(player)|raw}} <span class="clan-name">{{player.clan_name}}</span></td>
  394. <td>{{get_class(player.class_id)}}</td>
  395. </tr>
  396. {%endfor%}
  397. </tbody>
  398. </table>
  399. </div>
  400. </div>
  401. </div>
  402. </div>
  403. </div>
  404. <div class="row">
  405. <div class="col-xl-6" data-aos="fade-right" data-aos-delay="100">
  406. <div class="card custom-card">
  407. <div class="card-header justify-content-between">
  408. <div class="card-title">
  409. <i class="fas fa-flag"></i> {{phrase(126)}}
  410. </div>
  411. </div>
  412. <div class="card-body">
  413. <div class="table-responsive">
  414. <table class="table table-sm text-nowrap table-bordered table-hover">
  415. <thead>
  416. <tr>
  417. <th scope="col">#</th>
  418. <th scope="col">{{phrase(94)}}</th>
  419. <th scope="col"><i class="fas fa-star"></i> {{phrase(102)}}</th>
  420. <th scope="col"><i class="fas fa-users"></i> {{phrase('allies')}}</th>
  421. </tr>
  422. </thead>
  423. <tbody>
  424. {%for i, clan in statistic_get_clans(0, 10)%}
  425. <tr {%if i == 0%}class="top-player" style="animation: 2s infinite alternate glow;"{%endif%}>
  426. <th scope="row">
  427. {%if i < 3%}
  428. <span class="badge rounded-pill" style="background-color: {%if i == 0%}#FFD700{%elseif i == 1%}#C0C0C0{%else%}#CD7F32{%endif%}; color: #000;">
  429. {{i+1}}
  430. </span>
  431. {%else%}
  432. {{i+1}}
  433. {%endif%}
  434. </th>
  435. <td>{{clan_icon(clan)|raw}} <span class="clan-name">{{clan.clan_name}}</span> <span class="badge bg-light text-dark">{{ clan.clan_level }}</span> </td>
  436. <td><span class="badge bg-danger-transparent">{{ format_number_fr(clan.reputation_score) }}</span></td>
  437. <td><span class="badge bg-info-transparent" style="background-color: rgba(59, 130, 246, 0.2); color: #60a5fa;">{{ clan.clan_count_members }}</span></td>
  438. </tr>
  439. {%endfor%}
  440. </tbody>
  441. </table>
  442. </div>
  443. </div>
  444. </div>
  445. </div>
  446. <div class="col-xl-6" data-aos="fade-left" data-aos-delay="100">
  447. <div class="card custom-card">
  448. <div class="card-header justify-content-between">
  449. <div class="card-title">
  450. <i class="fas fa-chess-rook"></i> {{phrase(50)}}
  451. </div>
  452. </div>
  453. <div class="card-body">
  454. <div class="table-responsive">
  455. <table class="table table-sm text-nowrap table-bordered table-hover">
  456. <thead>
  457. <tr>
  458. <th scope="col">{{phrase(105)}}</th>
  459. <th scope="col">{{phrase(94)}}</th>
  460. <th scope="col">{{phrase(101)}}</th>
  461. <th scope="col"><i class="fas fa-percentage"></i> {{phrase(106)}}</th>
  462. <th scope="col"><i class="fas fa-calendar"></i> {{phrase(107)}}</th>
  463. </tr>
  464. </thead>
  465. <tbody>
  466. {%for i, castle in statistic_get_castle()%}
  467. <tr>
  468. <th scope="row"><span class="castle-name">{{ get_castle(castle.castle_id) }}</span></th>
  469. <td>{{clan_icon(castle.clan_crest)|raw}} <span class="clan-name">{{castle.clan_name }}</span> <span class="badge bg-light text-dark">{{ castle.clan_level }}</span> </td>
  470. <td><span class="lord-name">{{ castle.player_name }}</span></td>
  471. <td><span class="badge" style="background-color: rgba(245, 158, 11, 0.2); color: #f59e0b;">{{ castle.tax??0 }}%</span></td>
  472. <td><span class="badge bg-primary-transparent" style="background-color: rgba(99, 102, 241, 0.2); color: #818cf8;">{{ unitToDate(castle.siege_date) }}</span></td>
  473. </tr>
  474. {%endfor%}
  475. </tbody>
  476. </table>
  477. </div>
  478. </div>
  479. </div>
  480. </div>
  481. </div>
  482. {%endif%}
  483. </div>
  484. {%endblock%}
  485. {%block js%}
  486. <script src="{{template}}/assets/libs/@simonwep/pickr/pickr.es5.min.js"></script>
  487. <script src="{{template}}/assets/libs/prismjs/prism.js"></script>
  488. <script src="{{template}}/assets/js/prism-custom.js"></script>
  489. <script src="https://cdnjs.cloudflare.com/ajax/libs/aos/2.3.4/aos.js"></script>
  490. <script>
  491. $(document).ready(function() {
  492. // Исправление проблемы горизонтального скролла до прокрутки
  493. $("html, body").css({
  494. "overflow-x": "hidden",
  495. "width": "100%"
  496. });
  497. // Принудительное скрытие горизонтального скролла
  498. setTimeout(function() {
  499. $(window).trigger('resize');
  500. $(".table-responsive").css("overflow-x", "auto");
  501. }, 50);
  502. // Инициализация библиотеки анимаций с измененными настройками
  503. AOS.init({
  504. duration: 800,
  505. easing: 'ease-in-out',
  506. once: true,
  507. startEvent: 'DOMContentLoaded',
  508. offset: 0,
  509. delay: 0,
  510. disableMutationObserver: false,
  511. mirror: false,
  512. anchorPlacement: 'top-bottom'
  513. });
  514. // Принудительно активируем все анимации при загрузке
  515. setTimeout(function() {
  516. AOS.refresh();
  517. }, 100);
  518. // Функция параллакса для фона с ограничением
  519. $(window).scroll(function() {
  520. var scrollTop = $(this).scrollTop();
  521. $('.parallax-bg').css({
  522. 'transform': 'translateY(' + Math.min(scrollTop * 0.5, 200) + 'px)',
  523. 'width': '100%',
  524. 'left': '0'
  525. });
  526. });
  527. // Эффект подсветки для наведения на строки в таблицах
  528. $('.table-hover tbody tr').hover(
  529. function() {
  530. $(this).addClass('bg-opacity-25 bg-primary');
  531. },
  532. function() {
  533. $(this).removeClass('bg-opacity-25 bg-primary');
  534. }
  535. );
  536. // Улучшенная анимация для всплывающей подсказки с уровнем
  537. $('.tooltip-level').hover(
  538. function() {
  539. $(this).css({
  540. 'color': '#d4af37',
  541. 'transition': 'all 0.3s ease'
  542. });
  543. },
  544. function() {
  545. $(this).css({
  546. 'color': '',
  547. 'transition': 'all 0.3s ease'
  548. });
  549. }
  550. );
  551. // Добавляем дополнительные классы для мобильного адаптива
  552. if (window.innerWidth < 768) {
  553. $('.table-responsive').addClass('table-responsive-sm');
  554. }
  555. });
  556. // Добавление света при прокрутке страницы вниз
  557. $(window).scroll(function() {
  558. var scrollPosition = $(this).scrollTop();
  559. if (scrollPosition > 100) {
  560. $('body').addClass('scrolled');
  561. $('.parallax-bg').css('opacity', 0.1 + scrollPosition * 0.0001);
  562. } else {
  563. $('body').removeClass('scrolled');
  564. $('.parallax-bg').css('opacity', 0.15);
  565. }
  566. });
  567. // Функция для исправления горизонтального скролла при загрузке страницы
  568. $(window).on('load', function() {
  569. // Устраняем возможный горизонтальный скролл
  570. setTimeout(function(){
  571. $("html, body").css("overflow-x", "hidden");
  572. $(".l2-stats-container").css({
  573. "max-width": "100%",
  574. "overflow-x": "hidden"
  575. });
  576. }, 100);
  577. });
  578. </script>
  579. {%endblock%}
/home/redgard/web/top-vibe.com/public_html/vendor/twig/twig/src/ExpressionParser.php (строка 576)
Twig\ExpressionParser->getFilterNodeClass()
/home/redgard/web/top-vibe.com/public_html/vendor/twig/twig/src/ExpressionParser.php (строка 561)
Twig\ExpressionParser->parseFilterExpressionRaw()
/home/redgard/web/top-vibe.com/public_html/vendor/twig/twig/src/ExpressionParser.php (строка 423)
Twig\ExpressionParser->parseFilterExpression()
/home/redgard/web/top-vibe.com/public_html/vendor/twig/twig/src/ExpressionParser.php (строка 291)
Twig\ExpressionParser->parsePostfixExpression()
/home/redgard/web/top-vibe.com/public_html/vendor/twig/twig/src/ExpressionParser.php (строка 177)
Twig\ExpressionParser->parsePrimaryExpression()
/home/redgard/web/top-vibe.com/public_html/vendor/twig/twig/src/ExpressionParser.php (строка 72)
Twig\ExpressionParser->getPrimary()
/home/redgard/web/top-vibe.com/public_html/vendor/twig/twig/src/Parser.php (строка 130)
Twig\ExpressionParser->parseExpression()
/home/redgard/web/top-vibe.com/public_html/vendor/twig/twig/src/TokenParser/IfTokenParser.php (строка 41)
Twig\Parser->subparse()
/home/redgard/web/top-vibe.com/public_html/vendor/twig/twig/src/Parser.php (строка 173)
Twig\TokenParser\IfTokenParser->parse()
/home/redgard/web/top-vibe.com/public_html/vendor/twig/twig/src/Parser.php (строка 83)
Twig\Parser->subparse()
/home/redgard/web/top-vibe.com/public_html/vendor/twig/twig/src/Environment.php (строка 524)
Twig\Parser->parse()
/home/redgard/web/top-vibe.com/public_html/vendor/twig/twig/src/Environment.php (строка 552)
Twig\Environment->parse()
/home/redgard/web/top-vibe.com/public_html/vendor/twig/twig/src/Environment.php (строка 382)
Twig\Environment->compileSource()
/home/redgard/web/top-vibe.com/public_html/vendor/twig/twig/src/Template.php (строка 282)
Twig\Environment->loadTemplate()
/home/redgard/web/top-vibe.com/public_html/vendor/twig/twig/src/Environment.php(392) : eval()'d code (строка 45)
Twig\Template->loadTemplate()
/home/redgard/web/top-vibe.com/public_html/vendor/twig/twig/src/Template.php (строка 360)
__TwigTemplate_bf61d7dee327908f786a4818a846d11e->doDisplay()
/home/redgard/web/top-vibe.com/public_html/vendor/twig/twig/src/Template.php (строка 327)
Twig\Template->yield()
/home/redgard/web/top-vibe.com/public_html/vendor/twig/twig/src/TemplateWrapper.php (строка 45)
Twig\Template->display()
/home/redgard/web/top-vibe.com/public_html/src/template/tpl.php (строка 2791)
Twig\TemplateWrapper->display()
/home/redgard/web/top-vibe.com/public_html/src/route/route_registry.php (строка 46)
Ofey\Logan22\template\tpl::display()
[Внутренняя функция]
{closure}()
/home/redgard/web/top-vibe.com/public_html/vendor/bramus/router/src/Bramus/Router/Router.php (строка 430)
call_user_func_array()
/home/redgard/web/top-vibe.com/public_html/vendor/bramus/router/src/Bramus/Router/Router.php (строка 416)
Bramus\Router\Router->invoke()
/home/redgard/web/top-vibe.com/public_html/vendor/bramus/router/src/Bramus/Router/Router.php (строка 280)
Bramus\Router\Router->handle()
/home/redgard/web/top-vibe.com/public_html/src/route/route_registry.php (строка 76)
Bramus\Router\Router->run()
/home/redgard/web/top-vibe.com/public_html/index.php (строка 11)
require('/home/redgard/web/top-vibe.com...')

Переменные доступные в шаблоне:

__route__ (string)
"/statistic"
dir (string)
""
protocol (string)
"https"
path (string)
""
template (string)
"/src/template/sphere/"
pointTime (string)
"0.03"
page_external_css (array)
Array(4)
  • 0: "/src/template/sphere//assets/libs/choices.js/public/assets/styles/choices.min.css"
  • 1: "/src/template/sphere//assets/libs/prismjs/themes/prism-coy.min.css"
  • 2: "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"
  • 3: "https://cdnjs.cloudflare.com/ajax/libs/aos/2.3.4/aos.css"
page_external_js (array)
Array(4)
  • 0: "/src/template/sphere//assets/libs/@simonwep/pickr/pickr.es5.min.js"
  • 1: "/src/template/sphere//assets/libs/prismjs/prism.js"
  • 2: "/src/template/sphere//assets/js/prism-custom.js"
  • 3: "https://cdnjs.cloudflare.com/ajax/libs/aos/2.3.4/aos.js"
page_inline_css (string)
":root { --l2-primary: #a32c2c; --l2-secondary: #2c3040; --l2-accent: #d4af37..."
page_inline_js (string)
"$(document).ready(function() { // Исправление проблемы горизонталь..."
page_title (string)
"Statistics"

Возможные решения

Проверьте синтаксис и логику шаблона.
Убедитесь, что все переменные и функции определены и доступны.
Проверьте, не используются ли устаревшие методы или функции.