Новости Joomla

Вышли релизы Joomla 6.1 и Joomla 5.4.5: новые возможности и стабильность

Релиз Joomla 6.1.0

Проект Joomla! объявил о доступности Joomla 6.1 [Nyota] — новой минорной версии шестой серии, а также о выпуске релиза исправлений ошибок Joomla 5.4.5. Релиз 6.1 приносит ряд долгожданных функций, повышающих удобство управления контентом и защиту от спама.

👩‍💻 Компонент "CS Афиши" для Joomla.

👩‍💻 Компонент "CS Афиши" для Joomla.

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

В состав пакета расширений входят:
- Компонент "CS Афиши"
- Модуль "Календарь событий"
- Модуль "Предстоящие события"
- Библиотека "ImgResize"

Расширение "CS Афиши" позволяет выводить список мероприятий, фильтровать их по датам, поиск по заголовкам и описанию.

Модуль "Календарь событий" отображает предстоящие и прошедшие мероприятие на календаре, с отображением мероприятий на конкретную дату во всплывающем окне.

Модуль "Предстоящие события" показывает список предстоящий событий по порядку их наступления.

P.S. Расширение платное, но плата символическая, чисто для отработки приема платежей. Ключи без ограничения по времени, купившие сейчас - смогут обновляться без ограничений.

Разработчик - участник нашего сообщества Дмитрий Денисов (@codersite).

Страница расширения
Демо

Яндекс выпустил инструмент Видимость сайта в Алисе AI.

Яндекс выпустил инструмент Видимость сайта в Алисе AI.

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

Долгое время у всех был немой вопрос: "Как же теперь оценивать эффективность сайта?". Теперь этот на этот вопрос отчасти отвечает новый инструмент аналитики.
Процитируем справку Яндекса по инструменту:
На запросы пользователей в Поиске может отвечать Алиса AI. Ответы появляются в поисковой выдаче, в объектных ответах и на отдельной вкладке Поиска. В них чаще всего упоминаются страницы сайтов, на которые Алиса AI опиралась при подготовке ответа.

С помощью инструмента Видимость сайта в Алисе AI в Яндекс Вебмастере вы можете:
- узнать долю упоминаний сайта среди источников в ответах Алисы AI в Поиске и отследить динамику изменений;
- посмотреть примеры запросов, по которым страницы сайта показываются в ответах Алисы AI;
- посмотреть примеры сайтов той же тематики, которые часто упоминаются в генеративной выдаче.
Данные отображаются за последние 3 месяца и обновляются каждую неделю.

Статистика собирается только по тем запросам, по которым ваш сайт уже находится достаточно высоко в поисковой выдаче. Это позволяет анализировать видимость именно в той нише, где вы заинтересованы в продвижении, и избегать «размытия» по малозначимым для вас запросам.

Кроме того, такой подход обусловлен работой Алисы AI: она строит ответ с опорой на самые релевантные, информативные и качественные страницы, которые обычно занимают высокие позиции в Поиске.

Чтобы увидеть статистику вашего сайта в меню Яндекс.Вебмастера перейдите в раздел "Эффективность" и далее в "Показы сайта в Алисе AI".

В начале февраля 2026г. был вебинар с Михаилом Сливинским - амбассадором Поиска Яндекса, и в рамках вебинара была озвучена просьба сделать такой инструмент. Скорее всего разработка на тот момент уже велась, потому что от просьбы до релиза прошло около 2-х месяцев. В любом случае хорошо, что такая статистика появилась.

Показы сайта в Алисе AI в вашем Яндекс,Вебмастере.

@joomlafeed

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

alex54

  • Захожу иногда
  • 167
  • 3 / 1
Re: Интеграция с My Blog
« Ответ #60 : 20.10.2009, 16:44:54 »
она решена примерно так же, как Билл показывал работу Висты :), с тех пор все стоит на месте, гуру некогда, да и не надо наверное, простым смертным не под силу
*

M.C.

  • Осваиваюсь на форуме
  • 34
  • 2 / 0
