Новости Joomla

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

iShadow1

  • Осваиваюсь на форуме
  • 13
  • 1 / 0
Здравствуйте, нужна помощь в интеграции комментариев с компонентом com_jea (компонент недвижимости) для версии 2.5. Нашел тему, где описывается интеграция для Joomla 1.5, но, конечно, для 2,5 не подошло :(
« Последнее редактирование: 30.09.2013, 19:58:20 от iShadow1 »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Интеграция JComment и JEA (j2.5)
« Ответ #1 : 26.09.2013, 21:44:19 »
Хм, а почему бы не попросить автора JEA включить интеграцию с JComments в свой компонент?
*

iShadow1

  • Осваиваюсь на форуме
  • 13
  • 1 / 0
Re: Интеграция JComment и JEA (j2.5)
« Ответ #2 : 27.09.2013, 01:26:06 »
Наверно потому, что с иностранными языками у меня беда :( Да и сюда бы я тогда не обращался в надежде на помощь...
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Интеграция JComment и JEA (j2.5)
« Ответ #3 : 27.09.2013, 11:23:27 »
С иностранными языками беда до тех пор, пока не появляется реальной нужды общаться ))) Я поясню, почему последние года 3 как правило задаю подобный вопрос - 6 лет назад, когда вышла первая версия JComments и компонент был неизвестен, я делал инструкции по интеграции со всем, что только было, и делал их в надежде, что разработчики расширений со временем включат этот код в свои расширения. Но как показала практика, это сделали примерно треть разработчиков. Если они не желают добавить в свой компонент уже готовый и отлаженный код интеграции, то я не вижу смысла тратить свое время впоследствии на то, чтобы с каждой новой версией на обновление интеграции.

Поэтому я считаю, что чем чаще пользователи расширений будут просить у разработчиков добавить интеграцию с JComments (можно напрямую, можно через отзывы у них на JED), тем больше шансов, что такая интеграция появится так сказать "из коробки". Я со своей стороны готов ответить на любые вопросы разработчиков и оказать максимальное содействие в данном процессе.
« Последнее редактирование: 27.09.2013, 11:29:10 от smart »
*

iShadow1

  • Осваиваюсь на форуме
  • 13
  • 1 / 0
Re: Интеграция JComment и JEA (j2.5)
« Ответ #4 : 27.09.2013, 12:20:07 »
Хорошо, пойдем по долгому пути))) Я конечно воспользуюсь гугл-переводчиком, но что делать, если никакой реакции со стороны разработчика не будет? А интеграция нужна...

Буду хвастаться... Вот код плагина для JEA

Код
<?php
class jc_com_jea extends JCommentsPlugin {

  function getObjectTitle( $id ) {
    // Data load from database by given id
    $db = & JFactory::getDBO();
    $db->setQuery( "SELECT ref FROM #__jea_properties WHERE id='$id'");
    return $db->loadResult();
  }

  function getObjectLink( $id ) {

    $db = & JFactory::getDBO();
    $db->setQuery( 'SELECT CASE WHEN CHAR_LENGTH(alias) THEN CONCAT_WS(":", id, alias) ELSE id END AS slug FROM #__jea_properties WHERE id = ' . $id );
    $slug = $db->loadResult();
   
    // url link creation for given object by id
    $link = JRoute::_( 'index.php?view=properties&Itemid=110&id='. $slug );
    return $link;
  }

  function getObjectOwner( $id ) {
    $db = & JFactory::getDBO();
    $db->setQuery( 'SELECT created_by, id FROM #__jea_properties WHERE id = ' . $id );
    return $db->loadResult();
  }
}
?>


Ну и код для вставки в components/com_jea/views/property/tmpl/default

Код
<?php $comments = JPATH_SITE . DS .'components' . DS . 'com_jcomments' . DS . 'jcomments.php';
  if (file_exists($comments)) {
    require_once($comments);
    echo JComments::showComments($this->row->id, 'com_jea', $this->row->ref);
  }
?>
« Последнее редактирование: 27.09.2013, 12:54:50 от iShadow1 »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Интеграция JComment и JEA (j2.5)
« Ответ #5 : 27.09.2013, 13:38:22 »
Вот более корректный код плагина:
Код: php
<?php
/**
 * JComments plugin for JEA objects support
 *
 * @version 2.3
 * @package JComments
 * @author Sergey M. Litvinov (smart@joomlatune.ru)
 * @copyright (C) 2006-2013 by Sergey M. Litvinov (http://www.joomlatune.ru)
 * @license GNU/GPL: http://www.gnu.org/copyleft/gpl.html
 */

defined('_JEXEC') or die;

class jc_com_jea  extends JCommentsPlugin
{
function getObjectInfo($id, $language = null)
{
$db = JFactory::getDBO();

$query = "SELECT id, alias, title, access, created_by"
. " FROM #__jea_properties"
. " WHERE id = " . $id;
$db->setQuery($query);
$row = $db->loadObject();

$info = new JCommentsObjectInfo();

if (!empty($row)) {
$Itemid = self::getItemid('com_jea');
$Itemid = $Itemid > 0 ? '&amp;Itemid=' . $Itemid : '';

$slug = $row->alias ? ($row->id . ':' . $row->alias) : $row->id;

$info->title = $row->title;
$info->userid = $row->created_by;
$info->access = $row->access;
$info->link = JRoute::_('index.php?option=com_jea&view=property&id='. $slug . $Itemid);
}

return $info;
}
}
« Последнее редактирование: 27.09.2013, 14:08:59 от smart »
*

