Описание товара во вкладке вместе с комментариями

Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.


Разобрался сам, есть несколько поправок:

1 В выше предложенном коде:

$strDetailText = "";    $res = CIBlockElement::GetList(array(), array("ID" => $arResult["ELEMENT"]["ID"]), false, array("nTopCount" => 1), array("ID", "DETAIL_TEXT"));
   if($arRes = $res->GetNext())
   {
    $strDetailText = $arRes["DETAIL_TEXT"];
   }
   $arDataTemp = array();
   $arDataTemp["DESCR"] = array(
    "NAME" => "Описание",
    "ACTIVE" => "Y",
    "CONTENT" => '<div>'.$strDetailText.'</div>'
   );

   foreach($arData as $k => $v)
   {
    $arDataTemp[$k] = $v;
   }     $arData = $arDataTemp;

для вставки в оригинальный шаблон, в строке "NAME":
вместо "NAME" => "Описание",
добавить "NAME" => ($arParams['BLOG_TITLE'] != '' ? $arParams['BLOG_TITLE'] : GetMessage('IBLOCK_CSC_TAB_DESCRIPTION')),

* Это необходимо для того, что бы слово "Описание" добавлялось правильно, а не абракадаброй, а так же на разных языках в зависимости от выбора языка!!!



2 В этом же файле в оригинальном коде:

$arData["BLOG"] =  array(
"NAME" => ($arParams['BLOG_TITLE'] != '' ? $arParams['BLOG_TITLE'] : GetMessage('IBLOCK_CSC_TAB_COMMENTS')),
"ACTIVE" => "Y",
"CONTENT" => '<div id="bx-cat-soc-comments-blg_'.$arResult['ELEMENT']['ID'].'">'.GetMessage("IBLOCK_CSC_COMMENTS_LOADING").'</div>'
);

строчку "ACTIVE" => "Y", заменяем на "ACTIVE" => "N",

* Это необходимо для того, что бы при открытие карточки товара по умолчанию открытой была вкладка с Описанием, а не с Комментариями!!!



3 Далее в файл lang/ru/template.php (для русского языка) добавляем строчку:

$MESS["IBLOCK_CSC_TAB_DESCRIPTION"] = "Описание";

* Во всех других языковых файлах необходимо сделать тоже самое с оригинальным переводом!!!


Кстати, код:

  $strDetailText = "";
   $res = CIBlockElement::GetList(array(), array("ID" => $arResult["ELEMENT"]["ID"]), false, array("nTopCount" => 1), array("ID", "DETAIL_TEXT"));
   if($arRes = $res->GetNext())
   {
    $strDetailText = $arRes["DETAIL_TEXT"];
   }
   $arDataTemp = array();
   $arDataTemp["DESCR"] = array(
    "NAME" => ($arParams['BLOG_TITLE'] != '' ? $arParams['BLOG_TITLE'] : GetMessage('IBLOCK_CSC_TAB_DESCRIPTION')),
    "ACTIVE" => "Y",
    "CONTENT" => '<div>'.$strDetailText.'</div>'
   );

   foreach($arData as $k => $v)
   {
    $arDataTemp[$k] = $v;
   }
   $arData = $arDataTemp;

в отличие от автора, я вставил перед:

if ($arResult['BLOG_USE'])
{
$templateData['BLOG']['AJAX_PARAMS'] = array(
'IBLOCK_ID' => $arResult['ELEMENT']['IBLOCK_ID'],
'ELEMENT_ID' => $arResult['ELEMENT']['ID'],
'URL_TO_COMMENT' => $arParams['~URL_TO_COMMENT'],
'WIDTH' => $arParams['WIDTH'],
'COMMENTS_COUNT' => $arParams['COMMENTS_COUNT'],
'BLOG_USE' => 'Y',
'BLOG_FROM_AJAX' => 'Y',
'FB_USE' => 'N',
'VK_USE' => 'N',
'BLOG_TITLE' => $arParams['~BLOG_TITLE'],
'BLOG_URL' => $arParams['~BLOG_URL'],
'PATH_TO_SMILE' => $arParams['~PATH_TO_SMILE'],
'EMAIL_NOTIFY' => $arParams['EMAIL_NOTIFY'],
'AJAX_POST' => $arParams['AJAX_POST'],
'SHOW_SPAM' => $arParams['SHOW_SPAM'],
'SHOW_RATING' => $arParams['SHOW_RATING'],
'RATING_TYPE' => $arParams['~RATING_TYPE'],
'CACHE_TYPE' => 'N',
'CACHE_TIME' => '0',
'CACHE_GROUPS' => $arParams['CACHE_GROUPS'],
'TEMPLATE_THEME' => $arParams['~TEMPLATE_THEME'],
'SHOW_DEACTIVATED' => $arParams['SHOW_DEACTIVATED'],
);

 

 

Источник: https://dev.1c-bitrix.ru/community/forums/messages/forum7/topic66918/message394143/#message394143

Назад в раздел

Подписаться на новые материалы раздела:














CAPTCHA