Re: Интеграция с My Blog
« Ответ #61 : 28.10.2009, 12:02:48 »
она решена примерно так же, как Билл показывал работу Висты :), с тех пор все стоит на месте, гуру некогда, да и не надо наверное, простым смертным не под силу
очень очень жаль! :( а то JComments на всем сайте работают, осталось только в блоги прикрутить и все... а так = в блогах если тыкаешь на запись получаешь пустую страницу :(
*

mcsite

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Re: Интеграция с My Blog
« Ответ #62 : 30.10.2009, 02:25:06 »
Вот есть уже готовое решение по интеграции http://blog.bcmk.ru/myblog/integratsiya-komponenta-my-blog-s-komponentom-kommentariev-jcomments-chast-2.html

Re: Интеграция с My Blog
« Ответ #63 : 03.11.2009, 12:32:43 »
Мублог установился удачно - версия 3,0,324
но щелкнув кнопочку "домой" выдает --------
Fatal error: Class 'ContentHelperRoute' not found in Z:\home\site\www\plugins\content\jcomments.content.php on line 303
----------------------------------------------
Лечится удалением и обратной установки Jcommtа (версия - 2,0)
*

able

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Re: Интеграция с My Blog
« Ответ #64 : 19.01.2010, 20:59:38 »
Вот есть уже готовое решение по интеграции http://blog.bcmk.ru/myblog/integratsiya-komponenta-my-blog-s-komponentom-kommentariev-jcomments-chast-2.html

скопировал новые файлы, активировал мамбот и поставил галочку в general settings, однако, ссылки "добавить комментарий" так и нету.

в остальных статьях (не в блоге) есть.

помогите, друзья :(

updated:

уже не надо, всё сделал. :)
« Последнее редактирование: 20.01.2010, 11:46:44 от able »
*

Darknemo

  • Захожу иногда
  • 223
  • 2 / 0
Re: Интеграция с My Blog
« Ответ #65 : 12.02.2010, 23:35:20 »
Так же весь проект на JComments и нагружать систему еще и JOM не хотелось бы..
Очень ждем правильной интеграции от smarta =)
*

FENIX666FENIX

  • Захожу иногда
  • 59
  • 14 / 0
  • Рыжая - это не цвет, а стиль жизни!
Re: Интеграция с My Blog
« Ответ #66 : 16.02.2010, 02:37:36 »
А я вообще отказалась от этого гроба на колесиках! Имею в виду MyBlog.
Достал своими конфликтами скриптов и неудачным отображением в разных браузерах.
Решила, что com_content меньше нагружает сайт, это раз, а второе опять же блог этот не дает поставить самые банальные плагины - цитирования статьи, голосование тож не крепится к нему.
 
Сделала разные права доступа юзерам, хакнула права на постинг в  Joomla  и теперь, если честно, просто кайфую. У меня пользователям теперь доступен навороченный со всеми фичами редактор JCE последней версии и они жуть как довольны.
А в компоненте блогов (хотя я и была зачинщиком хака расширенного редактора) - во всплывающем окне все равно не помещается все, что надо.
  Вот  ;D
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Re: Интеграция с My Blog
« Ответ #67 : 25.02.2010, 22:54:16 »
У меня работает. Вроде.

JComments 2.1.0.0
MyBlog Version: 3.0.331

plugins/content/jcomments.php

после
Код
			if ($view == 'frontpage') {
if ($this->params->get('show_frontpage', 1) == 0) {
return;
}
}


в строке 93 добавляю
Код
/* ##my201002252126 { Додаю інтеграцію з MyBlog */
if ($application->scope=='com_myblog') {
if (!isset($article->slug)) {$article->slug = $article->id;}
if (!isset($article->catslug)) {$article->catslug = $article->catid;}
$params->set('show_readmore',$article->readmore);
}
/* ##my201002252126 } */
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

drus

  • Захожу иногда
  • 65
  • 3 / 0
Re: Интеграция с My Blog
« Ответ #68 : 20.03.2010, 12:49:38 »
У меня работает. Вроде.

JComments 2.1.0.0
MyBlog Version: 3.0.331

plugins/content/jcomments.php

после
Код
			if ($view == 'frontpage') {
if ($this->params->get('show_frontpage', 1) == 0) {
return;
}
}


в строке 93 добавляю
Код
/* ##my201002252126 { Додаю інтеграцію з MyBlog */
if ($application->scope=='com_myblog') {
if (!isset($article->slug)) {$article->slug = $article->id;}
if (!isset($article->catslug)) {$article->catslug = $article->catid;}
$params->set('show_readmore',$article->readmore);
}
/* ##my201002252126 } */


После этого решения при клике на статью в блоге - белая страница.
Подскажите, что делаю не так.
JomComment не установлен.
MyBlog 3.0.332
Jcomment 2.1.0.0
В блоге интеграция с JComments опубликована.
Заранее спасибо и + .
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Re: Интеграция с My Blog
« Ответ #69 : 20.03.2010, 13:18:50 »
Вывод ошибок включи и скажи, что говорит.

Для этого в  .htaccess пропиши

Код
php_flag    display_errors          on

php_flag    display_startup_errors  on

php_value   error_reporting         2047


После того, как исправишь, вырубишь назад.
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

drus

  • Захожу иногда
  • 65
  • 3 / 0
Re: Интеграция с My Blog
« Ответ #70 : 20.03.2010, 15:17:15 »
Вывод ошибок включи и скажи, что говорит.

Для этого в  .htaccess пропиши

Код
php_flag    display_errors          on

php_flag    display_startup_errors  on

php_value   error_reporting         2047


После того, как исправишь, вырубишь назад.
Ничего не говорит. Дает 500 ошибку. И всё. Может это связано с тем, что на сайте установлен sh404SEF ?
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Re: Интеграция с My Blog
« Ответ #71 : 20.03.2010, 15:18:59 »
500-ю ошибку даёт сервер, который не понимает все или некоторые из этих трёх директив.
Можешь на локалке то же самое потестировать?

Может и связано, попробуй его выключить для поверки.
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

drus

  • Захожу иногда
  • 65
  • 3 / 0
Re: Интеграция с My Blog
« Ответ #72 : 20.03.2010, 15:28:26 »
500-ю ошибку даёт сервер, который не понимает все или некоторые из этих трёх директив.
Можешь на локалке то же самое потестировать?

Может и связано, попробуй его выключить для поверки.
На локалке уже не могу.
Попробовал СЕФ отключить. изменений нет. Белая страница.
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Re: Интеграция с My Blog
« Ответ #73 : 20.03.2010, 15:33:04 »
Ну блин...

Ну попробуй те директивы про ошибки по очереди, может какая-то сработает. Трудно делать дебаг по белой странице.

Или вот в аттаче мой правленный файл. Может что-то при копи-пейсте не так идёт.

Вот этот файл заменить: /plugins/content/jcomments.php

[вложение удалено Администратором]
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

drus

  • Захожу иногда
  • 65
  • 3 / 0
Re: Интеграция с My Blog
« Ответ #74 : 20.03.2010, 15:46:05 »
Ну блин...

Ну попробуй те директивы про ошибки по очереди, может какая-то сработает. Трудно делать дебаг по белой странице.

Или вот в аттаче мой правленный файл. Может что-то при копи-пейсте не так идёт.

Вот этот файл заменить: /plugins/content/jcomments.php

Ни одна из директив не сработала.
Замена файла тоже без результата... Увы. блин.
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Re: Интеграция с My Blog
« Ответ #75 : 20.03.2010, 15:49:15 »
А скопировать сайт на локалку и там попробовать? Можно отыскать проблему тогда.

Тут же работает, сюда хак делал: http://mastermindstl.org/blogosphere.html

Не ты один, у кого такой глюк, по-моему. Буржуи на форуме JComments тоже на это жаловались, кажется.

Может из моего кода комментарии убери? Мало ли, может чего PHP не нравится, хотя не должно.

А в 74й строке или рядом есть
Код
 			$application = &JFactory::getApplication('site');
?
« Последнее редактирование: 20.03.2010, 15:53:46 от Gruz »
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

drus

  • Захожу иногда
  • 65
  • 3 / 0
Re: Интеграция с My Blog
« Ответ #76 : 20.03.2010, 16:01:47 »
Может попробую на локалку. Но геморойно это.
Комментарии убрал. Тоже самое.

Код есть. да.
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Re: Интеграция с My Blog
« Ответ #77 : 20.03.2010, 16:20:58 »
С akeebabackup очень быстро.
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

drus

  • Захожу иногда
  • 65
  • 3 / 0
Re: Интеграция с My Blog
« Ответ #78 : 20.03.2010, 16:39:47 »
Фух. Проблему решил. Блог выводил в меню как компонент. А надо выводить как раздел-блог.
Причем работает и без этого хака. Что-то я не понимаю. Буду дальше смотреть.

Нет, это не решение проблемы.... увы.
« Последнее редактирование: 20.03.2010, 16:42:56 от drus »
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Re: Интеграция с My Blog
« Ответ #79 : 20.03.2010, 16:44:58 »
У меня в меню, как компонент, работает с хаком.

Ну давай пробуй на локалке. Быстрее будет.

Или дай в привате доступы - попробую сам.
« Последнее редактирование: 20.03.2010, 16:57:15 от Gruz »
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

DKsN

  • Захожу иногда
  • 258
  • 15 / 0
  • [BODY]
Re: Интеграция с My Blog
« Ответ #80 : 25.03.2010, 01:15:46 »
Да уж. Чего то ни как не хочет интегрироваться. Все способы перепробовал, которых не так уж и много, и безрезультатно.
Оба компонента славные, но вместе полное Г...
Опять алчность мешает прогрессу=)) Вот нафиг они МуВlog не под JC заточили?
*

