Новости Joomla

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

👩‍💻 Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод triggerEvent(), с помощью которого раньше вызывались события для плагинов. Теперь чтобы в своём коде вызвать событие для плагина и получить от него результаты нужно:- создать объект класса события- передать в него параметры

use Joomla\CMS\Event\AbstractEvent;use Joomla\CMS\Factory;use Joomla\CMS\Plugin\PluginHelper;// Грузим плагины нужных группPluginHelper::importPlugin('system');// Создаём объект события$event = AbstractEvent::create('onAfterInitUniverse', [    'subject' => $this,    'data'    => $data, // какие-то данные    'article' => $article, // ещё материал вдовесок    'product' => $product, // и товаров подвезли]);// Триггерим событиеFactory::getApplication()->getDispatcher()->dispatch(    $event->getName(), // Тут можно строку передать 'onAfterInitUniverse'    $event);// Получаем результаты// В случае с AbstractEvent это может быть не 'result',// а что-то ещё - куда сами отдадите данные.// 2-й аргумент - значение по умолчанию, // если не получены результаты$results = $event->getArgument('result', []);
Плюсы такого подхода - вам не нужно запоминать порядок аргументов и проверять их наличие. Если вы написали свой класс события, то в плагине можно получать аргументы с помощью методов $event->getArticle(), $event->getData(), $event->getProduct() и подобными - реализуете сами под свои нужды. Если такой класс события написали, то создаёте экземпляр своего класса события и укажите его явно в аргументе eventClass
use Joomla\Component\MyComponent\Administrator\Event\MyCoolEvent;$event = MyCoolEvent::create('onAfterInitUniverse', [    'subject'    => $this,    'eventClass' => MyCoolEvent::class, // ваш класс события    'data'       => $data, // какие-то данные    'article'    => $article, // ещё материал вдовесок    'product'    => $product, // и товаров подвезли]);
Ожидаемо, что класс вашего события будет расширять AbsractEvent или другие классы событий Joomla.🙁 Есть неприятный нюанс - нельзя просто так вызывать событие и ничего не передать в аргументы. Аргумент subject обязательный. Но если вы всё-таки не хотите туда ничего передавать - передайте туда пустой stdClass или объект Joomla\registry\Registry.
@joomlafeed#joomla #php #webdev

Голосование

Помог ли вам этот хак?

Да, очень
86 (38.2%)
Да, но совсем немного
18 (8%)
Нет, ничего не изменилось
7 (3.1%)
Нет, даже немного хуже стало
6 (2.7%)
Нет, только все испортил
3 (1.3%)
Побоялся ставить, вдруг хуже будет
18 (8%)
Побоялся ставить - недоверяю автору
5 (2.2%)
У меня хак, написанный собственноручно
5 (2.2%)
Не вижу надобности в хаке - и без него все хорошо
26 (11.6%)
Другое
51 (22.7%)

Проголосовало пользователей: 172

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

HerrOber

  • Захожу иногда
  • 74
  • 1 / 0
  • realmadrid.com.ua
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #360 : 08.01.2008, 16:59:30 »
народ, помогите пожалуйста. У меня на сайте в коде 2 заголовка: один сразу после тега <head>, а второй среди тегов <meta>. Первый заголовок называется "название", а второй - "название - главная". Так вот вопрос, какой из них нужно убрать и как это сделать. Пожалуйста, помогите.
*

archer1981

  • Захожу иногда
  • 285
  • 13 / 0
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #361 : 09.01.2008, 07:56:49 »
народ, помогите пожалуйста. У меня на сайте в коде 2 заголовка: один сразу после тега <head>, а второй среди тегов <meta>. Первый заголовок называется "название", а второй - "название - главная". Так вот вопрос, какой из них нужно убрать и как это сделать. Пожалуйста, помогите.
Скорее всего нужно убрать публикацию этого метатэга в глобальных настройках сайта. Один метатэг даёт Джумла, другой - хак к ней.
http://walkspb.ru - Энциклопедия Санкт-Петербурга
*

HerrOber

  • Захожу иногда
  • 74
  • 1 / 0
  • realmadrid.com.ua
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #362 : 09.01.2008, 15:44:55 »
В метатегах поставил, чтобы не показывало <title>, а все равно показывает. Что же делать?

Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #363 : 10.01.2008, 07:50:28 »
народ, помогите пожалуйста. У меня на сайте в коде 2 заголовка: один сразу после тега <head>, а второй среди тегов <meta>. Первый заголовок называется "название", а второй - "название - главная". Так вот вопрос, какой из них нужно убрать и как это сделать. Пожалуйста, помогите.
лучше скажи, какой хак ты имеешь ввиду? Их много "развелось"
*

HerrOber

  • Захожу иногда
  • 74
  • 1 / 0
  • realmadrid.com.ua
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #364 : 10.01.2008, 11:36:41 »
В смысле хак? Я абсолютно ничего не ставил дополнительного. Мне просто нужно убрать второй тайтл, почему-то их у меня 2, непонятно, почему.
*

Ale][R

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #365 : 18.01.2008, 16:32:39 »
Помогите советом - никак не разберусь.
Цитировать
Открываем файл /includes/frontend.php
Находим в нем строчки:
  $mainframe->appendMetaTag( 'description', $mosConfig_MetaDesc );
  $mainframe->appendMetaTag( 'keywords', $mosConfig_MetaKeys );
и заменяем на
  $description = '';
  $keywords = '';
 
  $_meta_keys_index = -1;
  $_meta_desc_index = -1;
 
  $n = count( $mainframe->_head['meta'] );
  for ($i = 0; $i < $n; $i++) {
    if ($mainframe->_head['meta'][$i][0] == 'keywords') {
      $_meta_keys_index = $i;
      $keywords = $mainframe->_head['meta'][$i][1];               
    } else if ($mainframe->_head['meta'][$i][0] == 'description') {
      $_meta_desc_index = $i;
      $description = $mainframe->_head['meta'][$i][1];               
    }
  }
 
  if (!$description) {
    $mainframe->appendMetaTag( 'description', $mosConfig_MetaDesc );
  }
 
  if (!$keywords) {
    $mainframe->appendMetaTag( 'keywords', $mosConfig_MetaKeys );
  }
Сохраняем изменения в файле
После внесения описанной модификации, глобальные ключевые слова и глобальное описание будут отображаться только на тех страницах, для которых значения ключевых слов и описания не заданы локально.
Все равно на главной странице в description отображается не то что прописано в глобальных настройках description а суммируются все description'ы статей, которые опубликованы на главной. Помогите пожалуйста, совсем уже запутался...
*

HES

  • Новичок
  • 8
  • 0 / 0
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #366 : 27.01.2008, 21:01:53 »
После устанвоки Хака, на главной странице все названяи статей заключены в тег <h1>  :dry:

Как сделать чтоюы не было названия в <h1> в водных частях статей на гл. странице?
*

PaLyCH

  • Давно я тут
  • 956
  • 146 / 19
  • Менеджер проектов
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #367 : 21.02.2008, 10:54:04 »
Дык это сборка, а не отдельный патч!

Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #368 : 21.02.2008, 18:31:57 »
Мозги ! Подскажите, для этой русской версии хак есть ? Joomla_1.0.13_RE-Stable-Full_Package.tar.gz  !!!???!!!
Я попробовал поставить хак Shur'а - Joomla1.0.13Eng-TitleHack.rar   - получилось ! Конечно подменю "параметры" теперь на английском, а так ошибок не заметил....
Впринципе теперь и так работает(по крайне мере пока...), но все же может есть специальная русская версия ?
« Последнее редактирование: 21.02.2008, 19:39:00 от Mitridat »
*

PaLyCH

  • Давно я тут
  • 956
  • 146 / 19
  • Менеджер проектов
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #369 : 13.03.2008, 22:46:02 »
После устанвоки Хака, на главной странице все названяи статей заключены в тег <h1>  :dry:

Как сделать чтоюы не было названия в <h1> в водных частях статей на гл. странице?
Ничего страшного в этом нету. Для главной страницы это терпимо, а вот когда внутренние страницы будут содержать более одного тега н1, то уже будет хуже
*

Garun

  • Захожу иногда
  • 304
  • 17 / 3
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #370 : 15.03.2008, 23:47:00 »
Ничего страшного в этом нету...
Ню-ню... Бог в помощь! Только потом не бегите на серч с вопросами, почему Ваш сайт первый в выдаче.. с конца  :o
Готов к труду и обороне!
*

archer1981

  • Захожу иногда
  • 285
  • 13 / 0
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #371 : 18.03.2008, 13:49:43 »
Хотелось бы сделать одно уточнение по поводу хака. Второй раз столкнулся с проблемой совместимости хака и мамбота ContentTemplater. В мамботе прописана функция работы над тэгом title, потому он нагло переписывается несмотря на хак. Для устранения этого недоразумения из файла contemplater.php необходимо удалить функцию:

Цитировать
      // HEAD TITLE REWRITTING
      if( $task == 'view' && $option == 'com_content') {
         $insert_title = '';
         if( $title_clear ) {
            $GLOBALS['mosConfig_sitename'] = '';
         }
         
         $insert_title = (@$row->title) ? @$row->title : '';
         if( $title_selector && isset($row->title_alias) && @$row->title_alias !='' ) {
            $insert_title = $row->title_alias;
         }
         
         if( $title_category && isset( $row->category )) {
            $_category = preg_match( "#<a.*?>(.*?)</a>#is", $row->category, $m );
            $insert_title = $m[1] . $title_splitter . $insert_title;
         }
         
         if( $title_section && isset( $row->section )) {
            $_section = preg_match( "#<a.*?>(.*?)</a>#is", $row->category, $m );
            $insert_title = $m[1] . $title_splitter . $insert_title;
         }
         
         $GLOBALS['mosConfig_sitename'] = $title_begin_text .' '. $GLOBALS['mosConfig_sitename'];
         $insert_title .= ' '.$title_end_text;
         $mainframe->SetPageTitle( $insert_title );
      }

С уважением...
http://walkspb.ru - Энциклопедия Санкт-Петербурга

Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #372 : 10.04.2008, 18:45:03 »
А как на счет Joomla 1.0.15?
*

inc!

  • Осваиваюсь на форуме
  • 32
  • 7 / 1
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #373 : 10.04.2008, 20:58:40 »
Да, для 15 версии адаптируйте пожалуйста.

Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #374 : 13.04.2008, 20:18:08 »
Форумчане ну помогите с версией Joomla 1.0.15, нигде найти хак для нее не могу. Может у кого есть поделитесь пожалйста.
*

Garun

  • Захожу иногда
  • 304
  • 17 / 3
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #375 : 13.04.2008, 23:33:58 »
Юзаю это...
Готов к труду и обороне!

Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #376 : 14.04.2008, 00:23:48 »
Спасибо большое. Буду пробовать.
*

inf4mi

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #377 : 14.04.2008, 01:11:08 »
есть оригинальная 1.0.15
где взять хак-тайтл??

Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #378 : 14.04.2008, 01:31:50 »
Не могу скачать FullSEOPatch_Joomla_1.0.15-RE.zip с указанного сайта, может ли кто-то перезалить его сюда?
*

Garun

  • Захожу иногда
  • 304
  • 17 / 3
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #379 : 14.04.2008, 02:17:11 »
Не вопрос ;)

[вложение удалено Администратором]
Готов к труду и обороне!

Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #380 : 14.04.2008, 11:52:53 »
Поставил сей хак, но джумла не пускает в админку с оговоркой "Неверная сессия". Что делать, как это исправить?
*

Garun

  • Захожу иногда
  • 304
  • 17 / 3
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #381 : 14.04.2008, 12:12:36 »
не пускает в админку с оговоркой "Неверная сессия". Что делать, как это исправить?
Да, после заливки хака выдает такую хрень... Но лично у меня все проблемы исчезают после очистки ВСЕГО кеша.
Готов к труду и обороне!

Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #382 : 14.04.2008, 12:51:58 »
Попробовал, но результат тот же. Может у кого еще есть какие-то методы борьбы с этим?
*

Garun

  • Захожу иногда
  • 304
  • 17 / 3
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #383 : 14.04.2008, 13:31:45 »
Что касается прикрепленного архива - вопросы по нему лучше задавать не здесь, а на форуме разработчиков... То бишь - по указанной мною ссылке.
Лично я давно использую seo хаки с joom.ru... но именно на версиях RE. Протестировать на LE - руки так и не дотянулись.
Вроде он должен работать на оригинальных версиях joomla, не помню.
« Последнее редактирование: 14.04.2008, 13:35:41 от Garun »
Готов к труду и обороне!
*

eX

  • Захожу иногда
  • 256
  • 72 / 0
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #384 : 15.04.2008, 06:01:12 »
А кто нибудь клепал подобные хаки или пачти на сборку Joostina ?
*

vovchikku

  • Захожу иногда
  • 407
  • 1 / 0
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #385 : 24.04.2008, 10:35:24 »
Открываем components/com_content/content.php.
Находим строку #185 и заменяем следующий код:
Код: (php)


дурнее проблемы и найти нельзя: в файле content.php (котрый лежит вне administrator)

строки 185 или строки $mainframe->SetPageTitle( $menu->name );

НЕТУ!!!

что делать?



Joomla 1.0.13
« Последнее редактирование: 24.04.2008, 10:46:38 от vovchikku »
*

Garun

  • Захожу иногда
  • 304
  • 17 / 3
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #386 : 24.04.2008, 11:34:03 »
дурнее проблемы и найти нельзя: в файле content.php (котрый лежит вне administrator)

строки 185 или строки $mainframe->SetPageTitle( $menu->name );

НЕТУ!!!

что делать?
Искать, дружище! Лучше искать ;)
Причем тут "лежит вне administrator"? Тебе же черным по белому написали путь до файла: components/com_content/content.php - считай от корня http://www.твой-сайт.ру/components/com_content/content.php
Готов к труду и обороне!
*

