Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

AJAX

00 голосов
2
Добрый день.
Я хочу с помощью AJAX вывести в определенный див облако тегов. Пожалуйста, не спрашивайте зачем. Следуя привычке я создал файл some_script.php со следующим кодом:
Код
<?$APPLICATION->IncludeComponent(
   "bitrix:search.tags.cloud",
   "",
   Array(
      "CHECK_DATES" => "Y",
      "arrWHERE" => Array("iblock_".$arParams["IBLOCK_TYPE"]),
      "arrFILTER" => Array("iblock_".$arParams["IBLOCK_TYPE"]),
      "arrFILTER_iblock_".$arParams["IBLOCK_TYPE"] => Array($arParams["IBLOCK_ID"]),
      "CACHE_TYPE" => $arParams["CACHE_TYPE"],
      "CACHE_TIME" => $arParams["CACHE_TIME"],
      "URL_SEARCH" => $arResult["FOLDER"].$arResult["URL_TEMPLATES"]["search"],

      "PAGE_ELEMENTS" => $arParams["TAGS_CLOUD_ELEMENTS"],
      "PERIOD_NEW_TAGS" => $arParams["PERIOD_NEW_TAGS"],
      "FONT_MAX" => $arParams["FONT_MAX"],
      "FONT_MIN" => $arParams["FONT_MIN"],
      "COLOR_NEW" => $arParams["COLOR_NEW"],
      "COLOR_OLD" => $arParams["COLOR_OLD"],
      "WIDTH" => $arParams["TAGS_CLOUD_WIDTH"],
   ),
   $component
);?>

То есть получить и нарисовать. Но получил ошибку что мол, $APPLICATION - не объект. Есть ли способ реализовать мою цель?
спросил 06 Май, 14 от Fr33Dom (200 баллов)

2 Ответы

00 голосов
ТС не возражает если я присоединюсь к его теме? У меня тоже просто вопрос по самодельному AJAX.
на сайте есть главное меню. При наведении на любой из его пунктов всплывает див, куда на jquery ajax подгружается список подпунктов.
Соответственно я из jquery обращаюсь в созданный мной ajax.php. Вот его код:

Код
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");

if(CModule::IncludeModule("iblock"))
   { 
   if (isset($_REQUEST['getSubmenu'])) {
   //echo $_REQUEST['parentMenu'];
   $html = '';
     $arFilter = Array('SECTION_ID'=>$_REQUEST['parentMenu'], 'GLOBAL_ACTIVE'=>'Y');
     $db_list = CIBlockSection::GetList(Array($by=>$order), $arFilter, true);
     $db_list->NavStart(20);
     echo $db_list->NavPrint($arIBTYPE["SECTION_NAME"]);
     while($ar_result = $db_list->GetNext())
     {
      $href = '/catalog/index.php?SECTION_ID='.$ar_result['ID'];
      //echo $ar_result['ID'].' '.$ar_result['NAME'].': '.$ar_result['ELEMENT_CNT'].'<br>';
      $html .= '<li><a href="'.$href.'" >'.$ar_result['NAME'].'</a></li>';
     }
   echo $html;
   }
  }
?>


И все бы хорошо - но только для залогиненных пользователей. А для незалогиненных - в диве всплывает не список подкатегорий, а главная страница сайта. В чем может быть проблема, не подскажете?

Спасибо
ответил 02 Янв, 15 от HeJIJIu (630 баллов)
00 голосов
ТС не возражает)
Кстати, сопутствующий вопрос: если моя задача не решается аяксом, есть ли возможность получить результат работы $APPLICATION->IncludeComponent() в переменную?
ответил 21 Апр, 15 от Fr33Dom (200 баллов)

Похожие вопросы

0 голосов
0 ответов
+1 голос
1 ответ
0 голосов
1 ответ
спросил 05 Фев, 15 от аноним