drus

  • Захожу иногда
  • 65
  • 3 / 0
Re: Интеграция с My Blog
« Ответ #81 : 25.03.2010, 01:23:32 »
Да уж. Чего то ни как не хочет интегрироваться. Все способы перепробовал, которых не так уж и много, и безрезультатно.
Оба компонента славные, но вместе полное Г...
Опять алчность мешает прогрессу=)) Вот нафиг они МуВlog не под JC заточили?
Мне помогло это (_http://blog.bcmk.ru/myblog/integratsiya-komponeta-my-blog-s-komponentom-kommentariev-jcomments.html) решение.
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Re: Интеграция с My Blog
« Ответ #82 : 25.03.2010, 01:29:05 »
Да уж. Чего то ни как не хочет интегрироваться. Все способы перепробовал, которых не так уж и много, и безрезультатно.
Оба компонента славные, но вместе полное Г...

Мне аж интересно, почему у вас не работает. Что я упустил... У меня ведь работает. Надо будет голую Joomla + эти два компонента поставить и попробовать.
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

DKsN

  • Захожу иногда
  • 258
  • 15 / 0
  • [BODY]
Re: Интеграция с My Blog
« Ответ #83 : 25.03.2010, 01:39:50 »
Мне помогло это ... решение.
И это пробовал, не помогло.
Если смотреть через вывод на главной, то появляется, но во фронтэнде MуBlog'а вместо того что должно быть вылазит в тексте {jcommentsON}
« Последнее редактирование: 25.03.2010, 01:45:00 от DKsN »
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Re: Интеграция с My Blog
« Ответ #84 : 25.03.2010, 01:52:13 »
MyBlog в том месте не обрабатывает текст плагинами.

Вот вырезка из VirtueMart.

Скажем у тебя в $text то, в чём содержится {jcommentsON}

Код
				$params 	   =& $GLOBALS['mainframe']->getParams('com_content');

$dispatcher    =& JDispatcher::getInstance();

JPluginHelper::importPlugin($type);

$row = new stdClass();

$row->text = $text;

$results = $dispatcher->trigger('onPrepareContent', array (&$row, & $params, 0 ));

$text = $row->text;


Найди, где MyBlog выводит это, и перед выводом так обработай.
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

DKsN

  • Захожу иногда
  • 258
  • 15 / 0
  • [BODY]
Re: Интеграция с My Blog
« Ответ #85 : 25.03.2010, 12:27:42 »
Говорила мама,-"ходи в школу!"
Так глубоко не капнуть мне.
Может взгляните. Очень не охото 2й компонент комментов jomcomment ставить на сайте, который типа заточен под MyBlog.
_http://tud.su/
лог test
пас 123qwe
« Последнее редактирование: 26.03.2010, 13:31:32 от DKsN »
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Re: Интеграция с My Blog
« Ответ #86 : 25.03.2010, 13:19:19 »
Давай я сегодня на голой Joomla на локалке поэкспериментирую со своим хаком. Напишу результаты, видимо у меня что-то ещё на робочем сайте стоит, что позволяет моему хак работать. А там ой как много чего стоит. Если на локалке получится, то выложу решение. Если после него у тебя будут проблемы, тогда будем думать дальше.
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

DKsN

  • Захожу иногда
  • 258
  • 15 / 0
  • [BODY]
Re: Интеграция с My Blog
« Ответ #87 : 25.03.2010, 13:21:11 »
Буду пипец как признателен:)
*

