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

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

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

Сообщений: 531



« : 03.06.2010, 16:19:38 »

Я в курсе, что уже давно вышел JComments 2.2, но только  сейчас случайно набрел на описание.
На разделе "Интеграция со сторонними расширениями" я задумался - почему интеграция для каждого компонента должна быть такой индивидуальной и быть написана либо разработчиком JComments либо разработчиком %название%?
Чисто концептуально, на сколько реально сделать интеграцию вида одной строки <? JComments(); ?>?

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

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

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


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


« Ответ #1 : 03.06.2010, 16:26:06 »

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

Почему нельзя сделать универсальную интеграцию? Ну потому, для того, чтобы сохранить комментарий, нужно во-первых знать, к какому объекту он относится, а это автоматически определить сложно - в каких-то компонентах это поле называется id, в других product_id, в третьих imgid. И автоматически это не определить.

Во-вторых, необходимо уметь строить ссылки, на комментируемый объект по идентфикатору этого объекта, причем не зависимо от того, был ли включен SEF (и какой именно) в момент оставления комментария, и включен ли на момент чтения. И это тоже, автоматически не реализовать - в одних компонентах один набор параметров в ссылках, в других - другой. И проще сделать плагин, чем пытаться догадаться, что в данном случае нужно.

В-третьих, я считаю, что если бы все разработчики расширений, взяли бы и выработали некий общий стандарт (например интерфейс плагинов), который позволял бы подключать системы комментариев как плагины, то всем бы стало намного проще. Только не каждый свое, а единый стандарт. Вот создание плагина для K2 заняло у меня по сути порядка 15 минут, и после этого, никуда в код лазить не нужно. С SOBI2 в свое время я провозился больше времени. Т.е. вместо того, чтобы в компонентах делать настройки, вставлять различные куски кода для интеграции той или иной системы комментариев, ввели бы поддержку плагинов и все. А пользователи, кому какой плагин нужен поставили и используют, не задумываясь о том, что им еще в шаблоне надо что-то поправить.



Если кого-то, не устраивает текущее положение вещей, то никто не запрещает использовать так называемые внешние системы комментариев типа Disquss, которые хранят комментарии на своих серверах, а привязывают их к адресу страницы.
« Последнее редактирование: 03.06.2010, 16:29:17 от smart » Записан
..С...е...р...ы...й..
Завсегдатай
*****

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

Сообщений: 531



« Ответ #2 : 03.06.2010, 16:37:47 »

Почему нельзя сделать универсальную интеграцию? Ну потому, для того, чтобы сохранить комментарий, нужно во-первых знать, к какому объекту он относится, а это автоматически определить сложно - в каких-то компонентах это поле называется id, в других product_id, в третьих imgid. И автоматически это не определить.

понятно, наверное теоретически это возможно бы было, если б каждый компонент писался по каким то определенным правилам принятыми для Joomla (ну что бы у всех расширений, поля одного и того же назначения называлась одинаково), но если таких правил нет, то всё понятно тогда...

Во-вторых, необходимо уметь строить ссылки, на комментируемый объект по идентфикатору этого объекта, причем не зависимо от того, был ли включен SEF (и какой именно) в момент оставления комментария, и включен ли на момент чтения. И это тоже, автоматически не реализовать - в одних компонентах один набор параметров в ссылках, в других - другой. И проще сделать плагин, чем пытаться догадаться, что в данном случае нужно.

ну чтож, компонент популярный, думаю редкий разработчик своего расширения посчитает нецелесообразным написать короткий кусочек кода для интеграции с ним.
Записан
smart
Администратор
*******

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

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


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


« Ответ #3 : 03.06.2010, 16:40:23 »

понятно, наверное теоретически это возможно бы было, если б каждый компонент писался по каким то определенным правилам принятыми для Joomla (ну что бы у всех расширений, поля одного и того же назначения называлась одинаково), но если таких правил нет, то всё понятно.
да даже если и так, есть компоненты в которых можно комментировать разные объекты (в Music Collections комментировать можно альбомы, исполнителей и песни), и автоматически определить это нельзя.
Записан
Страниц: [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