Перейти к содержанию

ошибка deprecated из-за null'a в og:description в хуках meta.post.tpl


Рекомендуемые сообщения

Post #15189 Опубликовано

Добрый день команда AB, после обновления боевого сервера до cs-cart 4.19.1 при включенном дебаг режиме ловим deprecated:

PHP Deprecated
Message
html_entity_decode(): Passing null to parameter #1 ($string) of type string is deprecated
Error at
app/lib/vendor/smarty/smarty/src/Extension/CallbackWrapper.php, line: 29
Backtrace
File:
app/lib/vendor/smarty/smarty/src/Extension/CallbackWrapper.php
Line:
29
Function:
{closure}
File:
var/cache/templates/abt__unitheme2/74660292ec48fae54b074e1bc22e555345072a2f_2.tygh_meta.post.tpl.php
Line:
81
Function:
handle
File:
app/lib/vendor/smarty/smarty/src/Template/GeneratedPhpFile.php
Line:
111
Function:
content_69201572116248_31210982
File:
app/lib/vendor/smarty/smarty/src/Template/Compiled.php
Line:
110
Function:
getRenderedTemplateCode
File:
app/lib/vendor/smarty/smarty/src/Template.php
Line:
180
Function:
render
File:
app/lib/vendor/smarty/smarty/src/Template.php
Line:
655
Function:
render
File:
app/lib/vendor/smarty/smarty/src/Template.php
Line:
589
Function:
_execute
File:
app/Tygh/SmartyEngine/Core.php
Line:
85
Function:
fetch
File:
app/Tygh/SmartyEngine/Blocks/Hook.php
Line:
140
Function:
fetch
File:
var/cache/templates/abt__unitheme2/ab6401f8af24d6a037fca05ea21a760dfc05f9a8_2.tygh_meta.tpl.php
Line:
134
Function:
handle
File:
app/lib/vendor/smarty/smarty/src/Template/GeneratedPhpFile.php
Line:
111
Function:
content_692015720580b4_54682419
File:
app/lib/vendor/smarty/smarty/src/Template/Compiled.php
Line:
110
Function:
getRenderedTemplateCode
File:
app/lib/vendor/smarty/smarty/src/Template.php
Line:
180
Function:
render
File:
app/lib/vendor/smarty/smarty/src/Template.php
Line:
287
Function:
render
File:
var/cache/templates/abt__unitheme2/9f7c0554ffa418aea6dcd8da80cf9cde9632166c_2.tygh_index.tpl.php
Line:
91
Function:
renderSubTemplate
File:
app/lib/vendor/smarty/smarty/src/Template/GeneratedPhpFile.php
Line:
111
Function:
content_69201571f41326_17835801
File:
app/lib/vendor/smarty/smarty/src/Template/Compiled.php
Line:
110
Function:
getRenderedTemplateCode
File:
app/lib/vendor/smarty/smarty/src/Template.php
Line:
180
Function:
render
File:
app/lib/vendor/smarty/smarty/src/Template.php
Line:
655
Function:
render
File:
app/lib/vendor/smarty/smarty/src/Template.php
Line:
589
Function:
_execute
File:
app/Tygh/SmartyEngine/Core.php
Line:
85
Function:
fetch
File:
app/functions/fn.control.php
Line:
639
Function:
fetch
File:
index.php
Line:
19
Function:
fn_dispatch


Если перейти к сути, то возникает ошибка из-за пустого og:description в design/themes/abt__unitheme2/templates/addons/abt__unitheme2/hooks/index/meta.post.tpl. И лечиться добавлением пустого default значения:


 

<meta property="og:description" content="{$meta_description|default:''|html_entity_decode:$smarty.const.ENT_COMPAT:"UTF-8"|default:$location_data.meta_descriptiona}" />

Возможно у вас есть более элегантное решение, но я сходу смог прийти только к такому.


Будет возможность исправить данную ошибку при очередном релизе? 🙂


P.S. PHP 8.2

Post #15192 Опубликовано (изменено)

@ab.support.serhiiБлагодарю. Из нюансов - возможно проблема глубже, потому что я не понимаю почему там null. Он может быть конечно теоретически, и проверка описанная мною конечно нужна, но meta_description у нас заполнен и нормально отдается соседним шаблоном
design/themes/abt__unitheme2/templates/meta.tpl
<meta name="description" content="{$meta_description|default:$location_data.meta_description|html_entity_decode:$smarty.const.ENT_COMPAT:"UTF-8"}" />

Т.е. на главной мы имеем одновременно заполненный тэг

<meta name="description" content="Широкий выбор  бла бла" />

И пустой

<meta property="og:description" content="" />

! 🙈🤷‍♂️

+ на нашем тестовом эта ошибка не воспроизводится, og:description там нормально заполнен и равен просто description. А разница между боевым и тестовым по идее лишь в способах хранения сессии. Но когда на боевом мы его меняем на те же настройки - ничего не меняется. В общем мракобесие, я сходу это не могу идентифицировать что там происходит.

Даже diff'ом сравнили 2 директории - на тестовом и на боевом, но ничего умного сходу не видно.
Есть конечно различия в xml файлах (различается hash), и например
в /app/addons/abt__unitheme2/init.php
24a25
> , 'install_addon_post'
Но я не верю что это вызывает ошибку.

Возможно у вас/у разработчиков есть идея что еще можно проверить? Если так - дайте, пожалуйста, знать.


Но пока видимо проще забить (т.к. доступ к боевому мы не даем)...

Изменено пользователем Mad

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...