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

ChaosDay

  • Захожу иногда
  • 365
  • 104 / 1
По просьбе одного из пользователей форума сделал интеграцию с JoomGallery MVC (1.5.5) BETA(не путать просто с версией 1.5 - это две разные ветки). Тестировалось на JG MVC (1.5.5) BETA/JC 2.1(07/08/2009).

1. В админке выставляем JoomGallery->Configuration Manager->User Access Rights->Comments->Allow Comments->Нет
2. Откройте файл \components\com_joomgallery\views\detail\tmpl\default.php
3. В самом конце файла перед строкой echo $this->loadTemplate('footer'); вставьте следующее:
Код: php
?>
  <div class="jg_commentsarea">
    <div class="sectiontableheader">
      <h4>
        <?php echo JText::_('JGS_EXISTING_COMMENTS'); ?>&nbsp;
      </h4>
    </div>
    <?php
        $comments = JPATH_SITE.DS.'components'.DS.'com_jcomments'.DS.'jcomments.php';
        if (is_file($comments)) {
              require_once($comments);
              echo JComments::showComments($this->image->id, 'com_joomgallery', $this->image->imgtitle);
        }
    ?>
  </div>
<?php

4. Откройте файл \components\com_joomgallery\models\edit.php
5. Найдите и закомментируйте или удалите строки:
Код: php
//delete the corresponding database entries in comments
$this->_db->setQuery("DELETE
                            FROM
                              "._JOOM_TABLE_COMMENTS."
                            WHERE
                              cmtpic = ".$this->_id
                        );
    if(!$this->_db->query())
    {
      JError::raiseWarning(100, JText::sprintf('JGA_COULD_NOT_DELETE_COMMENTS', $this->_id));
    }
6. Вместо или после удалённого куска вставьте:
Код: php
$jcomments = JPATH_SITE.DS.'components'.DS.'com_jcomments'.DS.'jcomments.php';
if (file_exists($jcomments)) {
    require_once($jcomments);
    JComments::deleteComments($this->_id, 'com_joomgallery');
}

7. Откройте файл \components\com_joomgallery\models\category.php
8. Найдите и закомментируйте или удалите строки:
Код: php
if($this->_config->get('jg_showcatcom'))
    {
      $query .= ",
                ( SELECT
                    COUNT(cmtid)
                  FROM
                    "._JOOM_TABLE_COMMENTS."
                  WHERE
                           cmtpic = a.id
                    AND published = 1
                    AND approved  = 1
                ) AS comments";
    }

9. Откройте файл \components\com_joomgallery\views\category\view.html.php
10. Где-то перед строками:
Код: php
//additional icons added by plugins
$icons = $this->_mainframe->triggerEvent('onDisplayJoomIcons', array($image));
$images[$key]->icons = implode('', $icons);
...вставьте следующее:
Код: php
$jcomments = JPATH_SITE.DS.'components'.DS.'com_jcomments'.DS.'jcomments.php';
if (is_file($jcomments)) {
require_once($jcomments);
$images[$key]->comments = JComments::getCommentsCount($image->id, 'com_joomgallery');
}

11. Откройте файл \components\com_joomgallery\views\favourites\view.html.php
12. Найдите и закомментируйте или удалите строки:
Код: php
//TODO
$model = &$this->getModel();
$row->comments = $model->getCommentsNumber($row->id);
13. Вместо или после удалённого куска вставьте:
Код: php
$jcomments = JPATH_SITE.DS.'components'.DS.'com_jcomments'.DS.'jcomments.php';
if (is_file($jcomments)) {
require_once($jcomments);
$row->comments = JComments::getCommentsCount($row->id, 'com_joomgallery');
}

14. Откройте файл \components\com_joomgallery\views\search\view.html.php
15. Найдите и закомментируйте или удалите строки:
Код: php
//TODO
$model = &$this->getModel();
$rows[$key]->comments = $model->getCommentsNumber($row->id);
16. Вместо или после удалённого куска вставьте:
Код: php
$jcomments = JPATH_SITE.DS.'components'.DS.'com_jcomments'.DS.'jcomments.php';
if (is_file($jcomments)) {
require_once($jcomments);
$rows[$key]->comments = JComments::getCommentsCount($row->id, 'com_joomgallery');
}