Gruz

  • Завсегдатай
  • 1275
  • 167 / 3
  • gruz@jabber.org | gruz.org.ua
Re: Интеграция с My Blog
« Ответ #88 : 25.03.2010, 14:56:24 »
Значит так.

1. Myblog  -> General Settings -> Layout
Отметь  Use mambots on My Blog frontpage
2. Myblog  -> Content Mambots Integration
Публикуй всё к такой-то матери!
3. plugins/content/jcomments.php
После
Код
		function plgContentJComments(&$subject, $config)
{
parent::__construct($subject, $config);

Строка 54, добавляешь:
Код
//##my { Правка від Смарта - Без неї буде помилку видавати
if (!class_exists('ContentHelperRoute')) {
require_once(JPATH_ROOT.DS.'components'.DS.'com_content'.DS.'helpers'.DS.'route.php');
}
//##my }

Далее после
Код
 			if ($view == 'frontpage') {
if ($this->params->get('show_frontpage', 1) == 0) {
return;
}
}

в строку 98 добавляешь
Код
/* ##my201002252126 { Додаю інтеграцію з MyBlog */
if ($application->scope=='com_myblog') {
if (!isset($article->slug)) {$article->slug = $article->id;}
if (!isset($article->catslug)) {$article->catslug = $article->catid;}
$params->set('show_readmore',$article->readmore);
}
/* ##my201002252126 } */

4. Jcomment - Settings - General - Choose categories for JComments to work in:
Отмечаешь MyBlog/MyBlog


Правленное филе прилагается.

[вложение удалено Администратором]
Життя має дві форми - горіння і гниття!
-
Со мной на "ты" - Вам лень развёрнуто формулировать вопрос? Нам лень отвечать. Правильный вопрос: - Версии J! и проблемного расширения? - Что хотел? - Что пробовал? - Что получилось и что не получилось? - Какие были ошибки?
*

DKsN

  • Захожу иногда
  • 258
  • 15 / 0
  • [BODY]
Re: Интеграция с My Blog
« Ответ #89 : 25.03.2010, 14:58:04 »
Щас за сигаретами схожу (15-20Ммин) и приступлю.
Спасибо)

