При использовании JComments Latest в режиме Последние прокомментированные материалы хотелось бы использовать не только com_content.
Интересовал com_apoll - компонент голосований
Готового решения не нашел.
1. Тупо отредактировал запрос к com_content.
2. Объединил выхлоп с существующим.
3. Сознательно не убил limitы в select - подумал шустрее будет.
В силу своего непрофессионализма пошел коротким путем: правка /modules/mod_jcomments/mod_jcomments.php стр.222
Запрос стал выглядеть так:
$query = "(SELECT c.id AS id, c.title AS title, c.sectionid, 'com_content' as grp"
. ((JCOMMENTS_JVERSION == '1.5')? ', CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(":", c.id, c.alias) ELSE c.id END as slug' : '')
. ((JCOMMENTS_JVERSION == '1.5')? ', CASE WHEN CHAR_LENGTH(ct.alias) THEN CONCAT_WS(":", ct.id, ct.alias) ELSE ct.id END as catslug' : '')
. "\n, COUNT(cc.id) AS comments, MAX(cc.date) AS commentdate"
. "\n FROM #__content AS c"
. "\n LEFT JOIN #__jcomments AS cc ON c.id = cc.object_id"
. "\n LEFT JOIN #__categories AS ct ON ct.id = c.catid"
. "\n WHERE c.state = 1"
. "\n AND c.access <= '$my->gid'"
. "\n AND (c.publish_up = '0000-00-00 00:00:00' OR c.publish_up <= '$now')"
. "\n AND (c.publish_down = '0000-00-00 00:00:00' OR c.publish_down >= '$now')"
. "\n AND cc.published = 1"
. "\n AND (cc.object_group = 'com_content')"
. ((!$catid && $sectionid)? "\n AND (c.sectionid IN ($sectionid) )" : '')
. (count($exclude_sections)? "\n AND (c.sectionid NOT IN (".implode(',', $exclude_sections).") )" : '')
. ($catid ? "\n AND (c.catid IN ($catid) )" : '')
. (count($exclude_catids)? "\n AND (c.catid NOT IN (".implode(',', $exclude_catids).") )" : '')
. "\n GROUP BY c.id, c.title, c.sectionid"
. ((JCOMMENTS_JVERSION == '1.5')? ", slug, catslug" : '')
. "\n ORDER BY commentdate DESC"
. "\n LIMIT " . intval( $params->get( 'count' ) ).")"
. "\n UNION"
. "\n (SELECT c.id AS id, c.title AS title, '99999999' AS sectionid, 'com_apoll' as grp"
. ((JCOMMENTS_JVERSION == '1.5')? ', CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(":", c.id, c.alias) ELSE c.id END as slug' : '')
. ((JCOMMENTS_JVERSION == '1.5')? ', CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(":", c.id, c.alias) ELSE c.id END as catslug' : '')
. "\n, COUNT(cc.id) AS comments, MAX(cc.date) AS commentdate"
. "\n FROM #__apoll_polls AS c"
. "\n LEFT JOIN #__jcomments AS cc ON c.id = cc.object_id"
. "\n WHERE c.published = 1"
. "\n AND cc.published = 1"
. "\n AND (cc.object_group = 'com_apoll')"
. "\n GROUP BY c.id, c.title"
. ((JCOMMENTS_JVERSION == '1.5')? ", slug, catslug" : '')
. "\n ORDER BY commentdate DESC"
. "\n LIMIT " . intval( $params->get( 'count' ) ).")"
. "\n ORDER BY commentdate DESC"
. "\n LIMIT " . intval( $params->get( 'count' ) )
;
Работает! демо
http://www.142800.ru левый низ - "Последние комментарии" работает не только com_content но и com_apoll
Пожелания: по возможности унифицировать мои попытки программинга для других компонентов.
Думаю не (с)только я буду благодарен.(с - корявенько, но проблему решил

)