17. Откройте файл \components\com_joomgallery\models\toplist.php
18. Найдите и закомментируйте или удалите строки:
Код: php
$this->_db->setQuery("SELECT
  a.*,
  cc.*,
  ca.*,
  a.owner AS owner
FROM
  "._JOOM_TABLE_IMAGES." AS a,
  "._JOOM_TABLE_CATEGORIES." AS ca,
  "._JOOM_TABLE_COMMENTS." AS cc
WHERE
 a.id = cc.cmtpic
  AND a.catid      = ca.cid
  AND a.published  = 1
  AND a.approved   = 1
  AND cc.published = 1
  AND ca.published = 1
  AND cc.approved  = 1
  AND ca.access   <= ".$this->_user->get('aid')."
ORDER BY
  cc.cmtdate DESC
LIMIT ".$this->_config->get('jg_toplist')
);
19. Вместо или после удалённого куска вставьте:
Код: php
$this->_db->setQuery("SELECT
  a.*,
  cc.*,
  ca.*,
  a.id AS id,
  a.owner AS owner,
  cc.id AS cmtid
FROM
  "._JOOM_TABLE_IMAGES." AS a,
  "._JOOM_TABLE_CATEGORIES." AS ca,
  #__jcomments AS cc
WHERE
cc.object_group = 'com_joomgallery'
AND a.id = cc.object_id
AND a.catid = ca.cid
AND a.published = 1
AND a.approved = 1
AND cc.published = 1
AND ca.published = 1
AND ca.access <= ".$this->_user->get('aid')."
AND cc.id = (SELECT MAX(jc.id) FROM #__jcomments AS jc WHERE a.id = jc.object_id)
ORDER BY cc.date DESC
LIMIT ".$this->_config->get('jg_toplist')
);

20. Откройте файл \components\com_joomgallery\views\toplist\view.html.php
21. Найдите и закомментируйте или удалите строки:
Код: php
        if($row->userid)
        {
          $rows[$key]->cmtname = JHTML::_('joomgallery.displayname', $row->userid, false);
        }

        $cmttext = $row->cmttext;
        $cmttext = JoomHelper::processText($cmttext);
        if($this->_config->get('jg_smiliesupport'))
        {
          $smileys = JoomHelper::getSmileys();
          foreach($smileys as $i => $sm)
          {
            $cmttext = str_replace($i, '<img src="'.$sm.'" border="0" alt="'.$i.'" title="'.$i.'" />', $cmttext);
          }
        }
        $cmttext = stripslashes($cmttext);

        $rows[$key]->processed_cmttext = $cmttext;
22. Вместо или после удалённого куска вставьте:
Код: php
        $jcomments = JPATH_SITE.DS.'components'.DS.'com_jcomments'.DS.'jcomments.php';
if (is_file($jcomments)) {
require_once($jcomments);
$rows[$key]->cmtdate = JCommentsText::formatDate($row->date, '%d.%m.%y %H:%M');

$cmttext = $row->comment;
$bbcode = & JCommentsFactory::getBBCode();
$smileys = & JCommentsFactory::getSmiles();
        $cmttext = JCommentsText::censor($cmttext);
$cmttext = JCommentsText::cleanText($cmttext);
$cmttext = stripslashes($cmttext);
$cmttext = $bbcode->filter( $cmttext, true );
        if($this->_config->get('jg_smiliesupport'))
        {
          $cmttext = $smileys->replace($cmttext);
        }
        $rows[$key]->processed_cmttext = $cmttext;
        }
23. В том же файле найдите и удалите или закомментируйте строки:
Код: php
//TODO
$model = &$this->getModel();
$rows[$key]->comments = $model->getCommentsNumber($row->id);
24. Вместо или после удалённого куска вставьте:
Код: php
$jcomments = JPATH_SITE.DS.'components'.DS.'com_jcomments'.DS.'jcomments.php';
if (is_file($jcomments)) {
require_once($jcomments);
$rows[$key]->comments = JComments::getCommentsCount($row->id, 'com_joomgallery');
}

25. Откройте файл \components\com_joomgallery\views\toplist\tmpl\default.php
26. Вместо строк:
Код: php
<?php echo JText::sprintf('JGS_WROTE_AT', $row->cmtname, JHTML::_('date', $row->cmtdate, JText::_('DATE_FORMAT_LC1'))); ?>
<?php echo $row->processed_cmttext; ?>&nbsp;
...вставьте следующее:
Код: php
<?php /* -- hack */echo "<b>".$row->username."</b>&nbsp;&#1085;&#1072;&#1087;&#1080;&#1089;&#1072;&#1083;&#40;&#1072;&#41;:&nbsp;".$row->processed_cmttext."&nbsp;(".$row->cmtdate.")"; ?>

В общем всё(если что забыл пишите).
« Последнее редактирование: 25.01.2010, 15:08:38 от ChaosDay »
*

Eol

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Re: Интеграция JComments + JoomGallery MVC (1.5.5) BETA
« Ответ #1 : 23.01.2010, 19:31:21 »
Огромное Вам спасибо! Сейчас буду пробовать!

Update.

Сделал, как вы описали, единственная проблема - TOP-листы. Когда пытаюсь зайти в TOP выводится ошибка:

Цитировать
Parse error: syntax error, unexpected $end, expecting T_FUNCTION in ***\components\com_joomgallery\views\toplist\view.html.php on line 213

Если вернуть, в указанном файле, всё, как было, то ошибка "пропадает", но, естественно, количество комментариев JComments не отображается.
« Последнее редактирование: 24.01.2010, 00:11:01 от Eol »
*

ChaosDay

  • Захожу иногда
  • 365
  • 104 / 1
Re: Интеграция JComments + JoomGallery MVC (1.5.5) BETA
« Ответ #2 : 23.01.2010, 22:55:46 »
Вставьте закрывающуюся фигурную скобку после строки $rows[$key]->processed_cmttext = $cmttext; в пункте 22(видимо потерялась при копировании). В первом посте тоже поправил.
*

Eol

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Re: Интеграция JComments + JoomGallery MVC (1.5.5) BETA
« Ответ #3 : 24.01.2010, 00:24:08 »
Вставьте закрывающуюся фигурную скобку после строки $rows[$key]->processed_cmttext = $cmttext; в пункте 22(видимо потерялась при копировании). В первом посте тоже поправил.

Спасибо за разъяснение. =)
*