iShadow1

  • Осваиваюсь на форуме
  • 13
  • 1 / 0
Re: Интеграция JComment и JEA (j2.5)
« Ответ #6 : 27.09.2013, 14:38:53 »
Плагин я делал по инструкции с сайта JComments. Можно просто на словах, чем ваш код более правильный?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Интеграция JComment и JEA (j2.5)
« Ответ #7 : 27.09.2013, 14:53:08 »
Плагин я делал по инструкции с сайта JComments. Можно просто на словах, чем ваш код более правильный?
Тем что с тех пор, как я написал те инструкции, у меня существенно поменялся взгляд на эти плагины и я их немного улучшил - в моем варианте во-первых одна функция, вместо трех (соотв. один SQL-запрос вместо трех), во-вторых правильно формируется ссылка на объект. В общем рекомендую поверить на слово - он будет работать корректнее и быстрее. Но вам за упорство - безусловно + ;)
*

iShadow1

  • Осваиваюсь на форуме
  • 13
  • 1 / 0
Re: Интеграция JComment и JEA (j2.5)
« Ответ #8 : 27.09.2013, 17:04:41 »
Спасибо за объяснение! Мне важно понимание, отсюда и упорство. Плагин переделаю... а можете вы еще и на сайте поменять код, чтоб не только я один наслаждался оптимизацией?

upd: Вылезла вот еще какая проблемка, в админке, в таблице, где отображаются комментарии есть столбец Название материала. В нем содержатся ссылки, на объекты с комменатиями, так вот у меня, при нажатии на нее осуществляется неправильный переход.
Подскажите, где смотреть/искать/править?
« Последнее редактирование: 27.09.2013, 20:32:38 от iShadow1 »
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Интеграция JComment и JEA (j2.5)
« Ответ #9 : 30.09.2013, 12:47:36 »
Скорее всего вы оставили часть комментариев с вашим плагином, в котором ссылки некорректные. В общем воспользуйтесь моим кодом и затем в админке в разделе Комментарии нажмите кнопку Обновить кэш
*

iShadow1

  • Осваиваюсь на форуме
  • 13
  • 1 / 0
Re: Интеграция JComment и JEA (j2.5)
« Ответ #10 : 30.09.2013, 14:06:10 »
Сделал новый файл плагина, почистил и обновил кэш и... ссылки в админке пропали совсем)))
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Интеграция JComment и JEA (j2.5)
« Ответ #11 : 30.09.2013, 14:12:31 »
Таблица jos_jcomments_objects пустая?
*

iShadow1

  • Осваиваюсь на форуме
  • 13
  • 1 / 0
Re: Интеграция JComment и JEA (j2.5)
« Ответ #12 : 30.09.2013, 15:09:37 »
Нет, есть одна строка в ней, хотя к этому объекту 3 комментария написаны
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Интеграция JComment и JEA (j2.5)
« Ответ #13 : 30.09.2013, 15:48:45 »
При перестройке кэша эта таблица очищается и наполняется заново. Ссылки в ней должны быть корректными.
*

iShadow1

  • Осваиваюсь на форуме
  • 13
  • 1 / 0
Re: Интеграция JComment и JEA (j2.5)
« Ответ #14 : 30.09.2013, 16:43:51 »
Странно...вот что заметил, если я возвращаюсь к первоначальному коду в файле плагина, ссылки в админке появляются. Код ссылок я взял из нового варианта и теперь открывается правильно, но в конце почему то не хочет дописывать &itemid=
Если я включаю ЧПУ, то ссылка получается не та. Есть варианты для дружбы jcomment и ЧПУ? Если да, то какие?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Интеграция JComment и JEA (j2.5)
« Ответ #15 : 30.09.2013, 16:59:31 »
Ваш вариант плагина во-первых будет создавать на 2 запрос к БД больше, во-вторых он физически не может сформировать правильную ссылку, ибо код неверен:
Код: php
$link = JRoute::_( 'index.php?view=properties&Itemid=110&id='. $slug );

Если мой вариант плагина у вас почему-то не работает, то или у вас JEA более старый (и в нем в таблице jea_properties нет каких-нибудь полей, например access), или по какой-то причине в jea_properties поле title пустое, или у вас очень старая версия JComments (т.е. что-то древнее, чем 2.3.0).
*

iShadow1

  • Осваиваюсь на форуме
  • 13
  • 1 / 0
Re: Интеграция JComment и JEA (j2.5)
« Ответ #16 : 30.09.2013, 18:34:12 »
Версия JComments - 3.0, а вот версия JEA - 2.0! Теперь собственно понятно, что у меня не в ладах)))

Обновил JEA и все сразу правильно заработало.

Спасибо за помощь!
« Последнее редактирование: 30.09.2013, 19:31:52 от iShadow1 »
*

smirnov1990

  • Новичок
  • 2
  • 0 / 0
Re: (Решено) Интеграция JComment и JEA (j2.5)
« Ответ #17 : 03.02.2014, 16:37:24 »
Люди! дайте ссылку на собранный плагин, куда этот код девать пока не знаю(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор Opposite

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

Автор Proaqua

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

Автор valensy

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

Автор apelsin

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

Автор Sulpher

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