vovchikku

  • Захожу иногда
  • 407
  • 1 / 0
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #387 : 24.04.2008, 12:26:42 »
ну вот где там эта строка?

[вложение удалено Администратором]
*

FxPunter

  • Давно я тут
  • 691
  • 112 / 7
  • Э-эх!
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #388 : 24.04.2008, 12:34:48 »
так вот же. Собственно это выдержка с Вашего файла  :laugh:
// Dynamic Page Title
   $mainframe->SetPageTitle( $menu->name );

   BlogOutput( $rows, $params, $gid, $access, $pop, $menu, $limitstart, $limit, $total );
}


function showSection( $id, $gid, &$access, $now ) {
   global $database, $mainframe, $Itemid;

   $section = new mosSection( $database );
   $section->load( (int)$id );
*

vovchikku

  • Захожу иногда
  • 407
  • 1 / 0
Re: Улучшение Joomla для SEO (Хак для title)
« Ответ #389 : 24.04.2008, 13:05:25 »
все сделал... пардон, а что поменяться то должно? ничего нового не вижу...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

WT SEO Meta templates плагин сео-шаблонов для Joomla

Автор sergeytolkachyov

Ответов: 25
Просмотров: 5116
Последний ответ 24.11.2023, 10:24:11
от sergeytolkachyov
Нет позиций в Google Joomla 3

Автор Benderalfa

Ответов: 1
Просмотров: 2933
Последний ответ 20.09.2022, 20:53:56
от darkghost
Расширенные описания страниц в Joomla (микроданные, микроформаты, RDFa, schema.org)

Автор ELLE

Ответов: 151
Просмотров: 112683
Последний ответ 20.11.2021, 18:15:42
от Byzi
Вопрос по отличию SEO MODx и Joomla

Автор vovafit

Ответов: 7
Просмотров: 1871
Последний ответ 20.11.2021, 18:15:09
от Byzi
Не получается поменять description на главной странице Joomla 3.

Автор illimited

Ответов: 11
Просмотров: 1548
Последний ответ 21.12.2020, 14:39:49
от illimited