РС "1. Myblog  -> General Settings -> Layout
Отметь  Use mambots on My Blog frontpage
2. Myblog  -> Content Mambots Integration
Публикуй всё к такой-то матери!" - вчера ещё.

-------------------------------------------------------------------------------------------------------------------------------------------------

Всё сделал. Файл jcomments.php стал таким:

Код
<?php
/**
 * JComments - Joomla Comment System
 *
 * Mambot for attaching comments list and form to content item
 *
 * @version 2.0
 * @package JComments
 * @subpackage Content
 * @author Sergey M. Litvinov (smart@joomlatune.ru)
 * @copyright (C) 2006-2009 by Sergey M. Litvinov (http://www.joomlatune.ru)
 * @license GNU/GPL: http://www.gnu.org/copyleft/gpl.html
 *
 * If you fork this to create your own project,
 * please make a reference to JComments someplace in your code
 * and provide a link to http://www.joomlatune.ru
 **/

// ensure this file is being included by a parent file
(defined('_VALID_MOS') OR defined('_JEXEC')) or die('Direct Access to this location is not allowed.');

// define directory separator short constant
if (!defined('DS')) {
define('DS', DIRECTORY_SEPARATOR);
}

global $mainframe;

if (defined('JPATH_ROOT')) {
include_once (JPATH_ROOT . DS . 'components' . DS . 'com_jcomments' . DS . 'jcomments.legacy.php');
} else {
include_once ($mainframe->getCfg('absolute_path'). DS . 'components' . DS . 'com_jcomments' . DS . 'jcomments.legacy.php');
}

// if component doesnt exists (may be already uninstalled) - return
if (!defined('JCOMMENTS_JVERSION')) {
return;
}

