ПолезностиКак установить компонент "Отзывы и обзоры" для Instantcms

Главные вкладки

Как установить компонент Отзывы и обзоры

Сам компонент здесь.
1. УСТАНОВКА Компонента, модулей, плагинов
Загрузите и распакуйте архив в корень вашего сайта. Или загрузите файлы из архива на ваш сайт посредством фтп доступа к сайту.
Зайдите в Админку > Установка компонентов
/admin/index.php?view=install&do=component
и установите компонент.
Перейдите в настройки компонента и задайте Типы оценок и Заголовки текстовых полей.
(во вкладках отображаются настройки только для установленных компонентов)
!!!
Первым делом в настройках компонента не забывайте назначить типы для всех рубрик по умолчанию.
Они используются если для рубрики не назначен тип.
2.
Правим файлы для админки.
Откройте файл admin\includes\cp.php

Найдите строку:
LIST TABLE PROCESSORS

Перед ней добавьте:

//////////////////////////////////////// Обзоры\отзывы LIST TABLE PROCESSORS /////////////////////////////////////////////////////////////
function cpRewAuthor($comment_id){
$inDB = cmsDatabase::getInstance();

$sql = "SELECT user_id, guestname
FROM cms_rew
WHERE id = $comment_id";
$result = $inDB->query($sql);
$mod = $inDB->fetch_assoc($result);

if($mod['user_id']==0) { $author = $mod['guestname']; }
else {
$usersql = "SELECT id, nickname, login FROM cms_users WHERE id = ".$mod['user_id'];
$userres = $inDB->query($usersql);
$u = $inDB->fetch_assoc($userres);
$author = $u['nickname'].' (<a href="/admin/index.php?view=users&do=edit&id='.$u['id'].'" target="_blank">'.$u['login'].'</a>)';
}

return $author;
}

function cpRewTarget($comment_id){
$inDB = cmsDatabase::getInstance();

$sql = "SELECT target_title, target_link
FROM cms_rew
WHERE id = $comment_id";
$result = $inDB->query($sql);
$mod = $inDB->fetch_assoc($result);

$target = '<a target="_blank" href="'.$mod['target_link'].'#c'.$comment_id.'">'.$mod['target_title'].'</a>';
return $target;
}

3.ПОДКЛЮЧЕНИЕ Отзывов к компонентам:
для подключения компонента к InstantShop
=========================================================================================================================
открыть файл:
/components/shop/frontend.php

найти строку:
$smarty->display($item['tpl']);

после, добавить строку для вызова компонента:
if($inCore->isComponentInstalled('rew')){include_once PATH."/components/rew/frontend.php";rew('shopitem',$item['id']);}

для подключения компонента к InstantMaps
=========================================================================================================================
открыть файл:
/components/maps/frontend.php

найти строку:
$smarty->display($item['tpl']);

после, добавить строку для вызова компонента:
if($inCore->isComponentInstalled('rew')){include_once PATH."/components/rew/frontend.php";rew('mapsitem',$item['id']);}

для подключения компонента к УК
=========================================================================================================================
открыть файл:
/components/catalog/frontend.php

найти строку:
$smarty->display('com_catalog_item.tpl');

после, добавить строку для вызова компонента:
if($inCore->isComponentInstalled('rew')){include_once PATH."/components/rew/frontend.php";rew('catalog',$item['id']);}

для подключения компонента к Статьям
=========================================================================================================================
открыть файл:
/components/content/frontend.php

найти строку:
display($article['tpl']);

после(перед // Комментарии статьи), добавить строку для вызова компонента:
if($inCore->isComponentInstalled('rew')){include_once PATH."/components/rew/frontend.php";rew('article',$article['id']);}

ВКЛАДКИ.
Для того чтобы разбить комментарии и отзывы по вкладкам
==============================================================
=================================================================

В конец файлов com_catalog_item.tpl, com_inshop_item.tpl, com_inmaps_item.tpl добавьте:

{* ================================== Отзывы ============================ *}
{add_js file='includes/jquery/tabs/jquery.ui.min.js'}
{add_css file='includes/jquery/tabs/tabs.css'}

{literal}
<script type="text/javascript">
$(function(){$("#profiletabs").tabs();});
</script>
{/literal}

<div id="profiletabs">
<ul id="tabs" style="padding-left: 0;">
<li><a href="#item_rew" style="text-decoration: none;" title="Отзывы {$item.title|escape:html}"><span>Отзывы</span></a></li>
<li><a href="#item_rew_obzori" style="text-decoration: none;" title="Обзоры {$item.title|escape:html}"><span>Обзоры</span></a></li>
<li><a href="#item_cmm" style="text-decoration: none"><span>Комментарии</span></a></li>
</ul>

В конец файла com_content_read.tpl добавьте:

{* ================================== Отзывы ============================ *}
{add_js file='includes/jquery/tabs/jquery.ui.min.js'}
{add_css file='includes/jquery/tabs/tabs.css'}

{literal}
<script type="text/javascript">
$(function(){$("#profiletabs").tabs();});
</script>
{/literal}

<div id="profiletabs">
<ul id="tabs" style="padding-left: 0;">
<li><a href="#item_rew" style="text-decoration: none;" title="Отзывы {$item.title|escape:html}"><span>Отзывы</span></a></li>
<li><a href="#item_rew_obzori" style="text-decoration: none;" title="Ответы {$item.title|escape:html}"><span>Ответы</span></a></li>
<li><a href="#item_cmm" style="text-decoration: none"><span>Комментарии</span></a></li>
</ul>

4.УСТАНОВКА\Настройка МОДУЛЕЙ И ПЛАГИНОВ

Установите нужные плагины и модули.

Примечание:
Модуль Отзывы на главной может отображатся в двух режимах отображения. Клонируйте модуль чтобы использовать разные режимы.
Не выводите этот модуль два раза на одной странице\разделе.
P.S. Если при установке вылезло следующее:
ALTER TABLE `#__comment_targets`DROP INDEX target

То по всей видимости у вашего пользователя БД нет прав на выполнение такого вида запроса.
Скопируйте(заменив) файл install.sql по пути compnents/rew/ и повторите установку.

Или
удалите файл install.sql из compnents/rew/
Выполните установку компонента.
Далее.
В архиве есть файл install.sql, используйте его.
Выполните sql запрос посредством PHPMyAdmin

Пропустите последние три строки из файла, если в баз уже имеются записи
в таблицах.

INSERT INTO `cms_comment_targets` VALUES (id, 'rew', 'rew', 'Отзывы', 'cms_rew', 'вашему отзыву');
INSERT INTO `cms_rating_targets` VALUES (id, 'rew', 'rew', 1, 2, 'cms_rew', 'Отзывы');
INSERT INTO `cms_actions` (`component`, `name`, `title`, `message`, `is_tracked`, `is_visible`) VALUES ('rew', 'add_rew', 'Добавление отзыва', 'добавляет %s| на странице %s', '1', '1');

Категория: 
Компоненты Instantsmc