qZED

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Интеграция JComments + JoomGallery MVC (1.5.5) BETA
« Ответ #4 : 24.04.2010, 18:34:14 »
Привет автору. Мне интересно для чего там ХАК? У меня вылазят просто набор этих кодов...
О блин... - написал(а)! все понял...
*

ChaosDay

  • Захожу иногда
  • 365
  • 104 / 1
Re: Интеграция JComments + JoomGallery MVC (1.5.5) BETA
« Ответ #5 : 21.09.2010, 16:55:18 »
P.S. Для интеграции с 1.5.5.х  советую использовать этот модуль и плагин с сайта разработчиков - эффект будет аналогичный(кроме удаления комментов при удалении фотки), но не придется править галерею при каждом обновлении.
*

Garum

  • Давно я тут
  • 654
  • 47 / 0
  • Акула пера
Re: Интеграция JComments + JoomGallery MVC (1.5.5) BETA
« Ответ #6 : 23.09.2010, 23:18:13 »
P.S. Для интеграции с 1.5.5.х  советую использовать этот модуль и плагин с сайта разработчиков - эффект будет аналогичный(кроме удаления комментов при удалении фотки), но не придется править галерею при каждом обновлении.
А как его интегрировать с помощью этих плагинов? У меня он не выходит под картинкой. И мне надо, чтобы он появлялся только на странице картинки, а он появляется еще и галерее картинок.
http://izans.ru/oboi?view=category&catid=6 фото самых красивых девушек на рабочий стол
*

Denikin

  • Захожу иногда
  • 76
  • 0 / 0
  • Только Учусь)))
