{"id":427959,"date":"2024-07-31T21:01:41","date_gmt":"2024-07-31T21:01:41","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=427959"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=427959","title":{"rendered":"<span>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438 \u0432 Joomla 5+<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 Joomla \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043d\u044b\u0439 \u0441\u0430\u0439\u0442-\u0441\u0442\u0430\u0442\u0435\u0439\u043d\u0438\u043a \u0438\u043b\u0438 \u043d\u043e\u0432\u043e\u0441\u0442\u043d\u0438\u043a, \u043d\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433, \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u0434\u043e\u0441\u043a\u0443 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0439 \u0438 \u0442.\u0434. \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0433\u043e\u0434\u0430 \u0441 2016 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0438\u0437 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u0438\u043a\u043e\u0432 \u0443\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u043e\u0446.\u0441\u0435\u0442\u0438, \u0441\u0442\u0440\u0438\u043c\u0438\u043d\u0433\u043e\u0432\u044b\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u044b. \u041c\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0441\u0442\u0430\u043b\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Telegram. \u0418 \u0432 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c \u0432\u0441\u0442\u0430\u0451\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u043e\u0431 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u043d\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0441\u0430\u0439\u0442\u0430 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043e\u043c \u0438\u0437 \u0441\u043e\u0446.\u0441\u0435\u0442\u0435\u0439 \u0438 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u043e\u0432. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0440\u0430\u0437 \u0438 \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0432 Joomla 4 \/ Joomla 5 \u0438 \u0441\u0442\u0430\u0440\u0448\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c.<\/p>\n<p>\u041a\u043e \u043c\u043d\u0435 \u043e\u0431\u0440\u0430\u0442\u0438\u043b\u0441\u044f \u043e\u0434\u0438\u043d \u0438\u0437 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043c\u043e\u0438\u0445 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u0441 \u043f\u0440\u043e\u0441\u044c\u0431\u043e\u0439 \u043f\u043e\u043c\u043e\u0447\u044c \u0441 \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0439 \u043e \u043f\u0440\u043e\u0434\u0430\u0436\u0435 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u0435\u0439 \u0432 Telegram. \u0421\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0441\u0430\u0439\u0442\u0430 \u043f\u043e CRON \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441 \u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0443, \u0442\u043e\u0442, \u0432\u0438\u0434\u0438\u043c\u043e, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0439 \u0438 \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u0431\u044b\u043b\u0438 &#8212; \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b \u0432\u0435\u0431\u0445\u0443\u043a (\u0437\u0430\u043f\u0440\u043e\u0441) \u043a \u0441\u0430\u0439\u0442\u0443 \u0441 \u043d\u043e\u0432\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0412 \u043e\u0434\u043d\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u043b\u043e\u0441\u044c \u043e\u0434\u043d\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435. \u041a \u0441\u043b\u043e\u0432\u0443 \u0441\u043a\u0430\u0437\u0430\u0442\u044c. \u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0431\u044b\u043b\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 Joomla 4+, \u0442\u0430\u043a \u043a\u0430\u043a \u0443 Joomla \u0435\u0441\u0442\u044c REST API \u0438 \u0432\u0441\u0451 \u0432 \u0446\u0435\u043b\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e, \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0438\u0441\u044c. \u041e\u0434\u043d\u0430\u043a\u043e, \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u043b\u0430\u0441\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u044b\u043b\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043f\u043e\u043b\u044f \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432, \u0430 \u0438\u0445 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0438 id \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0442\u0438\u0447\u043d\u043e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u043b\u0430\u0433\u0438\u043d \u0433\u0440\u0443\u043f\u043f\u044b\u00a0<code>ajax<\/code>\u00a0\u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438.<\/p>\n<h2>\u0417\u0430\u0434\u0430\u0447\u0430<\/h2>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 Joomla \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u0438\u0437 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430. \u041f\u043b\u0430\u0433\u0438\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443, \u043f\u043e\u043d\u044f\u0442\u043d\u0443\u044e \u0434\u043b\u044f Joomla, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043f\u043e\u043b\u0435\u0439. \u0412\u043e \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u0430\u043a\u0436\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0432\u00a0<code>base64<\/code>\u00a0\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0445 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u0430\u043a \u0444\u0430\u0439\u043b\u044b \u0432 \u043f\u0430\u043f\u043a\u0443 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b.<\/p>\n<h2>\u0421\u043f\u0438\u0441\u043e\u043a \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b<\/h2>\n<p>\u041f\u0440\u0435\u0436\u0434\u0435 \u0445\u043e\u0447\u0443 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u0438 \u0441\u0442\u0430\u0442\u044c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u0436\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u0438 \u043f\u043e\u0445\u043e\u0436\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438:<\/p>\n<ol>\n<li>\n<p>\u0421\u0442\u0430\u0442\u044c\u044f \u0414\u043c\u0438\u0442\u0440\u0438\u044f \u0420\u0435\u043a\u0443\u043d\u0430 <a class=\"mention\" href=\"\/users\/b2z\">@b2z<\/a> \u00a0<a href=\"https:\/\/jpath.ru\/practice\/kak-programmno-sozdat-material-s-nastraivaemymi-polyami-na-php\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438 \u043d\u0430 PHP<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/JPathRu\/cli-scripts\" rel=\"noopener noreferrer nofollow\">\u041f\u0440\u0438\u043c\u0435\u0440 CLI-\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0434\u043b\u044f Joomla \u0438\u0437 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0430 GitHub<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/JPathRu\/plg-radicalform-newarticle\" rel=\"noopener noreferrer nofollow\">\u041f\u043b\u0430\u0433\u0438\u043d \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u0438\u0437 \u0444\u043e\u0440\u043c\u044b \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438 \u0434\u043b\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u0430 Radical Form. \u041a\u043e\u0434 \u043d\u0430 GitHub<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0430\u0442\u044c\u044f \u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440\u0430 \u0415\u0433\u043e\u0440\u043e\u0432\u0430\u00a0<a href=\"https:\/\/sitogon.ru\/blog\/250-kak-programmno-dobavit-statyu-v-joomla-3-i-joomla-4\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e \u0432 Joomla 3 \u0438 Joomla 4<\/a><\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u044f \u0441\u0442\u0430\u0442\u044c\u044f\u00a0<a href=\"https:\/\/web-tolk.ru\/blog\/sozdanie-plaginov-s-uchjotom-novoj-struktury-joomla-4\" rel=\"noopener noreferrer nofollow\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b Joomla 4<\/a><\/p>\n<\/li>\n<\/ol>\n<p>\u0417\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u043d\u0430 \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u0441\u0442\u0430\u0442\u044c\u044f? \u0417\u0430\u0442\u0435\u043c, \u0447\u0442\u043e \u0437\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0443\u0442 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u044e\u0430\u043d\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432.<\/p>\n<h2>\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 ajax \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0432 Joomla.<\/h2>\n<p>\u041f\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430 \u043f\u043b\u0430\u0433\u0438\u043d \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0434\u043b\u044f Joomla 4.4.6. \u0412 \u043f\u044f\u0442\u043e\u0439 \u043b\u0438\u043d\u0435\u0439\u043a\u0435 \u043d\u0430 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0431\u044b\u043b\u0430 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 Joomla 5.1.2, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u0435\u043b\u0430\u0441\u044c \u043d\u0430 \u043d\u0435\u0439.\u00a0<\/p>\n<h3>\u041a\u0440\u0430\u0442\u043a\u0438\u0439 \u043e\u0431\u0437\u043e\u0440 \u0437\u0430\u0434\u0430\u0447\u0438<\/h3>\n<p>\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438, \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u0437 \u0441\u0435\u0431\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435: \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 Joomla \u0442\u043e\u0447\u043a\u0443 \u0432\u0445\u043e\u0434\u0430 \u0432\u0438\u0434\u0430\u00a0<code>index.php?option=com_ajax&amp;group=ajax&amp;plugin=autodealerpro&amp;format=raw<\/code>, \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0432\u0438\u0434\u0435 JSON (\u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e), \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c \u043d\u0430 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0435 \u0438 \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0432 \u043d\u0443\u0436\u043d\u043e\u0439 \u043d\u0430\u043c \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0432\u0437\u044f\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 (\u043f\u0430\u0442\u0442\u0435\u0440\u043d MVC, \u0433\u0434\u0435 M &#8212; Model) \u0438 \u0441\u043a\u043e\u0440\u043c\u0438\u0442\u044c \u0435\u0439 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0435. \u0422\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u043e\u0442\u043e\u043c \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043f\u043e\u043b\u0435\u0439. \u0417\u0430\u0442\u0435\u043c, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438, \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0443\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0438 \u0441\u043d\u043e\u0432\u0430 \u0435\u0433\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c. \u041f\u043e\u0447\u0435\u043c\u0443 \u0431\u0443\u0434\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a &#8212; \u0447\u0438\u0442\u0430\u0435\u043c \u0434\u0430\u043b\u0435\u0435.<\/p>\n<h3>\u0412\u044b\u0431\u043e\u0440 \u0433\u0440\u0443\u043f\u043f\u044b \u0434\u043b\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u0430<\/h3>\n<p>\u0412 Joomla \u0440\u0430\u0437\u0432\u0438\u0442\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432. \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f Joomla \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u0435\u0433\u043e \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f. \u042d\u0442\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f &#171;\u0441\u043b\u0443\u0448\u0430\u044e\u0442&#187; \u043f\u043b\u0430\u0433\u0438\u043d\u044b, \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u0438\u0445 \u043e\u0431\u0440\u0430\u0442\u043d\u043e, \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442 \u043b\u044e\u0431\u0443\u044e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0443\u044e \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0443. \u041f\u043b\u0430\u0433\u0438\u043d\u044b \u0433\u0440\u0443\u043f\u043f\u044b system \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432\u0441\u0435\u0433\u0434\u0430 \u0438 \u0440\u0430\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043f\u043b\u0430\u0433\u0438\u043d\u044b \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0433\u0440\u0443\u043f\u043f. \u0415\u0441\u043b\u0438 \u0432\u0430\u0448 \u043f\u043b\u0430\u0433\u0438\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438 \u0432\u0435\u0437\u0434\u0435 \u0438 \u0440\u0435\u0448\u0430\u0435\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043c\u0435\u0441\u0442\u0430\u0445 \u0441\u0430\u0439\u0442\u0430 &#8212; \u0434\u0435\u043b\u0430\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u043f\u043b\u0430\u0433\u0438\u043d, \u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c, \u0447\u0442\u043e \u043a \u043d\u0435\u043c\u0443 \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u0434\u0430\u0436\u0435 \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d \u043d\u0435 \u043d\u0443\u0436\u0435\u043d. \u041f\u043b\u0430\u0433\u0438\u043d\u044b \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0433\u0440\u0443\u043f\u043f \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u0438 \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u044e\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u043a\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043d\u0443\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041d\u043e \u044d\u0442\u043e \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0438 \u043f\u043e\u0440\u043e\u0439 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c 2-3 \u043f\u043b\u0430\u0433\u0438\u043d\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u0432 \u043e\u0434\u043d\u043e\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u043c.<\/p>\n<h3>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u0430<\/h3>\n<p>\u042f \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u044e, \u0447\u0442\u043e \u0441\u043e \u0441\u0442\u0430\u0442\u044c\u0451\u0439\u00a0<a href=\"https:\/\/web-tolk.ru\/blog\/sozdanie-plaginov-s-uchjotom-novoj-struktury-joomla-4\" rel=\"noopener noreferrer nofollow\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b Joomla 4<\/a>\u00a0\u0432\u044b \u0443\u0436\u0435 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0438 \u0438\u043c\u0435\u0435\u0442\u0435 \u043e\u0431\u0449\u0435\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u043b\u0430\u0433\u0438\u043d \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0435\u0442 \u043e\u043f\u0438\u0441\u0430\u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u0438\u043a\u0430 \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438.<\/p>\n<p>\u041d\u0430\u0448 \u043f\u043b\u0430\u0433\u0438\u043d \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f\u00a0<code>autodealerpro<\/code>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u0441\u0435 \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u044b \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u0434\u0430\u043d\u043d\u043e\u0435 \u0438\u043c\u044f. \u0412 ajax \u043f\u043b\u0430\u0433\u0438\u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u0442\u043e\u0434\u00a0<code>onAjaxAutodealerpro<\/code>\u00a0&#8212; \u0442\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0438 \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.\u00a0<\/p>\n<pre><code class=\"php\">&lt;?php namespace Joomla\\Plugin\\Ajax\\Autodealerpro\\Extension;  \/\/ use Joomla\\CMS\\Event\\Plugin\\AjaxEvent; \/\/ for Joomla 5+ use Joomla\\Event\\Event; \/\/ For Joomla 4+  and Joomla 5 use Joomla\\CMS\\Form\\Form; use Joomla\\CMS\\HTML\\HTMLHelper; use Joomla\\Database\\DatabaseAwareTrait; use Joomla\\Filesystem\\File; use Joomla\\Registry\\Registry; use Joomla\\CMS\\Plugin\\CMSPlugin; use Joomla\\Event\\SubscriberInterface; use Joomla\\CMS\\Log\\Log;  \/\/ phpcs:disable PSR1.Files.SideEffects \\defined('_JEXEC') or die; \/\/ phpcs:enable PSR1.Files.SideEffects  Log::addLogger( ['text_file' =&gt; 'plg_ajax_autodiealderpro.php'], Log::ALL, ['plg_ajax_autodiealderpro'] );   final class Autodealerpro extends CMSPlugin implements SubscriberInterface { use DatabaseAwareTrait;  \/**  *  * @return array  *  * @throws \\Exception  * @since 4.1.0  *  *\/ public static function getSubscribedEvents(): array { return [ 'onAjaxAutodealerpro' =&gt; 'onAjaxAutodealerpro' ]; } \/**  * \u0412 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f Joomla 4+ \u0442\u0438\u043f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 $event \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c Event  * \u0414\u043b\u044f Joomla 5+ - AjaxEvent.   * \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0444\u0430\u0439\u043b\u0435 \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 \u0441 use \u0440\u0430\u0441\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c   * use Joomla\\CMS\\Event\\Plugin\\AjaxEvent; \u0434\u043b\u044f Joomla 5  * \u0438 \u0417\u0410\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c use Joomla\\Event\\Event;  *   * \u0421\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043e Joomla 5. \u0425\u043e\u0442\u044f \u0438 \u0442\u0430\u043a \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.  *\/ public function onAjaxAutodealerpro(Event $event): void {  \/**  * \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438. \u0412 \u043f\u0430\u0440\u0430\u043c\u0442\u0435\u0440\u0430\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0435\u0441\u0442\u044c \"\u043a\u043e\u0434\". \u042d\u0442\u043e\u0442 \u0436\u0435 \u043a\u043e\u0434  * \u0434\u043e\u043b\u0436\u0435\u043d \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0438\u0437 \u0441\u0435\u0440\u0432\u0438\u0441\u0430.  * \u0415\u0441\u043b\u0438 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0435\u0442 \u0438\u043b\u0438 \u043e\u043d \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 - \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u043c.  *\/ $input = $this-&gt;getApplication()-&gt;getInput(); \/** @var string $code \u0422\u043e\u043a\u0435\u043d \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 *\/ $code = $this-&gt;params-&gt;get('code'); \/** @var string $external_code \u0422\u043e\u043a\u0435\u043d \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 *\/ $external_code = $input-&gt;get('code', '');  if ($code != $external_code)  { return; }    \/** \u041f\u041e\u041b\u0423\u0427\u0410\u0415\u041c \u0414\u0410\u041d\u041d\u042b\u0415 \u0418\u0417 JSON *\/ $json = (new Registry())-&gt;loadArray($input-&gt;json-&gt;getArray());  \/\/ \u0410 \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 \/\/$json = (new Registry())-&gt;loadFile(__DIR__ . '\/test.json');  try { $this-&gt;createArticle($json); } catch (\\Exception $e) { Log::add($e-&gt;getMessage(), Log::ERROR, 'plg_' . $this-&gt;_type . '_' . $this-&gt;_name); } } }<\/code><\/pre>\n<p>\u0412 Joomla 5 \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0441\u0442\u0430\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u044d\u0442\u0438\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0439. \u0414\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043d\u044b\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 &#8212;\u00a0<code>$event-&gt;getContext()<\/code>\u00a0\u0432\u043c\u0435\u0441\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f\u00a0<code>$event-&gt;getArgument(0);<\/code>\u00a0\u0438\u043b\u0438\u00a0<code>$event-&gt;updateEventResult($data)<\/code>\u00a0\u0434\u043b\u044f\u00a0<code>AjaxEvent<\/code>\u00a0\u0434\u043b\u044f \u0438 \u0442.\u0434. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u043a\u0430\u043a \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043a \u043a\u043e\u0434\u0443, \u0442\u0438\u043f \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430\u00a0<code>$event<\/code>\u00a0\u0434\u043b\u044f Joomla 4 \u0438 Joomla 5 \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f. \u0412 Joomla 5 \u0441\u0442\u043e\u0438\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u00a0<code>Joomla\\CMS\\Event\\Plugin\\AjaxEvent<\/code>. \u041e\u0434\u043d\u0430\u043a\u043e, \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0438\u043f\u00a0<code>Event<\/code>\u00a0\u0438 \u0442\u043e\u0433\u0434\u0430 \u043f\u043b\u0430\u0433\u0438\u043d \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u043e\u0431\u0435 \u043b\u0438\u043d\u0435\u0439\u043a\u0438 CMS.  <\/p>\n<h3>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445<\/h3>\n<p>\u041d\u0430 \u0432\u0445\u043e\u0434 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c json \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b. \u0421\u0440\u0430\u0437\u0443 \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0438\u0437 Telegram \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f web \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e &#171;\u0433\u0440\u044f\u0437\u043d\u044b\u0439&#187; \u0442\u0435\u043a\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0443\u0436\u043d\u043e \u043e\u0447\u0438\u0449\u0430\u0442\u044c \u043e\u0442 \u0432\u0441\u044f\u043a\u0438\u0445 \u044d\u043c\u043e\u0434\u0437\u0438, \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u044b\u0445 \u0434\u043b\u044f Telegram \u0442\u0435\u0433\u043e\u0432 \u0430-\u043b\u044f\u00a0<code>&lt;tg-spoiler&gt;<\/code>, \u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u0432\u0445\u043e\u0434\u0438\u043b\u043e \u0432 \u043a\u0440\u0443\u0433 \u0437\u0430\u0434\u0430\u0447 \u043d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435.<\/p>\n<pre><code class=\"json\">{     \"title\": \"\u041f\u0440\u043e\u0434\u0430\u043c: Honda CR-V 2.0 \u043b.,2021 \u0433., 61 000 \u043a\u043c.\",     \"articletext\": \"&lt;b&gt;\u041f\u0440\u043e\u0434\u0430\u043c: Honda CR-V 2.0 \u043b.,  2021 \u0433.,  61 000 \u043a\u043c.&lt;\/b&gt;\\n\\n&lt;b&gt;\u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438&lt;\/b&gt;\\n\\n \u2022 &lt;b&gt;\u041f\u0440\u043e\u0431\u0435\u0433:&lt;\/b&gt; 61 000 \u043a\u043c.\\n \u2022 &lt;strong&gt;\u0413\u043e\u0434 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044f&lt;\/strong&gt;: 2021\\n \u2022 &lt;strong&gt;\u0426\u0432\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044f&lt;\/strong&gt;: \u0441\u0438\u043d\u0438\u0439\\n \u2022 &lt;strong&gt;\u0422\u0438\u043f \u043a\u0443\u0437\u043e\u0432\u0430&lt;\/strong&gt;: \u0432\u043d\u0435\u0434\u043e\u0440\u043e\u0436\u043d\u0438\u043a 5-\u0434\u0432.\\n \u2022 &lt;strong&gt;\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435&lt;\/strong&gt;: \u043d\u0435 \u0431\u0438\u0442\u044b\u0439\\n \u2022 &lt;strong&gt;\u0422\u0438\u043f \u0442\u043e\u043f\u043b\u0438\u0432\u0430&lt;\/strong&gt;: \u0431\u0435\u043d\u0437\u0438\u043d\\n \u2022 &lt;strong&gt;\u041a\u041f\u041f&lt;\/strong&gt;: \u0432\u0430\u0440\u0438\u0430\u0442\u043e\u0440\\n \u2022 &lt;strong&gt;\u041f\u0440\u0438\u0432\u043e\u0434&lt;\/strong&gt;: \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0440\u0438\u0432\u043e\u0434\\n \u2022 &lt;strong&gt;\u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0443\u043b\u044f&lt;\/strong&gt;: \u043b\u0435\u0432\u044b\u0439\\n \u2022 &lt;strong&gt;\u041e\u0431\u044a\u0435\u043c \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f&lt;\/strong&gt;: 2.0 \u043b.\\n\\n&lt;b&gt;\u0421\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c&lt;\/b&gt;: 3 850 000 RUB\\n\\n&lt;strong&gt;\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e:&lt;\/strong&gt; \u041f\u0440\u043e\u0434\u0430\u043c \u0445\u043e\u043d\u0434\u0430 \u0441\u0440\u04322.0\u0433\u0438\u0431\u0440\u0438\u0434 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0430\u0446\u0438\u044f \u0442\u0443\u0440\u0438\u043d\u0433.\u043c\u0430\u0448\u0438\u043d\u043a\u0430 \u0432 \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438.\u0432\u0441\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043f\u043e\u043c\u0435\u043d\u044f\u043d\u044b.\u0434\u0430\u0447\u0438\u043a\u0438 \u0441\u043b\u0435\u043f\u044b\u0445 \u0437\u043e\u043d.\u044d\u043b\u0435\u043a\u0442\u0440\u043e \u0441\u0438\u0434\u0435\u043d\u0438\u044f.\u043f\u0430\u043c\u044f\u0442\u044c \u0441\u0438\u0434\u0435\u043d\u0438\u0439 \u043f\u043e\u0434\u043e\u0433\u0440\u0435\u0432.\u0434\u0432\u0443\u0445\u0437\u043e\u043d\u044b\u0439 \u043a\u043b\u0438\u043c\u0430\u0442.\u043a\u043d\u043e\u043f\u043a\u0430 \u0441\u0442\u0430\u0440\u0442 \u0441\u0442\u043e\u043f.\u0434\u0430\u0447\u0438\u043a \u0441\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u044f \u0430\u0432\u0442\u043e \u0441\u0430\u043c\u043e \u0442\u043e\u0440\u043c\u043e\u0436\u0435\u043d\u0438\u0435.\u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0432 \u043f\u043e\u043b\u043e\u0441\u0435.\u0434\u0430\u0447\u0438\u043a \u0434\u043e\u0436\u0434\u044f.+7******* \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c\\n\\n? \u041f\u0440\u043e\u0434\u0430\u0432\u0435\u0446 &lt;a href='tg:\/\/user?id=*******'&gt;\u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c&lt;\/a&gt; \\n? &lt;tg-spoiler&gt;*******&lt;\/tg-spoiler&gt; &lt;i&gt;(\u0442\u043a\u043d\u0438\u0442\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u043d\u043e\u043c\u0435\u0440\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430)&lt;\/i&gt;\\n\u2705 &lt;u&gt;\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u043c\u043d\u0435, \u0447\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442\u0435\u0441\u044c \u043f\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044e \u0441 *******&lt;\/u&gt;\u2757\ufe0f\\n\\n\\n#\u0414\u043e\u043d\u0435\u0446\u043a #Honda #2021_\u0433 #3850000_RUB #\u0441\u0438\u043d\u0438\u0439\\n\\n\u2729 &lt;a href=\\\"https:\/\/t.me\/*******\\\" target=\\\"_blank\\\" rel=\\\"noreferrer noopener\\\"&gt;\u041f\u0440\u043e\u0434\u0430\u0442\u044c \/ \u041a\u0443\u043f\u0438\u0442\u044c&lt;\/a&gt; \u2729 &lt;a href=\\\"https:\/\/t.me\/*******\\\" target=\\\"_blank\\\" rel=\\\"noreferrer noopener\\\"&gt;\u041f\u043e\u043c\u043e\u0449\u044c&lt;\/a&gt; \u2729 \\n\\n&lt;blockquote&gt;\u041a\u0430\u043a \u0432\u0430\u043c \u0430\u0432\u0442\u043e? \u041e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0440\u0435\u0430\u043a\u0446\u0438\u0438! ?&lt;\/blockquote&gt;\\n\u2800\\n\",     \"fields\": {         \"id\": \"2244\",         \"created\": \"2024-07-16 14:49:06\",         \"updated\": \"2024-07-16 14:42:49\",         \"chat_id\": \"***\",         \"name\": \"\",         \"price\": \"3850000\",         \"currency\": \"RUB\",         \"channel_id\": \"-*****\",         \"description\": \"&lt;strong&gt;\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e:&lt;\/strong&gt; \u041f\u0440\u043e\u0434\u0430\u043c \u0445\u043e\u043d\u0434\u0430 \u0441\u0440\u04322.0\u0433\u0438\u0431\u0440\u0438\u0434 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0430\u0446\u0438\u044f \u0442\u0443\u0440\u0438\u043d\u0433.\u043c\u0430\u0448\u0438\u043d\u043a\u0430 \u0432 \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438.\u0432\u0441\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043f\u043e\u043c\u0435\u043d\u044f\u043d\u044b.\u0434\u0430\u0447\u0438\u043a\u0438 \u0441\u043b\u0435\u043f\u044b\u0445 \u0437\u043e\u043d.\u044d\u043b\u0435\u043a\u0442\u0440\u043e \u0441\u0438\u0434\u0435\u043d\u0438\u044f.\u043f\u0430\u043c\u044f\u0442\u044c \u0441\u0438\u0434\u0435\u043d\u0438\u0439 \u043f\u043e\u0434\u043e\u0433\u0440\u0435\u0432.\u0434\u0432\u0443\u0445\u0437\u043e\u043d\u044b\u0439 \u043a\u043b\u0438\u043c\u0430\u0442.\u043a\u043d\u043e\u043f\u043a\u0430 \u0441\u0442\u0430\u0440\u0442 \u0441\u0442\u043e\u043f.\u0434\u0430\u0447\u0438\u043a \u0441\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u044f \u0430\u0432\u0442\u043e \u0441\u0430\u043c\u043e \u0442\u043e\u0440\u043c\u043e\u0436\u0435\u043d\u0438\u0435.\u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0432 \u043f\u043e\u043b\u043e\u0441\u0435.\u0434\u0430\u0447\u0438\u043a \u0434\u043e\u0436\u0434\u044f.+7******* \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c\",         \"description_\": \"\u041f\u0440\u043e\u0434\u0430\u043c \u0445\u043e\u043d\u0434\u0430 \u0441\u0440\u04322.0\u0433\u0438\u0431\u0440\u0438\u0434 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0430\u0446\u0438\u044f \u0442\u0443\u0440\u0438\u043d\u0433.\u043c\u0430\u0448\u0438\u043d\u043a\u0430 \u0432 \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438.\u0432\u0441\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043f\u043e\u043c\u0435\u043d\u044f\u043d\u044b.\u0434\u0430\u0447\u0438\u043a\u0438 \u0441\u043b\u0435\u043f\u044b\u0445 \u0437\u043e\u043d.\u044d\u043b\u0435\u043a\u0442\u0440\u043e \u0441\u0438\u0434\u0435\u043d\u0438\u044f.\u043f\u0430\u043c\u044f\u0442\u044c \u0441\u0438\u0434\u0435\u043d\u0438\u0439 \u043f\u043e\u0434\u043e\u0433\u0440\u0435\u0432.\u0434\u0432\u0443\u0445\u0437\u043e\u043d\u044b\u0439 \u043a\u043b\u0438\u043c\u0430\u0442.\u043a\u043d\u043e\u043f\u043a\u0430 \u0441\u0442\u0430\u0440\u0442 \u0441\u0442\u043e\u043f.\u0434\u0430\u0447\u0438\u043a \u0441\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u044f \u0430\u0432\u0442\u043e \u0441\u0430\u043c\u043e \u0442\u043e\u0440\u043c\u043e\u0436\u0435\u043d\u0438\u0435.\u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0432 \u043f\u043e\u043b\u043e\u0441\u0435.\u0434\u0430\u0447\u0438\u043a \u0434\u043e\u0436\u0434\u044f.+7******* \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c\",         \"phone\": \"79490398005\",         \"email\": null,         \"opened\": \"1\",         \"active\": \"1\",         \"finish\": \"1\",         \"file_id\": null,         \"file_type\": null,         \"id_product\": \"0\",         \"message_id\": \"***\",         \"message_id2\": \"0\",         \"media_group_id\": \"***\",         \"dif\": \"1\",         \"reason\": \"\u041f\u0440\u043e\u0434\u0430\u043c\",         \"checked\": \"0\",         \"city_id\": \"15789526\",         \"region_id\": \"15789408\",         \"country_id\": \"3159\",         \"id_marka\": \"14\",         \"id_model\": \"554\",         \"year\": \"2021\",         \"probeg\": \"61000\",         \"volume\": \"2.0 \u043b.\",         \"color\": \"\u0441\u0438\u043d\u0438\u0439\",         \"license\": \"0\",         \"power\": null,         \"published\": \"1\",         \"joomla_sended\": \"0\",         \"username\": \"&lt;a href='tg:\/\/user?id=***'&gt;\u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c&lt;\/a&gt;\",         \"first_name\": \"\\\"\\\\u0410\\\\u043b\\\\u0435\\\\u043a\\\\u0441\\\\u0430\\\\u043d\\\\u0434\\\\u0440\\\"\",         \"last_name\": null,         \"probeg_\": \"61 000 \u043a\u043c.\",         \"price_\": \"3 850 000\",         \"power_\": \"0\",         \"link_advert\": \"***\",         \"marka\": \"Honda\",         \"marka_\": \"Honda\",         \"model\": \"CR-V\",         \"model_\": \"CR_V\",         \"properties\": \" \u2022 &lt;strong&gt;\u0413\u043e\u0434 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044f&lt;\/strong&gt;: 2021\\n \u2022 &lt;strong&gt;\u0426\u0432\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044f&lt;\/strong&gt;: \u0441\u0438\u043d\u0438\u0439\\n \u2022 &lt;strong&gt;\u0422\u0438\u043f \u043a\u0443\u0437\u043e\u0432\u0430&lt;\/strong&gt;: \u0432\u043d\u0435\u0434\u043e\u0440\u043e\u0436\u043d\u0438\u043a 5-\u0434\u0432.\\n \u2022 &lt;strong&gt;\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435&lt;\/strong&gt;: \u043d\u0435 \u0431\u0438\u0442\u044b\u0439\\n \u2022 &lt;strong&gt;\u0422\u0438\u043f \u0442\u043e\u043f\u043b\u0438\u0432\u0430&lt;\/strong&gt;: \u0431\u0435\u043d\u0437\u0438\u043d\\n \u2022 &lt;strong&gt;\u041a\u041f\u041f&lt;\/strong&gt;: \u0432\u0430\u0440\u0438\u0430\u0442\u043e\u0440\\n \u2022 &lt;strong&gt;\u041f\u0440\u0438\u0432\u043e\u0434&lt;\/strong&gt;: \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0440\u0438\u0432\u043e\u0434\\n \u2022 &lt;strong&gt;\u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0443\u043b\u044f&lt;\/strong&gt;: \u043b\u0435\u0432\u044b\u0439\\n \u2022 &lt;strong&gt;\u041e\u0431\u044a\u0435\u043c \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f&lt;\/strong&gt;: 2.0 \u043b.\",         \"city\": \"\u0414\u043e\u043d\u0435\u0446\u043a\",         \"city_\": \"\u0414\u043e\u043d\u0435\u0446\u043a\"     },     \"images\": [         {             \"type\": \"image\/jpeg\",             \"base64\": \"\/9j\/4AAQSkZJRgABA*****CGNDUAf\/Z\"         },         {             \"type\": \"image\/jpeg\",             \"base64\": \"\/9j\/4AAQSkZ***VhNTtO58rcYj\/\/Z\"         },         {             \"type\": \"image\/jpeg\",             \"base64\": \"\/9j\/4AAQSkZ***dH\/\/2Q==\"         },         {             \"type\": \"image\/jpeg\",             \"base64\": \"\/9j\/4AAQS***QAzgYMD\/\/Z\"         },         {             \"type\": \"image\/jpeg\",             \"base64\": \"\/9j\/4AAQSkZJR***8AE75EuO4A\/9k=\"         },         {             \"type\": \"image\/jpeg\",             \"base64\": \"\/9j\/4AAQS***k0TkDaYB\/9k=\"         },         {             \"type\": \"image\/jpeg\",             \"base64\": \"\/9j\/4AAQ***cw\/Kw\/\/2Q==\"         },         {             \"type\": \"image\/jpeg\",             \"base64\": \"\/9j\/4AAQSk***CJDX\/2Q==\"         }     ],     \"alias\": \"669792aac145e\",     \"catid\": \"10\",     \"state\": 1,     \"language\": \"*\",     \"metakey\": \"\",     \"metadesc\": \"\" }<\/code><\/pre>\n<h3>\u041c\u0435\u0442\u043e\u0434 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 Joomla createArticle()<\/h3>\n<p>\u00a0\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0443\u044f\u0441\u044c \u0441\u0442\u0430\u0442\u044c\u044f\u043c\u0438 \u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c\u0438 \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043c\u0435\u0442\u043e\u0434 <code>createArticle()<\/code>. \u0412\u043a\u0440\u0430\u0442\u0446\u0435, \u043b\u043e\u0433\u0438\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u0435\u0442\u043e\u0434\u0430:<\/p>\n<ol>\n<li>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043f\u043e\u043b\u044f \u043a \u043d\u0435\u043c\u0443<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438.<\/p>\n<\/li>\n<li>\n<p>\u0415\u0449\u0451 \u0440\u0430\u0437 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0443\u0436\u0435 \u0441\u043e \u0432\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u043c\u0438.<\/p>\n<\/li>\n<\/ol>\n<p>\u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0430\u043b\u0438\u0430\u0441\u0430,\u00a0\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0430\u043f\u043a\u0438 \u0434\u043b\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a, \u0434\u0435\u043b\u0430\u043b\u0430 Joomla.\u00a0\u041d\u0435 \u043d\u0430\u0434\u043e \u0432 \u043f\u043b\u0430\u0433\u0438\u043d \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0448\u043d\u0435\u0435.<\/p>\n<p>\u0412 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u043c\u044b \u0432\u044b\u043d\u0435\u0441\u043b\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/6fa\/0eb\/aa1\/6fa0ebaa1122829b669bbd9d341e34db.png\" width=\"1048\" height=\"1252\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/6fa\/0eb\/aa1\/6fa0ebaa1122829b669bbd9d341e34db.png\"\/><\/figure>\n<p>\u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c\u0441\u044f 2 \u0440\u0430\u0437\u0430 &#8212; \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438 \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u043a \u043d\u0435\u043c\u0443 &#8212; \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u043c\u044b \u0432\u044b\u043d\u043e\u0441\u0438\u043c \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434\u00a0<code>saveArticle()<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430 \u0432\u0445\u043e\u0434 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043c\u0430\u0441\u0441\u0438\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 Joomla.  <\/p>\n<pre><code class=\"php\">&lt;?php \/**  * Creates an article.  *  * @return  void  *  * @throws  \\Exception  * @throws  \\RuntimeException  * @since   1.0  *\/ private function createArticle($data): int { \/**  * 1. \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b  * 2. \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043f\u043e\u043b\u044f \u043a \u043d\u0435\u043c\u0443  * 3. \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438.  * 4. \u0415\u0449\u0451 \u0440\u0430\u0437 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0443\u0436\u0435 \u0441\u043e \u0432\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u043c\u0438.  *  * \u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0430\u043b\u0438\u0430\u0441\u0430,  * \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0430\u043f\u043a\u0438 \u0434\u043b\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a, \u0434\u0435\u043b\u0430\u043b\u0430 Joomla.  * \u041d\u0435 \u043d\u0430\u0434\u043e \u0432 \u043f\u043b\u0430\u0433\u0438\u043d \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0448\u043d\u0435\u0435.  *\/  \/**  * @var array $article  \u041c\u0430\u0441\u0441\u0438\u0432 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430\u043c. \u041f\u0443\u0441\u0442\u043e\u0439 alias \u0438 id = 0 - \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u043d\u043e\u0432\u044b\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b.  *                      \u041f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0449\u0451 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u043f\u043e\u043b\u0435\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430  *\/ $article = [ 'id'         =&gt; 0, 'title'      =&gt; $data-&gt;get('title'), \/\/ \u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 'alias'      =&gt; '', \/\/ Empty alias to avoid notice warnings 'introtext'  =&gt; $this-&gt;params-&gt;get('article_text_enable', 0) ? $data-&gt;get('articletext') : '', \/\/ \u0422\u0435\u043a\u0441\u0442 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 'catid'      =&gt; $this-&gt;params-&gt;get('category_id', 0), \/\/ id \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u0438\u0437 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043f\u043b\u0430\u0433\u0438\u043d\u0430 'state'      =&gt; $this-&gt;params-&gt;get('default_state_published', 0), \/\/ \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0438\u0437 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 'language'   =&gt; '*', \/\/ \u042f\u0437\u044b\u043a - \u0432\u0441\u0435 'access'     =&gt; 1, \/\/ \u0413\u0440\u0443\u043f\u043f\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 public 'created_by' =&gt; $this-&gt;params-&gt;get('created_by') ?? null, \/\/ \u0410\u0432\u0442\u043e\u0440 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 ]; \/**  * \u0417\u0434\u0435\u0441\u044c \u043c\u044b \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c id \u0438 \u0430\u043b\u0438\u0430\u0441 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435,  * \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d \u041d\u041e\u0412\u042b\u0419 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b  *\/ list($article_id, $article_alias) = $this-&gt;saveArticle($article);   \/**  *  \u0427\u0430\u0441\u0442\u044c \u043a\u043e\u0434\u0430 \u043f\u043e\u043a\u0430 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u0432\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u043a \u044d\u0442\u043e\u043c\u0443 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0443 \u0447\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435  *\/  return $article_id; }<\/code><\/pre>\n<p>\u0417\u0434\u0435\u0441\u044c \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u043c\u0430\u0441\u0441\u0438\u0432 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u0438\u0445 \u0432 \u043c\u0435\u0442\u043e\u0434\u00a0<code>saveArticle()<\/code>. \u042d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u0432\u0435\u0440\u043d\u0451\u0442 \u043d\u0430\u043c id \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u0438 \u0435\u0433\u043e alias. \u041e\u043d\u0438 \u043d\u0443\u0436\u043d\u044b \u043d\u0430\u043c \u0431\u0443\u0434\u0443\u0442 \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u0435.<\/p>\n<h3>\u041c\u0435\u0442\u043e\u0434\u00a0saveArticle() &#8212; \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430<\/h3>\n<p>\u0412\u043e\u043e\u0431\u0449\u0435, \u0432\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 Joomla \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f\u043c:<\/p>\n<ol>\n<li>\n<p>\u0417\u0430\u0433\u0440\u0443\u0437\u0438 \u043d\u0443\u0436\u043d\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c (Model \u0438\u0437 MVC) \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 (\u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435)<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u043b\u0443\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430\u00a0<code>getItem()<\/code>\u00a0\u0438\u043b\u0438\u00a0<code>getItems()<\/code>. \u0412 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u0445 \u043c\u0435\u0442\u043e\u0434\u044b \u043c\u043e\u0433\u0443\u0442 \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u043e \u0440\u0430\u0437\u043d\u043e\u043c\u0443, \u043d\u043e \u0441\u0443\u0442\u044c \u043b\u043e\u0433\u0438\u043a\u0438 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u0430 \u0436\u0435.<\/p>\n<\/li>\n<li>\n<p>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0439 \u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u0430\u043a \u0442\u0435\u0431\u0435 \u043d\u0443\u0436\u043d\u043e.<\/p>\n<\/li>\n<li>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430 \u043c\u043e\u0434\u0435\u043b\u0438\u00a0<code>save()<\/code>.<\/p>\n<\/li>\n<\/ol>\n<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043d\u0438\u0436\u0435 \u043a\u043e\u0434 \u0445\u043e\u0440\u043e\u0448\u043e \u043e\u043f\u0438\u0441\u0430\u043d \u0432 \u0441\u0442\u0430\u0442\u044c\u0435\u00a0<a href=\"https:\/\/jpath.ru\/practice\/kak-programmno-sozdat-material-s-nastraivaemymi-polyami-na-php#sozdanie-materiala\" rel=\"noopener noreferrer nofollow\"><u>\u041a\u0430\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438<\/u><\/a>\u00a0\u043d\u0430 PHP \u0414\u043c\u0438\u0442\u0440\u0438\u044f \u0420\u0435\u043a\u0443\u043d\u0430 (<a class=\"mention\" href=\"\/users\/b2z\">@b2z<\/a>) \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u00a0<strong>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430<\/strong>. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a \u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043a \u043a\u043e\u0434\u0443 \u0438 \u0434\u0430\u043b\u0435\u0435. <\/p>\n<pre><code class=\"php\">&lt;?php \/**  * \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b  *  * @param   array  $article  *  * @return int article id  *  * @since 1.0.0  *\/ public function saveArticle(array $article): array {  $contentPath = JPATH_ADMINISTRATOR . '\/components\/com_content'; \/**  * \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u044c \u0438\u0437 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 - \u0435\u0439 \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043c\u043e\u0447\u044c  * \u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u0442\u043a\u0443\u0434\u0430 \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0444\u043e\u0440\u043c\u044b. \u0418\u0437 com_content \u043e\u043d\u0430  * \u0433\u0440\u0443\u0437\u0438\u0442 \u0438\u0445 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e  *\/ Form::addFormPath($contentPath . '\/models\/forms'); Form::addFormPath($contentPath . '\/model\/form'); Form::addFieldPath($contentPath . '\/models\/fields'); Form::addFieldPath($contentPath . '\/model\/field'); Form::addFormPath($contentPath . '\/forms');  \/** \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043c\u043e\u0434\u0435\u043b\u044c Article, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u0435\u043b\u0430\u0435\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 *\/ $mvcFactory = $this-&gt;getApplication()-&gt;bootComponent('com_content')-&gt;getMVCFactory(); $model      = $mvcFactory-&gt;createModel('Article', 'Administrator', ['ignore_request' =&gt; true]);  \/\/ Load the form. $form = $model-&gt;getForm($article, false);  if (!$form) { throw new \\RuntimeException('Error getting form: ' . $model-&gt;getError()); }  \/\/ Validate the form. if (!$model-&gt;validate($form, $article)) { throw new \\RuntimeException('Error validating article: ' . $model-&gt;getError()); }  \/\/ Emulate save task. $this-&gt;getApplication()-&gt;getInput()-&gt;set('task', 'save');  \/\/ Save an article. if (!$model-&gt;save($article)) { throw new \\RuntimeException('Error saving article: ' . $model-&gt;getError()); } $item = $model-&gt;getItem();  return [$item-&gt;id, $item-&gt;alias]; }<\/code><\/pre>\n<p>\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 (Model) Joomla \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430. \u0414\u043b\u044f \u0438\u0445 \u0440\u0430\u0431\u043e\u0442\u044b \u0431\u044b\u0432\u0430\u044e\u0442 \u043d\u0443\u0436\u043d\u044b \u0444\u043e\u0440\u043c\u044b (Joomla Form, ex JForm). \u0418 \u043e\u0431\u044b\u0447\u043d\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0443\u0442\u0438 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0444\u043e\u0440\u043c \u043c\u043e\u0436\u043d\u043e \u043f\u043e GET-\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0443 <code>option<\/code>, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440,\u00a0<code>option=com_content<\/code>,\u00a0<code>option=com_contact<\/code>\u00a0\u0438 \u0442.\u0434. \u041e\u0434\u043d\u0430\u043a\u043e, \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u00a0<code>option<\/code>\u00a0\u0443 \u043d\u0430\u0441 \u0440\u0430\u0432\u0435\u043d\u00a0<code>com_ajax<\/code>\u00a0\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c \u0438 \u043f\u0440\u043e\u0432\u0430\u043b\u0438\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0435\u0451 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438 (\u043a\u0430\u043a \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u0414\u043c\u0438\u0442\u0440\u0438\u044f) \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0435\u00a0<code>com_ajax<\/code>\u00a0\u043d\u0435\u0442 \u044d\u0442\u0438\u0445 \u0444\u043e\u0440\u043c \u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0444\u043e\u0440\u043c\u044b \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 Joomla \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u043d\u0435\u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0435 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0444\u043e\u0440\u043c\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430\u00a0<code>Form::addFormPath()<\/code>. \u042d\u0442\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430\u00a0<a href=\"https:\/\/github.com\/JPathRu\/plg-radicalform-newarticle\/blob\/develop\/newarticle.php#L99\" rel=\"noopener noreferrer nofollow\"><u>\u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u043b\u0430\u0433\u0438\u043d\u0435 New Article \u0434\u043b\u044f Radical Form<\/u><\/a>.\u00a0<\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u043c\u044b \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u00a0<code>id<\/code>\u00a0\u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u0438 \u0435\u0433\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439\u00a0<code>alias<\/code>.\u00a0<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u0432\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u0432 \u043c\u0435\u0442\u043e\u0434\u00a0<code>createArticle()<\/code>\u00a0\u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0443.<\/p>\n<h3>\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043f\u043e\u043b\u0435\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 Joomla \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u043c\u0435\u0442\u043e\u0434\u043e\u043c<\/h3>\n<p>\u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0414\u043c\u0438\u0442\u0440\u0438\u044f \u0420\u0435\u043a\u0443\u043d\u0430, \u0430 \u0442\u0430\u043a \u0436\u0435 \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u043a\u043e\u0434\u0430 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434 \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0445 \u043f\u043e\u043b\u0435\u0439 Joomla:<\/p>\n<pre><code class=\"php\">&lt;?php \/** @var \\Joomla\\Component\\Fields\\Administrator\\Model\\FieldModel $model *\/ \/\/ \u0413\u0440\u0443\u0437\u0438\u043c \u043c\u043e\u0434\u0435\u043b\u044c $model = $this-&gt;getApplication() -&gt;bootComponent('com_fields') -&gt;getMVCFactory() -&gt;createModel('Field', 'Administrator', ['ignore_request' =&gt; true]);  \/\/ \u041c\u0430\u0441\u0441\u0438\u0432 \u0441 \u043f\u043e\u043b\u044f\u043c\u0438 \u0432\u0438\u0434\u0430 id \u043f\u043e\u043b\u044f =&gt; \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044f $fields = [ 1 =&gt; 'Text', \/\/ \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0435 \u043f\u043e\u043b\u0435 3 =&gt; ['Value 2', 'Value 1'], \/\/ \u0441\u043f\u0438\u0441\u043e\u043a 4 =&gt; [2, 1] \/\/ \u0447\u0435\u043a\u0431\u043e\u043a\u0441\u044b ];  \/\/ \u0426\u0438\u043a\u043b\u043e\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043f\u043e\u043b\u044f foreach ($fields as $key =&gt; $value) { $model-&gt;setFieldValue($key, $articleId, $value); }<\/code><\/pre>\n<p>\u041d\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043f\u043e\u043b\u0435\u0439 \u0432 Joomla \u0435\u0441\u0442\u044c \u043f\u0440\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u0410 \u0437\u043d\u0430\u0447\u0438\u0442 \u043f\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u043f\u043e\u043b\u044f \u043c\u043e\u0434\u0435\u043b\u044c (Model) \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u00a0<code>com_fields<\/code>\u00a0\u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c \u043f\u0440\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0434\u043b\u044f\u00a0<strong>\u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f<\/strong>. \u0423 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u00a0<strong>\u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0441\u0435\u0441\u0441\u0438\u044f<\/strong>\u00a0(php session). \u0418 \u0432\u0441\u0451 \u0445\u043e\u0440\u043e\u0448\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 ajax-\u0437\u0430\u043f\u0440\u043e\u0441 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0438\u0434\u0451\u0442 \u0438\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430. \u0410 \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043a \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0441\u0435\u0441\u0441\u0438\u044f \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044f \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0438 \u043a \u0447\u0435\u043c\u0443 \u043d\u0435 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043b\u0430 &#8212; \u043f\u043e\u043b\u044f \u0431\u044b\u043b\u0438 \u043f\u0443\u0441\u0442\u044b\u0435. \u0412 Joomla REST API \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0438\u0434\u0451\u0442 \u0438\u0437-\u043f\u043e\u0434 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u0445 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043a\u0435\u043d \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f Joomla. \u041c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043f\u043e \u0442\u043e\u043a\u0435\u043d\u0443 \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0438 \u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043c\u0430\u0445\u0438\u043d\u0430\u0446\u0438\u044e:  <\/p>\n<pre><code class=\"php\">&lt;?php use Joomla\\CMS\\Factory; use Joomla\\CMS\\User\\User;  \/\/ \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f - \u0430\u0432\u0442\u043e\u0440\u0430 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 $user = new User(112); \/\/ 112 = user id \/\/ \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438\u0437-\u043f\u043e\u0434 \u043d\u0435\u0433\u043e Factory::getApplication()-&gt;loadIdentity($user);<\/code><\/pre>\n<p>\u041d\u043e \u043c\u0435\u0442\u043e\u0434\u00a0<code>setFieldValue()<\/code>\u00a0\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u043f\u0440\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0435\u0442\u043e\u0434\u0430\u00a0<code>FieldsHelper::canEditFieldValue()<\/code>. \u0412 \u043d\u0451\u043c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0431\u0435\u0440\u0451\u0442\u0441\u044f \u0438\u0437\u00a0<code>Factory::getUser()<\/code>, \u0433\u0434\u0435 \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0431\u0435\u0440\u0451\u0442\u0441\u044f \u0438\u0437 DI-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430, \u0430 \u0435\u0441\u043b\u0438 \u0435\u0433\u043e (\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f) \u0442\u0430\u043c \u043d\u0435\u0442, \u0442\u043e \u0438\u0437 \u0441\u0435\u0441\u0441\u0438\u0438&#8230; \u0412 \u043e\u0431\u0449\u0435\u043c, \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u043d\u0435 \u0431\u044b\u043b\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0433\u0440\u0443\u0437\u0438\u0442\u044c\u0441\u044f \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0432 \u0434\u0430\u043d\u043d\u0443\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0430\u043c\u044b\u043c \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u044b\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u0441\u0442\u0430\u043b\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u0435\u0439 \u043f\u0440\u043e\u0441\u0442\u044b\u043c \u043f\u0440\u044f\u043c\u044b\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0432 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>\u0426\u0435\u043b\u0438\u043a\u043e\u043c \u043c\u0435\u0442\u043e\u0434 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code class=\"php\">&lt;?php \/**  * \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043f\u043e\u043b\u044f \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430.  * \u0422\u0443\u0442 \u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 id \u043f\u043e\u043b\u044f \u0438 \u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f  * \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u0432\u0438\u0434\u0430 [ $field_id =&gt; $field_value ]  *  * @param   int  $articleId  Article ID.  *  * @return  void  *  * @throws  \\RuntimeException  * @since   1.0  *\/ private function saveArticleFields($articleId, $fields): void { \/**  * \u041a\u0430\u0440\u0442\u0430 \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f id \u043f\u043e\u043b\u0435\u0439 \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438  * [ $field_id =&gt; $field_value ]  *\/ $fields = [ 1 =&gt; trim($fields-&gt;probeg), 2 =&gt; trim($fields-&gt;year), 3 =&gt; trim($fields-&gt;marka), 4 =&gt; trim($fields-&gt;model), 5 =&gt; trim($fields-&gt;city), 6 =&gt; trim($fields-&gt;color), 7 =&gt; trim($fields-&gt;phone), ];   \/**  * \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u0434\u043b\u044f \u043f\u043e\u043b\u0435\u0439 (\u0447\u0442\u043e\u0431 \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0449\u0435) \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434,   * \u043a\u0443\u0434\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f id \u043f\u043e\u043b\u044f, id \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044f.   * \u041d\u043e \u0432\u043d\u0443\u0442\u0440\u0438 \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430 \u043f\u0440\u0430\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.   * \u0418\u043c\u0435\u0435\u0442 \u043b\u0438 \u043f\u0440\u0430\u0432\u043e \u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439 \u0438\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u0441 \u043d\u0438\u043c\u0438 \u0434\u0435\u043b\u0430\u0442\u044c.   * \u0418 \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0438\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u0432\u0441\u0451 \u0431\u044b\u043b\u043e \u043e\u043a. \u041e\u0434\u043d\u0430\u043a\u043e, \u043f\u0440\u0438 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0438   * \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0430 \u043d\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f php \u0441\u0435\u0441\u0441\u0438\u044f.   * \u041d\u0435\u0442 \u0441\u0435\u0441\u0441\u0438\u0438 - \u043d\u0435\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.   * \u041d\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f - \u043d\u0435\u0442 \u043f\u0440\u0430\u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u0418 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u0430,   * \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u043b\u044f \u043d\u0435 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u043b\u0438\u0441\u044c. \u041f\u043e\u043f\u044b\u0442\u0430\u043b\u0441\u044f \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0441\u0441\u0438\u044e \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f,   * \u043d\u043e \u0447\u0442\u043e-\u0442\u043e \u044d\u0442\u043e \u0434\u043e\u043b\u0433\u043e \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c. \u0421\u0434\u0435\u043b\u0430\u043b \u043f\u0440\u044f\u043c\u044b\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u043c \u0432 \u0431\u0430\u0437\u0443.  *\/   \/\/ Save the fields. foreach ($fields as $key =&gt; $value) {  $new_field = new \\stdClass();  $new_field-&gt;field_id = (int) $key; $new_field-&gt;item_id  = $articleId; $new_field-&gt;value = $value;  $this-&gt;getDatabase()-&gt;insertObject('#__fields_values', $new_field); } }<\/code><\/pre>\n<p>\u0412 \u043c\u0435\u0442\u043e\u0434\u0435\u00a0<code>createArticle()<\/code>\u00a0\u043c\u044b \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c \u043d\u0430 \u0441\u0442\u0440\u043e\u0447\u043a\u0435\u00a0\u00a0<code>list($article_id, $article_alias) = $this-&gt;saveArticle($article)<\/code>. \u0412\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u0442\u0443\u0434\u0430 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432\u044b\u0437\u043e\u0432 \u043c\u0435\u0442\u043e\u0434\u0430 \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u0435\u0439 Joomla.  <\/p>\n<pre><code class=\"php\">&lt;?php \/**  * \u0417\u0434\u0435\u0441\u044c \u043c\u044b \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c id \u0438 \u0430\u043b\u0438\u0430\u0441 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435,  * \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d \u041d\u041e\u0412\u042b\u0419 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b  *\/ list($article_id, $article_alias) = $this-&gt;saveArticle($article);  \/**  * \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043f\u043e\u043b\u044f  *\/ try { $this-&gt;saveArticleFields($article_id, $data-&gt;get('fields')); } catch (\\Exception) { throw new \\RuntimeException('Error saving article fields for article id : ' . $article_id); }<\/code><\/pre>\n<h3>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430, \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b Joomla<\/h3>\n<p>\u041a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u043c, \u0433\u0434\u0435 \u0443\u043a\u0430\u0437\u0430\u043d MIME \u0442\u0438\u043f \u0444\u0430\u0439\u043b\u0430 \u0438 \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0432\u00a0<code>base64<\/code>. \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043c\u0435\u0442\u043e\u0434\u00a0<code>convertBase64ImagesToFiles()<\/code>. \u0412\u0435\u0440\u043d\u0443\u0442\u044c \u044d\u0442\u043e\u0442 \u043c\u0435\u0442\u043e\u0434 \u043d\u0430\u043c \u0434\u043e\u043b\u0436\u0435\u043d \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0443\u0442\u0438 \u043a \u0433\u043e\u0442\u043e\u0432\u044b\u043c \u0444\u0430\u0439\u043b\u0430\u043c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439.<\/p>\n<p>\u041d\u0430\u043c \u043d\u0443\u0436\u043d\u044b \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u0430\u043c\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0438 \u0430\u043b\u0438\u0430\u0441 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430, \u0442\u0430\u043a \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u0433\u043e \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u0438\u043c\u044f \u043f\u0430\u043f\u043a\u0438 \u0434\u043b\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a. \u0418\u0437 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u043c\u044b \u0432\u043e\u0437\u044c\u043c\u0435\u043c \u043f\u0443\u0442\u044c \u043a \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0439 \u043f\u0430\u043f\u043a\u0435, \u0433\u0434\u0435 \u0431\u0443\u0434\u0443\u0442 \u043b\u0435\u0436\u0430\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432. \u041f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u0443\u044e \u043b\u043e\u0433\u0438\u043a\u0443, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044f \u0432 \u043f\u0443\u0442\u044c \u0433\u043e\u0434, \u043c\u0435\u0441\u044f\u0446 \u0438 \u0434\u0435\u043d\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430.<\/p>\n<pre><code class=\"php\">&lt;?php \/**  * \u0414\u0435\u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0438\u0437 base64 \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0438\u0445 \u0432 \u043f\u0430\u043f\u043a\u0443 \u0434\u043b\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439  * \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430  *  * @param array $images Array of arrays with images data  * @param string $image_path Path to images folder  *  * @return array  *  * @since 1.0.0  *\/ public function convertBase64ImagesToFiles($images, $image_path): array { \/\/ \u041f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e jpeg-\u0438, \u043d\u043e \u043c\u0430\u043b\u043e \u043b\u0438, \u0432\u0434\u0440\u0443\u0433 \u043f\u0440\u0438\u0434\u0443\u0442 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0432 \u0434\u0440\u0443\u0433\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435... $file_extensions = [ 'image\/gif' =&gt; 'gif', 'image\/jpeg' =&gt; 'jpg', 'image\/png' =&gt; 'png', 'image\/webp' =&gt; 'webp', 'image\/avif' =&gt; 'avif', ];  $saved_images = [];  \/** @var int $i \u0418\u0442\u0435\u0440\u0430\u0442\u043e\u0440, \u043e\u043d \u0436\u0435 \u0438\u043c\u044f \u0434\u043b\u044f \u0444\u0430\u0439\u043b\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 *\/ $i = 1; foreach ($images as $image) { $image_data = base64_decode($image['base64']);  \/** @var string $file_extension \u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e *\/ $file_extension = 'jpg'; \/\/ \u0415\u0441\u043b\u0438 \u0432\u0434\u0440\u0443\u0433 \u043f\u0440\u0438\u0448\u0451\u043b \u043d\u0435 jpeg - \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043d\u044b\u0445 \/\/ \u041c\u043e\u0436\u043d\u043e \u0435\u0449\u0451 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 MediaHelper'\u043e\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430 \u0440\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430 \u0438 \u0442.\u0434.  if(in_array($image['type'], $file_extensions)) { $file_extension = $file_extensions[$image['type']]; } \/\/ \u0424\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u043c \u043f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443 $file_name = $image_path . '\/' . $i . '.'.$file_extension;  \/\/ \u0414\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430 \u043d\u0443\u0436\u0435\u043d \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0443\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c JPATH_SITE if (File::write(JPATH_SITE . '\/'. $file_name, $image_data)) { $saved_images[] = $file_name; } $i++; }  return $saved_images; }<\/code><\/pre>\n<p>\u0412\u0435\u0440\u043d\u0451\u043c\u0441\u044f \u043a \u043c\u0435\u0442\u043e\u0434\u0443\u00a0<code>createArticle()<\/code>\u00a0\u0438 \u0432\u044b\u0437\u043e\u0432\u0435\u043c \u043c\u0435\u0442\u043e\u0434 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u043f\u043e\u0441\u043b\u0435 \u043c\u0435\u0442\u043e\u0434\u0430 \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0439.  <\/p>\n<pre><code class=\"php\">&lt;?php \/** * \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u0438\u0445 \u043d\u0443\u0436\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432\u0441\u0442\u0443\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430 * \u0438 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0432 \u0442\u0435\u043b\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430. * \u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0443, \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 - \u0430\u043b\u0438\u0430\u0441 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430. * $data-&gt;get('images') - \u043c\u0430\u0441\u0441\u0438\u0432 *\/  \/** @var string $image_path \u041f\u0443\u0442\u044c \u0434\u043e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u043e\u0442 \u043a\u043e\u0440\u043d\u044f \u0441\u0430\u0439\u0442\u0430 \u0441\u043e \u0441\u043b\u0435\u0448\u0435\u043c \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0438 \u0431\u0435\u0437 \u0441\u043b\u0435\u0448\u0430 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0432\u0438\u0434\u0430 \/images\/folder *\/ $image_path = $this-&gt;params-&gt;get('image_path') . '\/' . $article_alias;  $images = $this-&gt;convertBase64ImagesToFiles($data-&gt;get('images'), $image_path);  \/\/ \u0415\u0441\u043b\u0438 \u043c\u0430\u0441\u0441\u0438\u0432 \u0441 \u043f\u0443\u0442\u044f\u043c\u0438 \u043a \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u043c \u043d\u0435 \u043f\u0443\u0441\u0442\u043e\u0439 - \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0435\u0449\u0451 \u0440\u0430\u0437 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b if(count($images)) {    $article_images = new Registry();      \/\/ \u0412\u043a\u043b\u044e\u0447\u0451\u043d \u043b\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c 1-\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043a\u0430\u043a \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432\u0441\u0442\u0443\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430?   \/\/ \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u0430   if($this-&gt;params-&gt;get('article_image_intro_enable', 0) == 1)   {   $article_images-&gt;set('image_intro', $images[0]); \/\/  \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432\u0441\u0442\u0443\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430   $article_images-&gt;set('float_intro',''); \/\/  \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432\u0441\u0442\u0443\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430: right - \u0432\u043f\u0440\u0430\u0432\u043e, left - \u0432\u043b\u0435\u0432\u043e, none - \u0431\u0435\u0437 \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u044f   $article_images-&gt;set('image_intro_alt',''); \/\/  \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432\u0441\u0442\u0443\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430   $article_images-&gt;set('image_intro_caption',''); \/\/  \u0442\u0435\u043a\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0434 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c \u0432\u0441\u0442\u0443\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430   }      \/\/ \u0415\u0441\u043b\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0434\u043b\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430.   $full_text_image = $this-&gt;params-&gt;get('article_image_full_enable', 0);   if($full_text_image != 0)   {   $article_image = '';      if($full_text_image == 'first'){   $article_image = $images[0];   } elseif($full_text_image == 'second' &amp;&amp; array_key_exists(1, $images)) {   \/\/ \u0415\u0441\u043b\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u043f\u0440\u0438\u0448\u043b\u043e \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u043e\u0434\u043d\u0430 \u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \"\u0432\u0442\u043e\u0440\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\"   $article_image = $images[1];   }      if(!empty($article_image))   {   $article_images-&gt;set('image_fulltext', $article_image); \/\/  \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430   $article_images-&gt;set('float_fulltext', ''); \/\/  \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430: right - \u0432\u043f\u0440\u0430\u0432\u043e, left - \u0432\u043b\u0435\u0432\u043e, none - \u0431\u0435\u0437 \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u044f   $article_images-&gt;set('image_fulltext_alt', ''); \/\/  \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430   $article_images-&gt;set('image_fulltext_caption', ''); \/\/  \u0442\u0435\u043a\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0434 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430   }   }   $article['images'] = $article_images-&gt;toString();      \/**    * \u041a\u0410\u0420\u0422\u0418\u041d\u041a\u0418 \u0412 \u0422\u0415\u041b\u0415 \u0421\u0422\u0410\u0422\u042c\u0418!    * \u0422\u0443\u0442 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043a\u0443\u0434\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438.    * \u0412\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043c\u043d\u043e\u0433\u043e, \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u043e\u0434\u0438\u043d: \u0431\u0435\u0440\u0435\u043c $article-&gt;introtext \u0438 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0438\u0445 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0438\u043b\u0438 \u0432 \u043a\u043e\u043d\u0446\u0435.    * \u041b\u0438\u0431\u043e \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b:    * - \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u0430\u044f \u0437\u0430\u043c\u0435\u043d\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e str_replace \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u0432 \u0434\u0443\u0445\u0435 \u0448\u043e\u0440\u0442-\u043a\u043e\u0434\u0430 {TG_IMAGES}    * - \u0438\u043b\u0438 \u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0431\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u0443\u0442\u0438 \u043a \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u043c \u0448\u043e\u0440\u0442\u043a\u043e\u0434\u0430\u043c\u0438 \u0434\u043b\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u0430-\u043b\u044f WT Content image gallery    * https:\/\/web-tolk.ru\/dev\/joomla-plugins\/wt-content-image-gallery    *\/      $rendered_images = '';   foreach ($images as $image)   {   $alt_text = ' ';   \/\/ \u0410\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0434\u043b\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438   \/\/ \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0447\u0438\u0442\u0430\u0435\u043c https:\/\/t.me\/webtolkru\/252   $img_attribs = [   'class' =&gt; 'css-class-for-images asdfasdf asdfasdf asdfasdf',   'loading' =&gt; 'lazy',   'title' =&gt; '\u0430\u0442\u0440\u0438\u0431\u0443\u0442 title \u0434\u043b\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a'   ];   $rendered_images .= HTMLHelper::image($image, $alt_text, $img_attribs);   }   \/*    * \u041f\u0440\u0438\u043c\u0435\u0440 \u043e\u0431\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u0432 \u0448\u043e\u0440\u0442-\u043a\u043e\u0434\u044b \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u043d\u0442 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432.    * \u0422\u0430\u043a\u043e\u0439 \u0448\u043e\u0440\u0442-\u043a\u043e\u0434 \u043f\u043e\u0434\u043e\u0439\u0434\u0435\u0442 \u0434\u043b\u044f Simple Image Gallery \u0438\u043b\u0438 WT Content Image Gallery.    *\/   \/\/ $rendered_images = '{gallery}'.$rendered_images.'{\/gallery}';      \/**    *  \u0415\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f WT Content Image Gallery, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u0438 \u043d\u0435 \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f    *  \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e HTMLHelper, \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0432 \u043f\u043b\u0430\u0433\u0438\u043d \u043f\u0443\u0442\u0438 \u043a \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u043c.    *  \u0410 \u0446\u0438\u043a\u043b foreach ($images as $image) \u0443\u0431\u0440\u0430\u0442\u044c - \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c.    *  \u041f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430    *\/   \/\/ $rendered_images = '{gallery}'.implode(',', $images).'{\/gallery}'; }<\/code><\/pre>\n<p><a href=\"https:\/\/web-tolk.ru\/dev\/joomla-plugins\/wt-content-image-gallery\" rel=\"noopener noreferrer nofollow\">WT Content image gallery<\/a> &#8212; \u043f\u0430\u043a\u0435\u0442 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u0433\u0430\u043b\u0435\u0440\u0435\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0438 \u0432\u0438\u0434\u0435\u043e \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u0432 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0438 \u043c\u043e\u0434\u0443\u043b\u0438 Joomla, \u0430 \u0442\u0430\u043a \u0436\u0435 \u0432\u0435\u0437\u0434\u0435, \u0433\u0434\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043f\u043b\u0430\u0433\u0438\u043d\u044b \u0433\u0440\u0443\u043f\u043f\u044b <code>content<\/code>. <\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e, \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0443\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b, \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u043d\u0435\u043c\u0443 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0438\u0445 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0442\u0435\u043a\u0441\u0442\u0430 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430.<\/p>\n<pre><code class=\"php\">&lt;?php \/\/ \u0412\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0432 \u043a\u043e\u043d\u0435\u0446 \u0442\u0435\u043a\u0441\u0442\u0430 $article['introtext'] .= $rendered_images;  \/\/ id \u041d\u0415 \u0420\u0410\u0412\u041d\u041e \u041d\u0423\u041b\u042e - \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b. $article['id'] = $article_id; \/\/ \u0441 \u0430\u043b\u0438\u0430\u0441\u043e\u043c \u043d\u0430\u0434\u0451\u0436\u043d\u0435\u0435 $article['alias'] = $article_alias; \/\/ \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c... $this-&gt;saveArticle($article); \/\/ \u0412\u0435\u0440\u043d\u0435\u043c id \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430, \u0432\u0434\u0440\u0443\u0433 \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f... return $article_id;<\/code><\/pre>\n<p>\u0426\u0435\u043b\u0438\u043a\u043e\u043c \u043c\u0435\u0442\u043e\u0434\u00a0<code>createArticle()<\/code>\u00a0\u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0442\u0430\u043a:  <\/p>\n<pre><code class=\"php\">&lt;?php \/**  * Creates an article.  *  * @return  void  *  * @throws  \\Exception  * @throws  \\RuntimeException  * @since   1.0  *\/ private function createArticle($data): int { \/**  * 1. \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b  * 2. \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043f\u043e\u043b\u044f \u043a \u043d\u0435\u043c\u0443  * 3. \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438.  * 4. \u0415\u0449\u0451 \u0440\u0430\u0437 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0443\u0436\u0435 \u0441\u043e \u0432\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u043c\u0438.  *  * \u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0430\u043b\u0438\u0430\u0441\u0430,  * \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0430\u043f\u043a\u0438 \u0434\u043b\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a, \u0434\u0435\u043b\u0430\u043b\u0430 Joomla.  * \u041d\u0435 \u043d\u0430\u0434\u043e \u0432 \u043f\u043b\u0430\u0433\u0438\u043d \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0448\u043d\u0435\u0435.  *\/  \/**  * @var array $article  \u041c\u0430\u0441\u0441\u0438\u0432 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430\u043c. \u041f\u0443\u0441\u0442\u043e\u0439 alias \u0438 id = 0 - \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u043d\u043e\u0432\u044b\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b.  *                      \u041f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0449\u0451 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u043f\u043e\u043b\u0435\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430  *\/ $article = [ 'id'         =&gt; 0, 'title'      =&gt; $data-&gt;get('title'), \/\/ Title 'alias'      =&gt; '', \/\/ Empty alias to avoid notice warnings 'introtext'  =&gt; $this-&gt;params-&gt;get('article_text_enable', 0) ? $data-&gt;get('articletext') : '', \/\/ Text 'catid'      =&gt; $this-&gt;params-&gt;get('category_id', 0), \/\/ Category 'state'      =&gt; $this-&gt;params-&gt;get('default_state_published', 0), \/\/ Publishing state 'language'   =&gt; '*', \/\/ Language 'access'     =&gt; 1, \/\/ Access level 'created_by' =&gt; $this-&gt;params-&gt;get('created_by') ?? null, \/\/ Access level ]; \/**  * \u0417\u0434\u0435\u0441\u044c \u043c\u044b \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u043c id \u0438 \u0430\u043b\u0438\u0430\u0441 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435,  * \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d \u041d\u041e\u0412\u042b\u0419 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b  *\/ list($article_id, $article_alias) = $this-&gt;saveArticle($article);  \/**  * \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043f\u043e\u043b\u044f  *\/ try { $this-&gt;saveArticleFields($article_id, $data-&gt;get('fields'));  } catch (\\Exception) {  throw new \\RuntimeException('Error saving article fields for article id : ' . $article_id);  }   \/**  * \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438, \u0442\u0430\u043a \u043a\u0430\u043a \u0438\u0445 \u043d\u0443\u0436\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432\u0441\u0442\u0443\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430  * \u0438 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0432 \u0442\u0435\u043b\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430.  * \u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0443, \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 - \u0430\u043b\u0438\u0430\u0441 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430.  * $data-&gt;images - \u043c\u0430\u0441\u0441\u0438\u0432  *\/  \/** @var string $image_path \u041f\u0443\u0442\u044c \u0434\u043e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u043e\u0442 \u043a\u043e\u0440\u043d\u044f \u0441\u0430\u0439\u0442\u0430 \u0441\u043e \u0441\u043b\u0435\u0448\u0435\u043c \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0438 \u0431\u0435\u0437 \u0441\u043b\u0435\u0448\u0430 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0432\u0438\u0434\u0430 \/images\/folder *\/ $image_path = $this-&gt;params-&gt;get('image_path') . '\/' . $article_alias;  $images = $this-&gt;convertBase64ImagesToFiles($data-&gt;get('images'), $image_path);  \/\/ \u0415\u0441\u043b\u0438 \u043c\u0430\u0441\u0441\u0438\u0432 \u0441 \u043f\u0443\u0442\u044f\u043c\u0438 \u043a \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u043c \u043d\u0435 \u043f\u0443\u0441\u0442\u043e\u0439 - \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0435\u0449\u0451 \u0440\u0430\u0437 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b if(count($images)) {  $article_images = new Registry(); \/\/ \u0412\u043a\u043b\u044e\u0447\u0451\u043d \u043b\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c 1-\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043a\u0430\u043a \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432\u0441\u0442\u0443\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430? \/\/ \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 if($this-&gt;params-&gt;get('article_image_intro_enable', 0) == 1) { $article_images-&gt;set('image_intro', $images[0]); \/\/  \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0432\u0441\u0442\u0443\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430 $article_images-&gt;set('float_intro',''); \/\/  \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432\u0441\u0442\u0443\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430: right - \u0432\u043f\u0440\u0430\u0432\u043e, left - \u0432\u043b\u0435\u0432\u043e, none - \u0431\u0435\u0437 \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u044f $article_images-&gt;set('image_intro_alt',''); \/\/  \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432\u0441\u0442\u0443\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430 $article_images-&gt;set('image_intro_caption',''); \/\/  \u0442\u0435\u043a\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0434 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c \u0432\u0441\u0442\u0443\u043f\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430 }  \/\/ \u0415\u0441\u043b\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u0434\u043b\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430. $full_text_image = $this-&gt;params-&gt;get('article_image_full_enable', 0); if($full_text_image != 0) { $article_image = '';  if($full_text_image == 'first'){ $article_image = $images[0]; } elseif($full_text_image == 'second' &amp;&amp; array_key_exists(1, $images)) { \/\/ \u0415\u0441\u043b\u0438 \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u043f\u0440\u0438\u0448\u043b\u043e \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u043e\u0434\u043d\u0430 \u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \"\u0432\u0442\u043e\u0440\u0430\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\" $article_image = $images[1]; }  if(!empty($article_image)) { $article_images-&gt;set('image_fulltext', $article_image); \/\/  \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430 $article_images-&gt;set('float_fulltext', ''); \/\/  \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430: right - \u0432\u043f\u0440\u0430\u0432\u043e, left - \u0432\u043b\u0435\u0432\u043e, none - \u0431\u0435\u0437 \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u044f $article_images-&gt;set('image_fulltext_alt', ''); \/\/  \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430 $article_images-&gt;set('image_fulltext_caption', ''); \/\/  \u0442\u0435\u043a\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u0434 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430 } } $article['images'] = $article_images-&gt;toString();  \/**  * \u041a\u0410\u0420\u0422\u0418\u041d\u041a\u0418 \u0412 \u0422\u0415\u041b\u0415 \u0421\u0422\u0410\u0422\u042c\u0418!  * \u0422\u0443\u0442 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043a\u0443\u0434\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438.  * \u0412\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043c\u043d\u043e\u0433\u043e, \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u043e\u0434\u0438\u043d: \u0431\u0435\u0440\u0435\u043c $article-&gt;introtext \u0438 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0438\u0445 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0438\u043b\u0438 \u0432 \u043a\u043e\u043d\u0446\u0435.  * \u041b\u0438\u0431\u043e \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b:  * - \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u0430\u044f \u0437\u0430\u043c\u0435\u043d\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e str_replace \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u0432 \u0434\u0443\u0445\u0435 \u0448\u043e\u0440\u0442-\u043a\u043e\u0434\u0430 {TG_IMAGES}  * - \u0438\u043b\u0438 \u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0431\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u0443\u0442\u0438 \u043a \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u043c \u0448\u043e\u0440\u0442\u043a\u043e\u0434\u0430\u043c\u0438 \u0434\u043b\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u0430-\u043b\u044f WT Content image gallery  * https:\/\/web-tolk.ru\/dev\/joomla-plugins\/wt-content-image-gallery  *\/  $rendered_images = ''; foreach ($images as $image) { $alt_text = ' '; \/\/ \u0410\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u0434\u043b\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \/\/ \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0447\u0438\u0442\u0430\u0435\u043c https:\/\/t.me\/webtolkru\/252 $img_attribs = [ 'class' =&gt; 'css-class-for-images asdfasdf asdfasdf asdfasdf', 'loading' =&gt; 'lazy', 'title' =&gt; '\u0430\u0442\u0440\u0438\u0431\u0443\u0442 title \u0434\u043b\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a' ]; $rendered_images .= HTMLHelper::image($image, $alt_text, $img_attribs); } \/*  * \u041f\u0440\u0438\u043c\u0435\u0440 \u043e\u0431\u0451\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a \u0432 \u0448\u043e\u0440\u0442-\u043a\u043e\u0434\u044b \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u043d\u0442 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432.  * \u0422\u0430\u043a\u043e\u0439 \u0448\u043e\u0440\u0442-\u043a\u043e\u0434 \u043f\u043e\u0434\u043e\u0439\u0434\u0435\u0442 \u0434\u043b\u044f Simple Image Gallery \u0438\u043b\u0438 WT Content Image Gallery.  *\/ \/\/ $rendered_images = '{gallery}'.$rendered_images.'{\/gallery}';  \/**  *  \u0415\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f WT Content Image Gallery, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u0438 \u043d\u0435 \u0440\u0435\u043d\u0434\u0435\u0440\u0438\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f  *  \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e HTMLHelper, \u0430 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0432 \u043f\u043b\u0430\u0433\u0438\u043d \u043f\u0443\u0442\u0438 \u043a \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u043c.  *  \u0410 \u0446\u0438\u043a\u043b foreach ($images as $image) \u0443\u0431\u0440\u0430\u0442\u044c - \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c.  *  \u041f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430  *\/ \/\/ $rendered_images = '{gallery}'.implode(',', $images).'{\/gallery}';  $article['introtext'] .= $rendered_images; \/\/ \u0412\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0432 \u043a\u043e\u043d\u0435\u0446 \u0442\u0435\u043a\u0441\u0442\u0430 $article['id'] = $article_id; $article['alias'] = $article_alias;   $this-&gt;saveArticle($article);   }  return $article_id; }<\/code><\/pre>\n<h2>\u0412\u043c\u0435\u0441\u0442\u043e \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f<\/h2>\n<p>\u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u043b\u0430\u0433\u0438\u043d \u0441\u0442\u043e\u0438\u0442 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0441\u0442\u043e\u0438\u0442 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0434\u043b\u044f \u0441\u0432\u043e\u0438\u0445 \u043d\u0443\u0436\u0434 \u0432 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, &#171;\u043a\u0430\u0440\u0442\u0443&#187; \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f id \u043f\u043e\u043b\u0435\u0439 \u0438 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0443\u0436\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u043b\u043e\u0433\u0438\u043a\u0430 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0443\u0442\u0438 \u043a \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u043c \u0438\u043b\u0438 \u0436\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0442\u0435\u043a\u0441\u0442\u0430 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 \u043e\u0442 \u043c\u0443\u0441\u043e\u0440\u043d\u044b\u0445 \u0442\u0435\u0433\u043e\u0432 \u0438 \u044d\u043c\u043e\u0434\u0437\u0438 &#8212; \u044d\u0442\u043e \u0432\u0441\u0451 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0437\u0430 \u0440\u0430\u043c\u043a\u0430\u043c\u0438 \u0441\u0442\u0430\u0442\u044c\u0438. \u041d\u043e \u0432 \u0446\u0435\u043b\u043e\u043c, \u0434\u0430\u043d\u043d\u0430\u044f \u0437\u0430\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u043e\u043c\u043e\u0447\u044c \u0443\u0447\u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441\u044b \u0440\u0430\u0431\u043e\u0442\u044b Joomla \u0438 \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443.<\/p>\n<h2>\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b<\/h2>\n<h3>\u0420\u0435\u0441\u0443\u0440\u0441\u044b \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430:<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/joomlaforum.ru\/\" rel=\"noopener noreferrer nofollow\">\u0444\u043e\u0440\u0443\u043c \u0440\u0443\u0441\u0441\u043a\u043e\u0439 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 Joomla<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/joomlaportal.ru\/\" rel=\"noopener noreferrer nofollow\">\u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442-\u043f\u043e\u0440\u0442\u0430\u043b Joomla-\u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/vc.ru\/s\/1146097-joomla\" rel=\"noopener noreferrer nofollow\">https:\/\/vc.ru\/s\/1146097-joomla<\/a>\u00a0&#8212; \u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e Joomla \u043d\u0430 VC.<\/p>\n<\/li>\n<\/ul>\n<h3>Telegram:<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/t.me\/joomlaru\" rel=\"noopener noreferrer nofollow\">\u0427\u0430\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u00abJoomla! \u043f\u043e-\u0440\u0443\u0441\u0441\u043a\u0438\u00bb<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/t.me\/projoomla\" rel=\"noopener noreferrer nofollow\">Joomla \u0434\u043b\u044f \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u043e\u0432, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 Joomla<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/t.me\/joomlafeed\" rel=\"noopener noreferrer nofollow\">\u041d\u043e\u0432\u043e\u0441\u0442\u0438 \u043e Joomla! \u0438 \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u043e-\u0440\u0443\u0441\u0441\u043a\u0438<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/t.me\/joomlatalks\" rel=\"noopener noreferrer nofollow\">\u0410\u043d\u0433\u043b\u043e\u044f\u0437\u044b\u0447\u043d\u044b\u0439 \u0447\u0430\u0442 \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430<\/a>.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/t.me\/joomlahub\" rel=\"noopener noreferrer nofollow\">\u041d\u043e\u0432\u043e\u0441\u0442\u0438 Joomla! \u043f\u043e-\u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438<\/a><\/p>\n<\/li>\n<\/ul>\n<p>\u041c\u043e\u0439 \u043b\u0438\u0447\u043d\u044b\u0439 Telegram-\u043a\u0430\u043d\u0430\u043b &#8212; <a href=\"https:\/\/t.me\/webtolkru\" rel=\"noopener noreferrer nofollow\">WebTolkRu<\/a>.<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/832854\/\"> https:\/\/habr.com\/ru\/articles\/832854\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432 Joomla \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043d\u044b\u0439 \u0441\u0430\u0439\u0442-\u0441\u0442\u0430\u0442\u0435\u0439\u043d\u0438\u043a \u0438\u043b\u0438 \u043d\u043e\u0432\u043e\u0441\u0442\u043d\u0438\u043a, \u043d\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433, \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u0434\u043e\u0441\u043a\u0443 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0439 \u0438 \u0442.\u0434. \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0433\u043e\u0434\u0430 \u0441 2016 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u0444\u0438\u043a\u0430 \u0438\u0437 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u0438\u043a\u043e\u0432 \u0443\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u043e\u0446.\u0441\u0435\u0442\u0438, \u0441\u0442\u0440\u0438\u043c\u0438\u043d\u0433\u043e\u0432\u044b\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b, \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u044b. \u041c\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0441\u0442\u0430\u043b\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Telegram. \u0418 \u0432 \u0441\u0432\u044f\u0437\u0438 \u0441 \u044d\u0442\u0438\u043c \u0432\u0441\u0442\u0430\u0451\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u043e\u0431 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u043d\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0441\u0430\u0439\u0442\u0430 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043e\u043c \u0438\u0437 \u0441\u043e\u0446.\u0441\u0435\u0442\u0435\u0439 \u0438 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u043e\u0432. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043a\u0430\u043a \u0440\u0430\u0437 \u0438 \u043d\u0443\u0436\u043d\u043e \u0437\u043d\u0430\u0442\u044c \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0432 Joomla 4 \/ Joomla 5 \u0438 \u0441\u0442\u0430\u0440\u0448\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c.<\/p>\n<p>\u041a\u043e \u043c\u043d\u0435 \u043e\u0431\u0440\u0430\u0442\u0438\u043b\u0441\u044f \u043e\u0434\u0438\u043d \u0438\u0437 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043c\u043e\u0438\u0445 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u0441 \u043f\u0440\u043e\u0441\u044c\u0431\u043e\u0439 \u043f\u043e\u043c\u043e\u0447\u044c \u0441 \u0438\u043c\u043f\u043e\u0440\u0442\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u043f\u0430\u0440\u0441\u0438\u043d\u0433\u0430 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0439 \u043e \u043f\u0440\u043e\u0434\u0430\u0436\u0435 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u0435\u0439 \u0432 Telegram. \u0421\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0441\u0430\u0439\u0442\u0430 \u043f\u043e CRON \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0441\u044f \u0437\u0430\u043f\u0440\u043e\u0441 \u043a \u0441\u0435\u0440\u0432\u0438\u0441\u0443, \u0442\u043e\u0442, \u0432\u0438\u0434\u0438\u043c\u043e, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0439 \u0438 \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u0431\u044b\u043b\u0438 &#8212; \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b \u0432\u0435\u0431\u0445\u0443\u043a (\u0437\u0430\u043f\u0440\u043e\u0441) \u043a \u0441\u0430\u0439\u0442\u0443 \u0441 \u043d\u043e\u0432\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0412 \u043e\u0434\u043d\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u043b\u043e\u0441\u044c \u043e\u0434\u043d\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435. \u041a \u0441\u043b\u043e\u0432\u0443 \u0441\u043a\u0430\u0437\u0430\u0442\u044c. \u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0431\u044b\u043b\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0441 Joomla 4+, \u0442\u0430\u043a \u043a\u0430\u043a \u0443 Joomla \u0435\u0441\u0442\u044c REST API \u0438 \u0432\u0441\u0451 \u0432 \u0446\u0435\u043b\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e, \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0438\u0441\u044c. \u041e\u0434\u043d\u0430\u043a\u043e, \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u043b\u0430\u0441\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u044b\u043b\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u043f\u043e\u043b\u044f \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432, \u0430 \u0438\u0445 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u0438 id \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430 \u0438 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0442\u0438\u0447\u043d\u043e. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u043b\u0430\u0433\u0438\u043d \u0433\u0440\u0443\u043f\u043f\u044b\u00a0<code>ajax<\/code>\u00a0\u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438.<\/p>\n<h2>\u0417\u0430\u0434\u0430\u0447\u0430<\/h2>\n<p>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 Joomla \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u0438\u0437 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430. \u041f\u043b\u0430\u0433\u0438\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443, \u043f\u043e\u043d\u044f\u0442\u043d\u0443\u044e \u0434\u043b\u044f Joomla, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043f\u043e\u043b\u0435\u0439. \u0412\u043e \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u0430\u043a\u0436\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438 \u0432\u00a0<code>base64<\/code>\u00a0\u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0445 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u0430\u043a \u0444\u0430\u0439\u043b\u044b \u0432 \u043f\u0430\u043f\u043a\u0443 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b.<\/p>\n<h2>\u0421\u043f\u0438\u0441\u043e\u043a \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b<\/h2>\n<p>\u041f\u0440\u0435\u0436\u0434\u0435 \u0445\u043e\u0447\u0443 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438 \u0438 \u0441\u0442\u0430\u0442\u044c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u0436\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u0438 \u043f\u043e\u0445\u043e\u0436\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438:<\/p>\n<ol>\n<li>\n<p>\u0421\u0442\u0430\u0442\u044c\u044f \u0414\u043c\u0438\u0442\u0440\u0438\u044f \u0420\u0435\u043a\u0443\u043d\u0430 <a class=\"mention\" href=\"\/users\/b2z\">@b2z<\/a> \u00a0<a href=\"https:\/\/jpath.ru\/practice\/kak-programmno-sozdat-material-s-nastraivaemymi-polyami-na-php\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0441 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u043c\u0438 \u043f\u043e\u043b\u044f\u043c\u0438 \u043d\u0430 PHP<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/JPathRu\/cli-scripts\" rel=\"noopener noreferrer nofollow\">\u041f\u0440\u0438\u043c\u0435\u0440 CLI-\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0434\u043b\u044f Joomla \u0438\u0437 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0430 GitHub<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/JPathRu\/plg-radicalform-newarticle\" rel=\"noopener noreferrer nofollow\">\u041f\u043b\u0430\u0433\u0438\u043d \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u0438\u0437 \u0444\u043e\u0440\u043c\u044b \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438 \u0434\u043b\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u0430 Radical Form. \u041a\u043e\u0434 \u043d\u0430 GitHub<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u0421\u0442\u0430\u0442\u044c\u044f \u0412\u043b\u0430\u0434\u0438\u043c\u0438\u0440\u0430 \u0415\u0433\u043e\u0440\u043e\u0432\u0430\u00a0<a href=\"https:\/\/sitogon.ru\/blog\/250-kak-programmno-dobavit-statyu-v-joomla-3-i-joomla-4\" rel=\"noopener noreferrer nofollow\">\u041a\u0430\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e \u0432 Joomla 3 \u0438 Joomla 4<\/a><\/p>\n<\/li>\n<li>\n<p>\u041c\u043e\u044f \u0441\u0442\u0430\u0442\u044c\u044f\u00a0<a href=\"https:\/\/web-tolk.ru\/blog\/sozdanie-plaginov-s-uchjotom-novoj-struktury-joomla-4\" rel=\"noopener noreferrer nofollow\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b Joomla 4<\/a><\/p>\n<\/li>\n<\/ol>\n<p>\u0417\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u043d\u0430 \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u0441\u0442\u0430\u0442\u044c\u044f? \u0417\u0430\u0442\u0435\u043c, \u0447\u0442\u043e \u0437\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0443\u0442 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u044e\u0430\u043d\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432.<\/p>\n<h2>\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u0447\u0438. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 ajax \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0432 Joomla.<\/h2>\n<p>\u041f\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430 \u043f\u043b\u0430\u0433\u0438\u043d \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0434\u043b\u044f Joomla 4.4.6. \u0412 \u043f\u044f\u0442\u043e\u0439 \u043b\u0438\u043d\u0435\u0439\u043a\u0435 \u043d\u0430 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0431\u044b\u043b\u0430 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 Joomla 5.1.2, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0432\u0435\u043b\u0430\u0441\u044c \u043d\u0430 \u043d\u0435\u0439.\u00a0<\/p>\n<h3>\u041a\u0440\u0430\u0442\u043a\u0438\u0439 \u043e\u0431\u0437\u043e\u0440 \u0437\u0430\u0434\u0430\u0447\u0438<\/h3>\n<p>\u0422\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438, \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u0437 \u0441\u0435\u0431\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435: \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 Joomla \u0442\u043e\u0447\u043a\u0443 \u0432\u0445\u043e\u0434\u0430 \u0432\u0438\u0434\u0430\u00a0<code>index.php?option=com_ajax&amp;group=ajax&amp;plugin=autodealerpro&amp;format=raw<\/code>, \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0432\u0438\u0434\u0435 JSON (\u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e), \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c \u043d\u0430 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0435 \u0438 \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0432 \u043d\u0443\u0436\u043d\u043e\u0439 \u043d\u0430\u043c \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0432\u0437\u044f\u0442\u044c \u043c\u043e\u0434\u0435\u043b\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 (\u043f\u0430\u0442\u0442\u0435\u0440\u043d MVC, \u0433\u0434\u0435 M &#8212; Model) \u0438 \u0441\u043a\u043e\u0440\u043c\u0438\u0442\u044c \u0435\u0439 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0435. \u0422\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043f\u0440\u043e\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u043e\u0442\u043e\u043c \u0434\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043f\u043e\u043b\u0435\u0439. \u0417\u0430\u0442\u0435\u043c, \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438, \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0443\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0438 \u0441\u043d\u043e\u0432\u0430 \u0435\u0433\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c. \u041f\u043e\u0447\u0435\u043c\u0443 \u0431\u0443\u0434\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a &#8212; \u0447\u0438\u0442\u0430\u0435\u043c \u0434\u0430\u043b\u0435\u0435.<\/p>\n<h3>\u0412\u044b\u0431\u043e\u0440 \u0433\u0440\u0443\u043f\u043f\u044b \u0434\u043b\u044f \u043f\u043b\u0430\u0433\u0438\u043d\u0430<\/h3>\n<p>\u0412 Joomla \u0440\u0430\u0437\u0432\u0438\u0442\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432. \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f Joomla \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u0435\u0433\u043e \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430 \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f. \u042d\u0442\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u044f &#171;\u0441\u043b\u0443\u0448\u0430\u044e\u0442&#187; \u043f\u043b\u0430\u0433\u0438\u043d\u044b, \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0442 \u0438\u0445 \u043e\u0431\u0440\u0430\u0442\u043d\u043e, \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442 \u043b\u044e\u0431\u0443\u044e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0443\u044e \u0432 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0443. \u041f\u043b\u0430\u0433\u0438\u043d\u044b \u0433\u0440\u0443\u043f\u043f\u044b system \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432\u0441\u0435\u0433\u0434\u0430 \u0438 \u0440\u0430\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u043f\u043b\u0430\u0433\u0438\u043d\u044b \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0433\u0440\u0443\u043f\u043f. \u0415\u0441\u043b\u0438 \u0432\u0430\u0448 \u043f\u043b\u0430\u0433\u0438\u043d \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438 \u0432\u0435\u0437\u0434\u0435 \u0438 \u0440\u0435\u0448\u0430\u0435\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u043c\u0435\u0441\u0442\u0430\u0445 \u0441\u0430\u0439\u0442\u0430 &#8212; \u0434\u0435\u043b\u0430\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u043f\u043b\u0430\u0433\u0438\u043d, \u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c, \u0447\u0442\u043e \u043a \u043d\u0435\u043c\u0443 \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u0434\u0430\u0436\u0435 \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d \u043d\u0435 \u043d\u0443\u0436\u0435\u043d. \u041f\u043b\u0430\u0433\u0438\u043d\u044b \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0445 \u0433\u0440\u0443\u043f\u043f \u0432\u044b\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u0438 \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u044e\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0443, \u0442\u0430\u043a \u043a\u0430\u043a \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u043a\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043d\u0443\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041d\u043e \u044d\u0442\u043e \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0438 \u043f\u043e\u0440\u043e\u0439 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c 2-3 \u043f\u043b\u0430\u0433\u0438\u043d\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u0432 \u043e\u0434\u043d\u043e\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u043c.<\/p>\n<h3>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u0430<\/h3>\n<p>\u042f \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u044e, \u0447\u0442\u043e \u0441\u043e \u0441\u0442\u0430\u0442\u044c\u0451\u0439\u00a0<a href=\"https:\/\/web-tolk.ru\/blog\/sozdanie-plaginov-s-uchjotom-novoj-struktury-joomla-4\" rel=\"noopener noreferrer nofollow\">\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u043d\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b Joomla 4<\/a>\u00a0\u0432\u044b \u0443\u0436\u0435 \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0438 \u0438\u043c\u0435\u0435\u0442\u0435 \u043e\u0431\u0449\u0435\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043f\u043b\u0430\u0433\u0438\u043d \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0434\u0435\u0441\u044c \u0431\u0443\u0434\u0435\u0442 \u043e\u043f\u0438\u0441\u0430\u043d\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u0438\u043a\u0430 \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438.<\/p>\n<p>\u041d\u0430\u0448 \u043f\u043b\u0430\u0433\u0438\u043d \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f\u00a0<code>autodealerpro<\/code>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u0441\u0435 \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u044b \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u0434\u0430\u043d\u043d\u043e\u0435 \u0438\u043c\u044f. \u0412 ajax \u043f\u043b\u0430\u0433\u0438\u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u0442\u043e\u0434\u00a0<code>onAjaxAutodealerpro<\/code>\u00a0&#8212; \u0442\u043e\u0447\u043a\u0430 \u0432\u0445\u043e\u0434\u0430 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0438 \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.\u00a0<\/p>\n<pre><code class=\"php\">&lt;?php namespace Joomla\\Plugin\\Ajax\\Autodealerpro\\Extension;  \/\/ use Joomla\\CMS\\Event\\Plugin\\AjaxEvent; \/\/ for Joomla 5+ use Joomla\\Event\\Event; \/\/ For Joomla 4+  and Joomla 5 use Joomla\\CMS\\Form\\Form; use Joomla\\CMS\\HTML\\HTMLHelper; use Joomla\\Database\\DatabaseAwareTrait; use Joomla\\Filesystem\\File; use Joomla\\Registry\\Registry; use Joomla\\CMS\\Plugin\\CMSPlugin; use Joomla\\Event\\SubscriberInterface; use Joomla\\CMS\\Log\\Log;  \/\/ phpcs:disable PSR1.Files.SideEffects \\defined('_JEXEC') or die; \/\/ phpcs:enable PSR1.Files.SideEffects  Log::addLogger( ['text_file' =&gt; 'plg_ajax_autodiealderpro.php'], Log::ALL, ['plg_ajax_autodiealderpro'] );   final class Autodealerpro extends CMSPlugin implements SubscriberInterface { use DatabaseAwareTrait;  \/**  *  * @return array  *  * @throws \\Exception  * @since 4.1.0  *  *\/ public static function getSubscribedEvents(): array { return [ 'onAjaxAutodealerpro' =&gt; 'onAjaxAutodealerpro' ]; } \/**  * \u0412 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f Joomla 4+ \u0442\u0438\u043f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 $event \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c Event  * \u0414\u043b\u044f Joomla 5+ - AjaxEvent.   * \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0444\u0430\u0439\u043b\u0435 \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 \u0441 use \u0440\u0430\u0441\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c   * use Joomla\\CMS\\Event\\Plugin\\AjaxEvent; \u0434\u043b\u044f Joomla 5  * \u0438 \u0417\u0410\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c use Joomla\\Event\\Event;  *   * \u0421\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043e Joomla 5. \u0425\u043e\u0442\u044f \u0438 \u0442\u0430\u043a \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.  *\/ public function onAjaxAutodealerpro(Event $event): void {  \/**  * \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438. \u0412 \u043f\u0430\u0440\u0430\u043c\u0442\u0435\u0440\u0430\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0435\u0441\u0442\u044c \"\u043a\u043e\u0434\". \u042d\u0442\u043e\u0442 \u0436\u0435 \u043a\u043e\u0434  * \u0434\u043e\u043b\u0436\u0435\u043d \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u0432\u0445\u043e\u0434\u044f\u0449\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0435 \u0438\u0437 \u0441\u0435\u0440\u0432\u0438\u0441\u0430.  * \u0415\u0441\u043b\u0438 \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0435\u0442 \u0438\u043b\u0438 \u043e\u043d \u043d\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 - \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u043c.  *\/ $input = $this-&gt;getApplication()-&gt;getInput(); \/** @var string $code \u0422\u043e\u043a\u0435\u043d \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 *\/ $code = $this-&gt;params-&gt;get('code'); \/** @var string $external_code \u0422\u043e\u043a\u0435\u043d \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u0435 *\/ $external_code = $input-&gt;get('code', '');  if ($code != $external_code)  { return; }    \/** \u041f\u041e\u041b\u0423\u0427\u0410\u0415\u041c \u0414\u0410\u041d\u041d\u042b\u0415 \u0418\u0417 JSON *\/ $json = (new Registry())-&gt;loadArray($input-&gt;json-&gt;getArray());  \/\/ \u0410 \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u043e\u0432 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 \/\/$json = (new Registry())-&gt;loadFile(__DIR__ . '\/test.json');  try { $this-&gt;createArticle($json); } catch (\\Exception $e) { Log::add($e-&gt;getMessage(), Log::ERROR, 'plg_' . $this-&gt;_type . '_' . $this-&gt;_name); } } }<\/code><\/pre>\n<p>\u0412 Joomla 5 \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0441\u0442\u0430\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u044d\u0442\u0438\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0431\u044b\u0442\u0438\u0439. \u0414\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043d\u044b\u0445 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 &#8212;\u00a0<code>$event-&gt;getContext()<\/code>\u00a0\u0432\u043c\u0435\u0441\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f\u00a0<code>$event-&gt;getArgument(0);<\/code>\u00a0\u0438\u043b\u0438\u00a0<code>$event-&gt;updateEventResult($data)<\/code>\u00a0\u0434\u043b\u044f\u00a0<code>AjaxEvent<\/code>\u00a0\u0434\u043b\u044f \u0438 \u0442.\u0434. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u043a\u0430\u043a \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u044f\u0445 \u043a \u043a\u043e\u0434\u0443, \u0442\u0438\u043f \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430\u00a0<code>$event<\/code>\u00a0\u0434\u043b\u044f Joomla 4 \u0438 Joomla 5 \u0440\u0430\u0437\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f. \u0412 Joomla 5 \u0441\u0442\u043e\u0438\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u00a0<code>Joomla\\CMS\\Event\\Plugin\\AjaxEvent<\/code>. \u041e\u0434\u043d\u0430\u043a\u043e, \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0442\u0438\u043f\u00a0<code>Event<\/code>\u00a0\u0438 \u0442\u043e\u0433\u0434\u0430 \u043f\u043b\u0430\u0433\u0438\u043d \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u043e\u0431\u0435 \u043b\u0438\u043d\u0435\u0439\u043a\u0438 CMS.  <\/p>\n<h3>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445<\/h3>\n<p>\u041d\u0430 \u0432\u0445\u043e\u0434 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c json \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b. \u0421\u0440\u0430\u0437\u0443 \u043e\u0431\u0440\u0430\u0449\u0430\u0435\u043c \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0438\u0437 Telegram \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f web \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e &#171;\u0433\u0440\u044f\u0437\u043d\u044b\u0439&#187; \u0442\u0435\u043a\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0443\u0436\u043d\u043e \u043e\u0447\u0438\u0449\u0430\u0442\u044c \u043e\u0442 \u0432\u0441\u044f\u043a\u0438\u0445 \u044d\u043c\u043e\u0434\u0437\u0438, \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u043d\u044b\u0445 \u0434\u043b\u044f Telegram \u0442\u0435\u0433\u043e\u0432 \u0430-\u043b\u044f\u00a0<code>&lt;tg-spoiler&gt;<\/code>, \u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u0432\u0445\u043e\u0434\u0438\u043b\u043e \u0432 \u043a\u0440\u0443\u0433 \u0437\u0430\u0434\u0430\u0447 \u043d\u0430 \u0434\u0430\u043d\u043d\u043e\u043c \u044d\u0442\u0430\u043f\u0435.<\/p>\n<pre><code class=\"json\">{     \"title\": \"\u041f\u0440\u043e\u0434\u0430\u043c: Honda CR-V 2.0 \u043b.,2021 \u0433., 61 000 \u043a\u043c.\",     \"articletext\": \"&lt;b&gt;\u041f\u0440\u043e\u0434\u0430\u043c: Honda CR-V 2.0 \u043b.,  2021 \u0433.,  61 000 \u043a\u043c.&lt;\/b&gt;\\n\\n&lt;b&gt;\u0425\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438&lt;\/b&gt;\\n\\n \u2022 &lt;b&gt;\u041f\u0440\u043e\u0431\u0435\u0433:&lt;\/b&gt; 61 000 \u043a\u043c.\\n \u2022 &lt;strong&gt;\u0413\u043e\u0434 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044f&lt;\/strong&gt;: 2021\\n \u2022 &lt;strong&gt;\u0426\u0432\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044f&lt;\/strong&gt;: \u0441\u0438\u043d\u0438\u0439\\n \u2022 &lt;strong&gt;\u0422\u0438\u043f \u043a\u0443\u0437\u043e\u0432\u0430&lt;\/strong&gt;: \u0432\u043d\u0435\u0434\u043e\u0440\u043e\u0436\u043d\u0438\u043a 5-\u0434\u0432.\\n \u2022 &lt;strong&gt;\u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435&lt;\/strong&gt;: \u043d\u0435 \u0431\u0438\u0442\u044b\u0439\\n \u2022 &lt;strong&gt;\u0422\u0438\u043f \u0442\u043e\u043f\u043b\u0438\u0432\u0430&lt;\/strong&gt;: \u0431\u0435\u043d\u0437\u0438\u043d\\n \u2022 &lt;strong&gt;\u041a\u041f\u041f&lt;\/strong&gt;: \u0432\u0430\u0440\u0438\u0430\u0442\u043e\u0440\\n \u2022 &lt;strong&gt;\u041f\u0440\u0438\u0432\u043e\u0434&lt;\/strong&gt;: \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0440\u0438\u0432\u043e\u0434\\n \u2022 &lt;strong&gt;\u0420\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0443\u043b\u044f&lt;\/strong&gt;: \u043b\u0435\u0432\u044b\u0439\\n \u2022 &lt;strong&gt;\u041e\u0431\u044a\u0435\u043c \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u044f&lt;\/strong&gt;: 2.0 \u043b.\\n\\n&lt;b&gt;\u0421\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c&lt;\/b&gt;: 3 850 000 RUB\\n\\n&lt;strong&gt;\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e:&lt;\/strong&gt; \u041f\u0440\u043e\u0434\u0430\u043c \u0445\u043e\u043d\u0434\u0430 \u0441\u0440\u04322.0\u0433\u0438\u0431\u0440\u0438\u0434 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0430\u0446\u0438\u044f \u0442\u0443\u0440\u0438\u043d\u0433.\u043c\u0430\u0448\u0438\u043d\u043a\u0430 \u0432 \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438.\u0432\u0441\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043f\u043e\u043c\u0435\u043d\u044f\u043d\u044b.\u0434\u0430\u0447\u0438\u043a\u0438 \u0441\u043b\u0435\u043f\u044b\u0445 \u0437\u043e\u043d.\u044d\u043b\u0435\u043a\u0442\u0440\u043e \u0441\u0438\u0434\u0435\u043d\u0438\u044f.\u043f\u0430\u043c\u044f\u0442\u044c \u0441\u0438\u0434\u0435\u043d\u0438\u0439 \u043f\u043e\u0434\u043e\u0433\u0440\u0435\u0432.\u0434\u0432\u0443\u0445\u0437\u043e\u043d\u044b\u0439 \u043a\u043b\u0438\u043c\u0430\u0442.\u043a\u043d\u043e\u043f\u043a\u0430 \u0441\u0442\u0430\u0440\u0442 \u0441\u0442\u043e\u043f.\u0434\u0430\u0447\u0438\u043a \u0441\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u044f \u0430\u0432\u0442\u043e \u0441\u0430\u043c\u043e \u0442\u043e\u0440\u043c\u043e\u0436\u0435\u043d\u0438\u0435.\u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0432 \u043f\u043e\u043b\u043e\u0441\u0435.\u0434\u0430\u0447\u0438\u043a \u0434\u043e\u0436\u0434\u044f.+7******* \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c\\n\\n? \u041f\u0440\u043e\u0434\u0430\u0432\u0435\u0446 &lt;a href='tg:\/\/user?id=*******'&gt;\u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c&lt;\/a&gt; \\n? &lt;tg-spoiler&gt;*******&lt;\/tg-spoiler&gt; &lt;i&gt;(\u0442\u043a\u043d\u0438\u0442\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u043d\u043e\u043c\u0435\u0440\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430)&lt;\/i&gt;\\n\u2705 &lt;u&gt;\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u043e\u0431\u0449\u0438\u0442\u0435 \u043c\u043d\u0435, \u0447\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442\u0435\u0441\u044c \u043f\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u044e \u0441 *******&lt;\/u&gt;\u2757\ufe0f\\n\\n\\n#\u0414\u043e\u043d\u0435\u0446\u043a #Honda #2021_\u0433 #3850000_RUB #\u0441\u0438\u043d\u0438\u0439\\n\\n\u2729 &lt;a href=\\\"https:\/\/t.me\/*******\\\" target=\\\"_blank\\\" rel=\\\"noreferrer noopener\\\"&gt;\u041f\u0440\u043e\u0434\u0430\u0442\u044c \/ \u041a\u0443\u043f\u0438\u0442\u044c&lt;\/a&gt; \u2729 &lt;a href=\\\"https:\/\/t.me\/*******\\\" target=\\\"_blank\\\" rel=\\\"noreferrer noopener\\\"&gt;\u041f\u043e\u043c\u043e\u0449\u044c&lt;\/a&gt; \u2729 \\n\\n&lt;blockquote&gt;\u041a\u0430\u043a \u0432\u0430\u043c \u0430\u0432\u0442\u043e? \u041e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0440\u0435\u0430\u043a\u0446\u0438\u0438! ?&lt;\/blockquote&gt;\\n\u2800\\n\",     \"fields\": {         \"id\": \"2244\",         \"created\": \"2024-07-16 14:49:06\",         \"updated\": \"2024-07-16 14:42:49\",         \"chat_id\": \"***\",         \"name\": \"\",         \"price\": \"3850000\",         \"currency\": \"RUB\",         \"channel_id\": \"-*****\",         \"description\": \"&lt;strong&gt;\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e:&lt;\/strong&gt; \u041f\u0440\u043e\u0434\u0430\u043c \u0445\u043e\u043d\u0434\u0430 \u0441\u0440\u04322.0\u0433\u0438\u0431\u0440\u0438\u0434 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0430\u0446\u0438\u044f \u0442\u0443\u0440\u0438\u043d\u0433.\u043c\u0430\u0448\u0438\u043d\u043a\u0430 \u0432 \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438.\u0432\u0441\u0435 \u0440\u0430\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u0438 \u043f\u043e\u043c\u0435\u043d\u044f\u043d\u044b.\u0434\u0430\u0447\u0438\u043a\u0438 \u0441\u043b\u0435\u043f\u044b\u0445 \u0437\u043e\u043d.\u044d\u043b\u0435\u043a\u0442\u0440\u043e \u0441\u0438\u0434\u0435\u043d\u0438\u044f.\u043f\u0430\u043c\u044f\u0442\u044c \u0441\u0438\u0434\u0435\u043d\u0438\u0439 \u043f\u043e\u0434\u043e\u0433\u0440\u0435\u0432.\u0434\u0432\u0443\u0445\u0437\u043e\u043d\u044b\u0439 \u043a\u043b\u0438\u043c\u0430\u0442.\u043a\u043d\u043e\u043f\u043a\u0430 \u0441\u0442\u0430\u0440\u0442 \u0441\u0442\u043e\u043f.\u0434\u0430\u0447\u0438\u043a \u0441\u0431\u043b\u0438\u0436\u0435\u043d\u0438\u044f \u0430\u0432\u0442\u043e \u0441\u0430\u043c\u043e \u0442\u043e\u0440\u043c\u043e\u0436\u0435\u043d\u0438\u0435.\u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0432 \u043f\u043e\u043b\u043e\u0441\u0435.\u0434\u0430\u0447\u0438\u043a \u0434\u043e\u0436\u0434\u044f.+7******* \u0442\u0435\u043b\u0435\u0433\u0440\u0430\u043c\",         \"description_\": \"\u041f\u0440\u043e\u0434\u0430\u043c \u0445\u043e\u043d\u0434\u0430<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-427959","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/427959","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=427959"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/427959\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=427959"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=427959"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=427959"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}