SDF-group

Интеграция Virtuemart 2 и Jcomments: нет названия товаров у комментариев в админке

В этом материале подробно описывается интеграция комментариев Jcomments в товары Virtuemart 2 и вывода в товаре количества комментариев. Совершив указанные действия я столкнулся с проблемой - в админке сайта в разделе комментариев Jcomments поля названия контента были пусты, то есть было непонятно к какому из товаров Virtuemart относится данный комментариев. Пришлось лезть в глубь кода:)

Вот такая печальная картина была у меня в админке:

Название материала было только у компонента com_content, отвечающего за статьи. Поля com_virtuemart зияли пугающей пустотой.

Проблема скрывалась в несовместимости полей БД плагина virtuemart для Jcomments и версии Virtuemart 2.

В файлк /components/com_jcomments/plugins/com_virtuemart.plugin.php функция, отвечающая за отдачу титла товара у меня выглядела вот так:

function getObjectTitle($id)
	{
		$db = JCommentsFactory::getDBO();
		$db->setQuery( 'SELECT product_name, product_id FROM #__vm_product WHERE product_id = ' . $id );
		return $db->loadResult();
	}

Поля запросы к БД не соответствовали тем, что были у меня. Изменив поля в функции на такие:

function getObjectTitle($id)
	{
		$db = JCommentsFactory::getDBO();
		$db->setQuery( 'SELECT product_name, virtuemart_product_id FROM #__virtuemart_products_ru_ru WHERE virtuemart_product_id = ' . $id );
		return $db->loadResult();

	}

Я получил требуемый результат:

 

Чего и вам желаю.

Добавить комментарий


Защитный код
Обновить