Re: Интеграция JComments + JoomGallery MVC (1.5.5) BETA
« Ответ #7 : 02.11.2010, 22:05:14 »
А как его интегрировать с помощью этих плагинов? У меня он не выходит под картинкой. И мне надо, чтобы он появлялся только на странице картинки, а он появляется еще и галерее картинок.
угу))) как удалить из страницы категорий и фот))) отключение данной опции в плагине не помогает)))
извиняюсь)))) решено, тема http://joomlaforum.ru/index.php/topic,54040.msg688343.html#msg688343
« Последнее редактирование: 02.11.2010, 22:22:13 от Denikin »
*

sergmuz

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Re: Интеграция JComments + JoomGallery MVC (1.5.5) BETA
« Ответ #8 : 04.11.2010, 21:18:28 »
Вставьте закрывающуюся фигурную скобку после строки $rows[$key]->processed_cmttext = $cmttext; в пункте 22(видимо потерялась при копировании). В первом посте тоже поправил.
P.S. Для интеграции с 1.5.5.х  советую использовать этот модуль и плагин с сайта разработчиков - эффект будет аналогичный(кроме удаления комментов при удалении фотки), но не придется править галерею при каждом обновлении.
Все вроде работает, кроме ссылки на "Последние комментарии", по ссылке http://localhost/index.php?view=toplist&type=lastcommented&option=com_joomgallery&Itemid=89
Выдает такую ошибку: "Fatal error: Class 'JCommentsPluginHelper' not found in Z:\home\localhost\www\components\com_jcomments\jcomments.php on line 1204"
Куда копать ? Подскажите пож-та.
*

ChaosDay

  • Захожу иногда
  • 365
  • 104 / 1
Re: Интеграция JComments + JoomGallery MVC (1.5.5) BETA
« Ответ #9 : 17.12.2010, 16:59:32 »
sergmuz См. http://joomlaforum.ru/index.php/topic,54040.msg664735.html#msg664735, вроде писал смарту насчет этой ошибки, но видимо ещё не включил в последнее обновление.
*

marbert

  • Захожу иногда
  • 417
  • 9 / 0
Re: Интеграция JComments + JoomGallery MVC (1.5.5) BETA
« Ответ #10 : 25.12.2010, 22:39:15 »
sergmuz См. http://joomlaforum.ru/index.php/topic,54040.msg664735.html#msg664735, вроде писал смарту насчет этой ошибки, но видимо ещё не включил в последнее обновление.

поддерживаю, сегодня обнаружил ту же фигню (Fatal error: Class 'JCommentsPluginHelper' not found in)...

а smart не анонсировал выпуск обновления или, хотя бы, заплатки?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Интеграция JComments + JoomGallery MVC (1.5.5) BETA
« Ответ #11 : 27.12.2010, 16:27:15 »
а smart не анонсировал выпуск обновления или, хотя бы, заплатки?
Обновления не выпускал, а описание заплатки есть в указанной теме, мне кажется этого достаточно, в следующей версии, это безусловно будет учтено. Новая версия уже на подходе, и отвлекаться на выпуск обновлений я не хочу - исправлено слишком много, и включать в обновление одни исправления и не включать другие - неправильно, а все включить - так мы как раз на новую версию и выйдем.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Jcomments на странице категории?

Автор romagromov

Ответов: 5
Просмотров: 2622
Последний ответ 12.12.2022, 17:01:38
от sivers
Интеграция с Community Builder

Автор Opposite

Ответов: 77
Просмотров: 65400
Последний ответ 20.09.2022, 11:22:26
от Vlad1
Отображение аватаров из JomSocial в JComments

Автор smart

Ответов: 33
Просмотров: 16584
Последний ответ 20.07.2020, 21:31:50
от darkknight
jComments + AlptaUserPoints Добавить текст в Подробности

Автор Nabla

Ответов: 3
Просмотров: 5186
Последний ответ 22.06.2020, 14:14:08
от Nabla
Интеграция JComments с SP Page Builder

Автор Proaqua

Ответов: 5
Просмотров: 4111
Последний ответ 14.06.2020, 11:53:38
от xpank