if (defined('JPATH_ROOT') && defined('JPATH_LIBRARIES')) {
jimport( 'joomla.plugin.plugin');

$GLOBALS['JC_CONTENT_TASK'] = JRequest::getCmd('view') == 'article' ? 'view' : '';

class plgContentJComments extends JPlugin
{
var $_jcomments_on = false;
var $_jcomments_off = false;
var $_jcomments_locked = false;

function plgContentJComments(&$subject, $config)
{
parent::__construct($subject, $config);
//##my { Правка від Смарта - Без неї буде помилку видавати
if (!class_exists('ContentHelperRoute')) {
require_once(JPATH_ROOT.DS.'components'.DS.'com_content'.DS.'helpers'.DS.'route.php');
}
//##my }

//JPlugin::loadLanguage('plg_content_jcomments');

if (!isset($this->params)) {
$this->params = new JParameter('');
}
}

function onPrepareContent(&$article, &$params, $limitstart)
{
global $option, $_MY_CONFIG;
require_once (JCOMMENTS_HELPERS . DS . 'plugin.php');
require_once (JCOMMENTS_HELPERS . DS . 'contentplugin.php');
require_once (JCOMMENTS_LIBRARIES . DS . 'joomlatune' . DS . 'language.tools.php');

// check whether plugin has been unpublished
if (!JPluginHelper::isEnabled('content', 'jcomments')) {
JCommentsContentPluginHelper::clear($article, true);
return;
}

$application = &JFactory::getApplication('site');
//$option = JRequest::getCmd('option');
$view = JRequest::getCmd('view');
$show = JRequest::getCmd('show');

if (!isset($article->id) || ($option != 'com_content' && $option != 'com_alphacontent' && $option != 'com_alphacontent' && $option != 'com_myblog')) {
return;
}

if (!isset($params) || $params == null) {
$params = new JParameter('');
} else if (strpos($params->_raw, 'moduleclass_sfx')!== false) {
return '';
}

if ($view == 'frontpage') {
if ($this->params->get('show_frontpage', 1) == 0) {
return;
}
}

/* ##my201002252126 { Додаю інтеграцію з MyBlog */
if ($application->scope=='com_myblog') {
if (!isset($article->slug)) {$article->slug = $article->id;}
if (!isset($article->catslug)) {$article->catslug = $article->catid;}
$params->set('show_readmore',$article->readmore);
}
/* ##my201002252126 } */

require_once (JCOMMENTS_BASE . DS . 'jcomments.php');

JCommentsContentPluginHelper::processForeignTags($article, false);

$this->_jcomments_on = JCommentsContentPluginHelper::isEnabled($article, false);
$this->_jcomments_off = JCommentsContentPluginHelper::isDisabled($article, false);
$this->_jcomments_locked = JCommentsContentPluginHelper::isLocked($article, false);

if ($view != 'article' && empty($show)) {
// show link to comments only
$count = JComments::getCommentsCount($article->id, 'com_content');
if ($option == 'com_myblog' && $_MY_CONFIG->get('useComment')) {
$count = JComments::getCommentsCount($article->id, 'com_myblog');
}
$user = & JFactory::getUser();

if ($article->access <= $user->get('aid', 0)) {
if (empty($view) && empty($show)) {
$readmore_link = JRoute::_(myGetPermalinkUrl($article->id));
} else {
$readmore_link = JRoute::_(ContentHelperRoute::getArticleRoute($article->slug, $article->catslug, $article->sectionid));
}
$readmore_register = 0;
} else {
$readmore_link = JRoute::_('index.php?option=com_user&task=register');
$readmore_register = 1;
}

$link = $readmore_link;

// load template for comments & readmore links
$tmpl = & JCommentsFactory::getTemplate($article->id, 'com_content', false);
$tmpl->load('tpl_links');

$tmpl->addVar('tpl_links', 'comments-count', $count);
$tmpl->addVar('tpl_links', 'comments_link_style', ($readmore_register ? -1 : $count));
$tmpl->addVar('tpl_links', 'readmore_register', $readmore_register);
$tmpl->addVar('tpl_links', 'link-comment', $link);
$tmpl->addVar('tpl_links', 'link-readmore', $link);
$tmpl->addVar('tpl_links', 'content-item', $article);

$config = & JCommentsFactory::getConfig();
$tmpl->addVar('tpl_links', 'use-plural-forms', $config->getInt('use_plural_forms', 0));

if (($params->get('show_readmore') == 0)
|| (@$article->readmore == 0)) {
$tmpl->addVar('tpl_links', 'readmore_link_hidden', 1);
} else if(@$article->readmore > 0) {
$tmpl->addVar('tpl_links', 'readmore_link_hidden', 0);
}

if (!JCommentsContentPluginHelper::checkCategory($article->catid)) {
$tmpl->addVar('tpl_links', 'comments_link_hidden', 1);
}

if ($this->_jcomments_off) {
$tmpl->addVar('tpl_links', 'comments_link_hidden', 1);
} else if ($this->_jcomments_on) {
$tmpl->addVar('tpl_links', 'comments_link_hidden', 0);
}

if ($readmore_register == 1 && $count == 0) {
$tmpl->addVar('tpl_links', 'comments_link_hidden', 1);
}

if ($readmore_register == 1) {
$readmore_text = JText::_('Register to read more...');
} else if (isset($params) && $readmore = $params->get('readmore')) {
$readmore_text = $readmore;
} else {
$readmore_text = JText::_('Read more...');
}

$tmpl->addVar('tpl_links', 'link-readmore-text', $readmore_text);
$tmpl->addVar('tpl_links', 'link-readmore-title', $article->title);

JCommentsContentPluginHelper::clear($article, true);

if ($this->params->get('readmore_link', 1) == 0) {
$tmpl->addVar('tpl_links', 'readmore_link_hidden', 1);
}

// hide comments link
if ($count != 0 && $this->params->get('comments_count', 1) == 0) {
$tmpl->addVar('tpl_links', 'comments_link_hidden', 1);
}

if ($count == 0 && $this->params->get('add_comments', 1) == 0) {
$tmpl->addVar('tpl_links', 'comments_link_hidden', 1);
}

//links_position
if ($this->params->get('links_position', 1) == 1) {
if (($option !== 'com_myblog') || ($option == 'com_myblog' && $_MY_CONFIG->get('useComment'))) {
$article->text .= $tmpl->renderTemplate('tpl_links');
}
//if ($option !== 'com_myblog') {
// $article->text .= $tmpl->renderTemplate('tpl_links');
//}
} else {
$article->text = $tmpl->renderTemplate('tpl_links'). $article->text;
}

$tmpl->freeTemplate('tpl_links');

if ($this->params->get('readmore_link', 1) == 1 && $option != 'com_myblog') {

$article->readmore = 0;

if (isset($params)) {
$params->set('show_readmore', 0);
}

$article->readmore_link = '';
$article->readmore_register = false;
}
} else {
JCommentsContentPluginHelper::clear($article, true);
}

return;
}

function onAfterDisplayContent(&$article, &$params, $limitstart)
{
require_once (JCOMMENTS_HELPERS . DS . 'contentplugin.php');

$application = &JFactory::getApplication('site');
$view = JRequest::getCmd('view');

// check whether plugin has been unpublished
if (!JPluginHelper::isEnabled('content', 'jcomments')
|| ($view != 'article')
|| $params->get('intro_only')
|| $params->get('popup')
|| JRequest::getBool('fullview')
|| JRequest::getVar('print')) {
JCommentsContentPluginHelper::clear($article, true);
return '';
}

$isEnabled = $this->_jcomments_on;
$isDisabled = $this->_jcomments_off;

// check for presence of {jcomments off} which is explicits disables this bot for the item
if ($isDisabled) {
return '';
}

require_once (JCOMMENTS_BASE . DS . 'jcomments.php');

JCommentsContentPluginHelper::processForeignTags($article, false, false);

if ($view == 'article') {
if ($isEnabled || JCommentsContentPluginHelper::checkCategory($article->catid)) {
JCommentsContentPluginHelper::clear($article, true);

if ($this->_jcomments_locked) {
$config = & JCommentsFactory::getConfig();
        $config->set('object_locked', 1);
}
return JComments::show($article->id, 'com_content', $article->title);
}
}

return '';
}
}
} else {
global $_MAMBOTS;
$_MAMBOTS->registerFunction('onAfterDisplayContent', 'plgContentJCommentsViewJ10');
$_MAMBOTS->registerFunction('onPrepareContent', 'plgContentJCommentsLinksJ10');

function plgContentJCommentsViewJ10( &$row, &$params, $page = 0)
{
global $task, $option;

if (!isset($params)) {
$params = new mosParameters('');
}

$pvars = array_keys(get_object_vars($params->_params));

if ($params->get('popup') || in_array('moduleclass_sfx', $pvars)) {
return '';
}

if (isset($GLOBALS['jcomments_params_readmore'])
&& isset($GLOBALS['jcomments_row_readmore'])) {
$params->set('readmore', $GLOBALS['jcomments_params_readmore']);
$row->readmore = $GLOBALS['jcomments_row_readmore'];
}

require_once (JCOMMENTS_BASE . DS . 'jcomments.php');
require_once (JCOMMENTS_HELPERS . DS . 'contentplugin.php');

JCommentsContentPluginHelper::processForeignTags($row, false, false);

if (JCommentsContentPluginHelper::isDisabled($row)) {
return '';
}

if (($task == 'view')
&& (JCommentsContentPluginHelper::checkCategory($row->catid)
|| JCommentsContentPluginHelper::isEnabled($row))) {

if (JCommentsContentPluginHelper::isLocked($row)) {
$config = & JCommentsFactory::getConfig();
$config->set('object_locked', 1);
}
return JComments::show($row->id, 'com_content', $row->title);
} else if (($option == 'com_events') && ($task == 'view_detail')) {
return JComments::show($row->id, 'com_events', $row->title);
}
return '';
}

function plgContentJCommentsLinksJ10( $published, &$row, &$params, $page = 0)
{
global $mainframe, $task, $option, $Itemid, $my;

// disable comments link in 3rd party components (except Events and AlphaContent)
if ($option != 'com_content' && $option != 'com_frontpage'
&& $option != 'com_alphacontent' && $option != 'com_events') {
return;
}

require_once (JCOMMENTS_HELPERS . DS . 'plugin.php');
require_once (JCOMMENTS_HELPERS . DS . 'contentplugin.php');
require_once (JCOMMENTS_LIBRARIES . DS . 'joomlatune' . DS . 'language.tools.php');

if (!isset($params) || $params == null) {
$params = new mosParameters('');
}

$pvars = array_keys(get_object_vars($params->_params));
if (!$published || $params->get('popup') || in_array('moduleclass_sfx', $pvars)) {
JCommentsContentPluginHelper::processForeignTags($row, true);
JCommentsContentPluginHelper::clear($row, true);
return;
}

if ($option == 'com_frontpage') {
$pluginParams = JCommentsPluginHelper::getParams('jcomments.content', 'content');
if ((int)$pluginParams->get('show_frontpage', 1) == 0) {
return;
}
}

require_once (JCOMMENTS_BASE . DS . 'jcomments.php');

if ($task != 'view') {
// replace other comment systems tags to JComments equivalents like {jcomment on}
JCommentsContentPluginHelper::processForeignTags($row, false);           

// show link to comments only
$count = JComments::getCommentsCount($row->id, 'com_content');

if ($row->access <= $my->gid) {
$compat = $mainframe->getCfg('itemid_compat');

if ($compat == null) {
// Joomla 1.0.12 or below
if ($Itemid && $Itemid != 99999999) {
$_Itemid = $Itemid;
} else {
$_Itemid = $mainframe->getItemid($row->id);
}
} else if ((int) $compat > 0 && (int) $compat <= 11) {
// Joomla 1.0.13 or higher and Joomla 1.0.11 compability
$_Itemid = $mainframe->getItemid($row->id, 0, 0);
} else {
// Joomla 1.0.13 or higher and new Itemid algoritm
$_Itemid = $Itemid;
}

$link = sefRelToAbs("index.php?option=com_content&amp;task=view&amp;id=$row->id&amp;Itemid=$_Itemid");
$readmore_register = 0;
} else {
$link = sefRelToAbs('index.php?option=com_registration&amp;task=register');
$readmore_register = 1;
}

$tmpl = & JCommentsFactory::getTemplate($row->id, 'com_content', false);
$tmpl->load('tpl_links');

$tmpl->addVar('tpl_links', 'comments-count', $count);
$tmpl->addVar('tpl_links', 'comments_link_style', ($readmore_register ? -1 : $count));
$tmpl->addVar('tpl_links', 'readmore_register', $readmore_register);
$tmpl->addVar('tpl_links', 'link-comment', $link);
$tmpl->addVar('tpl_links', 'link-readmore', $link);
$tmpl->addVar('tpl_links', 'content-item', $row);

$config = & JCommentsFactory::getConfig();
$tmpl->addVar('tpl_links', 'use-plural-forms', $config->getInt('use_plural_forms', 0));

if (($params->get('readmore') == 0) || (@$row->readmore == 0)) {
$tmpl->addVar('tpl_links', 'readmore_link_hidden', 1);
} else if (@$row->readmore > 0) {
$tmpl->addVar('tpl_links', 'readmore_link_hidden', 0);
}

if (!JCommentsContentPluginHelper::checkCategory($row->catid)) {
$tmpl->addVar('tpl_links', 'comments_link_hidden', 1);
}

if (JCommentsContentPluginHelper::isDisabled($row, true)) {
$tmpl->addVar('tpl_links', 'comments_link_hidden', 1);
} else if (JCommentsContentPluginHelper::isEnabled($row, true)) {
$tmpl->addVar('tpl_links', 'comments_link_hidden', 0);
}

if ($readmore_register == 1 && $count == 0) {
$tmpl->addVar('tpl_links', 'comments_link_hidden', 1);
}

if ($readmore_register == 1) {
$readmore_text = JText::_('READMORE_REGISTER');
} else {
$readmore_text = JText::_('READMORE');
}

$tmpl->addVar('tpl_links', 'link-readmore-text', $readmore_text);
$tmpl->addVar('tpl_links', 'link-readmore-title', $row->title);

JCommentsContentPluginHelper::clear($row, true);

$row->text .= $tmpl->renderTemplate('tpl_links');

$GLOBALS['jcomments_params_readmore'] = $params->get('readmore');
$GLOBALS['jcomments_row_readmore'] = $row->readmore;

$params->set('readmore', 0);
$row->readmore = 0;
} else {
JCommentsContentPluginHelper::processForeignTags($row, true);
JCommentsContentPluginHelper::clear($row, true);
}
return;
}
}
?>

Таперь {jcomments on} невидно, но "добавить комментарий" не появилась.
« Последнее редактирование: 25.03.2010, 15:39:16 от DKsN »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Интеграция с Community Builder

Автор Opposite

Ответов: 77
Просмотров: 71489
Последний ответ 20.09.2022, 11:22:26
от Vlad1
Интеграция JComments с SP Page Builder

Автор Proaqua

Ответов: 5
Просмотров: 7160
Последний ответ 14.06.2020, 11:53:38
от xpank
Интеграция с SP LMS

Автор valensy

Ответов: 11
Просмотров: 4773
Последний ответ 02.03.2020, 12:50:40
от shamangor
Интеграция JComments в JoomShoping

Автор apelsin

Ответов: 20
Просмотров: 13463
Последний ответ 27.12.2019, 22:39:08
от dron
Интеграция JComments с K2

Автор Sulpher

Ответов: 276
Просмотров: 132121
Последний ответ 31.07.2019, 11:05:39
от wishlight