LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 21:21:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Мамботы в теле комментария?  (Прочитано 4032 раз)
0 Пользователей и 1 Гость смотрят эту тему.
pashevich
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 8


« : 30.05.2008, 11:12:05 »

Возможно ли такое реализовать и в каком месте они должны выполняться, чтобы при загрузке страницы все "вставало на свои места".
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #1 : 30.05.2008, 11:50:52 »

Возможно ли такое реализовать и в каком месте они должны выполняться, чтобы при загрузке страницы все "вставало на свои места".
Если честно, трудно понять, в чём состоит вопрос.

В JComments есть поддержка «своих» мамботов (группа jcomments, события onBeforeDisplayCommentsList, onBeforeDisplayComment, onBeforeCommentAdded, onAfterCommentAdded, onBeforeCommentDeleted, onAfterCommentDeleted, onBeforeCommentPublished, onAfterCommentPublished, onBeforeCommentChanged, onAfterCommentChanged). Так что можно написать любой мамбот под любую ситуацию.
Записан
pashevich
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #2 : 30.05.2008, 22:40:02 »

К примеру, я хочу вставить в комментарий фото из DatsoGallery с помощью {datsopic id=# align=left}. Как заставить JComments обрабатывать эти теги?
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #3 : 30.05.2008, 23:57:59 »

Пусть smart потом прокомментирует, но по-моему тут есть два варианта:
1. Сделать мамбот для JComments на основе мамбота datsopic, просто вместо события OnPrepareContent использовать onBeforeDisplayComment и учесть, что текст комментария хранится в поле comment.
2. Добавить в JComments поддержку мамботов группы content, но тут я сходу решение не напишу, т.к. нужно пораскинуть мозгами, как это правильней сделать.
Записан
pashevich
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 8


« Ответ #4 : 31.05.2008, 02:24:51 »

ок, спасибо, попробую!
Записан
Physicist
Support Team
*****

Репутация: +179/-0
Offline Offline

Пол: Мужской
Сообщений: 1154


Рябов Денис


« Ответ #5 : 01.06.2008, 20:50:51 »

Отпишитесь, если что получится.
Записан
loba
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 67



« Ответ #6 : 21.10.2008, 17:26:15 »

тоже интересует данный вопрос. Решение есть?

2. Добавить в JComments поддержку мамботов группы content, но тут я сходу решение не напишу, т.к. нужно пораскинуть мозгами, как это правильней сделать.
а на сколько реально это сделать и как?
Записан
smart
Администратор
*******

Репутация: +1143/-14
Offline Offline

Пол: Мужской
Сообщений: 8204


тружусь даже во сне...


« Ответ #7 : 21.10.2008, 17:51:03 »

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

У компонента есть несколько событий, в частности:

1. onBeforeDisplayCommentsList - есть доступ к списку комментариев
2. onBeforeDisplayComment - есть доступ к конкретному комментарию

И вот если нужен дополнительный функционал, то необходимо написать мамбот для любого из этих событий. Первое событие несколько универсальнее, и позволяет делать обработку комментариев более эффективно.

Самый простой мамбот (назовем файл jcomments_bbcode_home.php):

Код
<?php
 
if (JCOMMENTS_JVERSION == '1.0') {
global $_MAMBOTS;
$_MAMBOTS->registerFunction('onBeforeDisplayCommentsList', 'plgJCommentsSimple');
} else if (JCOMMENTS_JVERSION == '1.5') {
global $mainframe;
$mainframe->registerEvent('onBeforeDisplayCommentsList', 'plgJCommentsSimple');
}
 
function plgJCommentsSimple( &$list )
{
global $mainframe;
 
$name = $mainframe->getCfg('sitename');
$link = $mainframe->getCfg('live_site');
 
for($i=0,$n=count($list); $i < $n; $i++) {
$list[$i]->comment = str_replace('[home]', '<a href="' . $link . '">' . $name . '</a>', $list[$i]->comment);
}
}
?>

и к этом мамботу простейший инсталляционный xml-файл (для Joomla 1.0) - файл jcomments_bbcode_home.xml:
Код
<?xml version="1.0" encoding="iso-8859-1"?>
<mosinstall type="mambot" group="jcomments" version="1.0.0">
<name>JComments - BBCode - Home</name>
<creationDate>21/10/2008</creationDate>
<author>smart</author>
<copyright>(c) 2008 JoomlaTune.ru</copyright>
<authorEmail>smart@joomlatune.ru</authorEmail>
<authorUrl>http://www.joomlatune.ru</authorUrl>
<version>1.0</version>
<description></description>
<files>
<filename mambot="jcomments.bbcode_home">jcomments_bbcode_home.php</filename>
</files>
<params />
</mosinstall>
 

Заворачиваем в архив, устанвливаем, публикуем - должно работать. Данный плагин автоматически заменяет в комментариях текст [home] на ссылку ведущую на адрес сайта.
Записан
loba
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 67



« Ответ #8 : 22.10.2008, 00:04:10 »

smart , сапасибо!

Буду пробовать...
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet