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

pashevich

  • Новичок
  • 7
  • 0 / 0
Возможно ли такое реализовать и в каком месте они должны выполняться, чтобы при загрузке страницы все "вставало на свои места".
*

Physicist

  • Глобальный модератор
  • 924
  • 186 / 0
  • Рябов Денис
Re: Мамботы в теле комментария?
« Ответ #1 : 30.05.2008, 11:50:52 »
Возможно ли такое реализовать и в каком месте они должны выполняться, чтобы при загрузке страницы все "вставало на свои места".
Если честно, трудно понять, в чём состоит вопрос.

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

pashevich

  • Новичок
  • 7
  • 0 / 0
Re: Мамботы в теле комментария?
« Ответ #2 : 30.05.2008, 22:40:02 »
К примеру, я хочу вставить в комментарий фото из DatsoGallery с помощью {datsopic id=# align=left}. Как заставить JComments обрабатывать эти теги?
*

Physicist

  • Глобальный модератор
  • 924
  • 186 / 0
  • Рябов Денис
Re: Мамботы в теле комментария?
« Ответ #3 : 30.05.2008, 23:57:59 »
Пусть smart потом прокомментирует, но по-моему тут есть два варианта:
1. Сделать мамбот для JComments на основе мамбота datsopic, просто вместо события OnPrepareContent использовать onBeforeDisplayComment и учесть, что текст комментария хранится в поле comment.
2. Добавить в JComments поддержку мамботов группы content, но тут я сходу решение не напишу, т.к. нужно пораскинуть мозгами, как это правильней сделать.
*

pashevich

  • Новичок
  • 7
  • 0 / 0
Re: Мамботы в теле комментария?
« Ответ #4 : 31.05.2008, 02:24:51 »
ок, спасибо, попробую!
*

Physicist

  • Глобальный модератор
  • 924
  • 186 / 0
  • Рябов Денис
Re: Мамботы в теле комментария?
« Ответ #5 : 01.06.2008, 20:50:51 »
Отпишитесь, если что получится.
*

loba

  • Осваиваюсь на форуме
  • 31
  • 1 / 0
Re: Мамботы в теле комментария?
« Ответ #6 : 21.10.2008, 17:26:15 »
тоже интересует данный вопрос. Решение есть?

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

smart

  • Администратор
  • 6485
  • 1315 / 15
  • Хочешь сделать хорошо — сделай!
Re: Мамботы в теле комментария?
« Ответ #7 : 21.10.2008, 17:51:03 »
тоже интересует данный вопрос. Решение есть?
а на сколько реально это сделать и как?
подумав детально, я не вижу никакого смысла поддерживать в комментариях мамботы/плагины сделанные для контента, хотя бы по той причине, что комментарии сами подключаются из мамбота, это может породить рекурсию...

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

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

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

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

Код: 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
<?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

  • Осваиваюсь на форуме
  • 31
  • 1 / 0
Re: Мамботы в теле комментария?
« Ответ #8 : 22.10.2008, 00:04:10 »
smart , сапасибо!

Буду пробовать...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться