Всем привет! Есть вот такая проблема:
Есть страница. На ней компонент списка новостей: bitrix:news.list
Список новостей отображается корректно. Детальная страница новости также отображается корректно.
Подключил на страницу плагинfancybox .
Хочу чтобы при клике по элементу списка был бы не переход на детальную страницу новости, а во всплывающем окне бы отображались данные одной новости, детально.
В общем вот страница, на которой размещён компонент bitrix:news.list:
То есть по большому счёту мне надо как то в компонент bitrix:news.detail передать номер новости, по которой кликнули. Подскажите, как это можно сделать?
Сейчас пока закомментировал код вызова компонента детальной страницы новости, так как нужный функционал не получилось пока реализовать.
Есть страница. На ней компонент списка новостей: bitrix:news.list
Список новостей отображается корректно. Детальная страница новости также отображается корректно.
Подключил на страницу плагин
Хочу чтобы при клике по элементу списка был бы не переход на детальную страницу новости, а во всплывающем окне бы отображались данные одной новости, детально.
В общем вот страница, на которой размещён компонент bitrix:news.list:
Код |
---|
<? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); $APPLICATION->SetTitle("Записаться на тренинг"); ?> <li nk rel="stylesheet" href="css/jquery.fancybox.css?v=2.1.7" type="text/css" media="screen" /> <?$APPLICATION->IncludeComponent( "bitrix:news.list", "sign_up_training", array( "DISPLAY_DATE" => "Y", "DISPLAY_NAME" => "Y", "DISPLAY_PICTURE" => "Y", "DISPLAY_PREVIEW_TEXT" => "Y", "AJAX_MODE" => "Y", "IBLOCK_TYPE" => "trainings", "IBLOCK_ID" => "77", "NEWS_COUNT" => "20", "SORT_BY1" => "ACTIVE_FROM", "SORT_ORDER1" => "DESC", "SORT_BY2" => "SORT", "SORT_ORDER2" => "ASC", "FILTER_NAME" => "", "FIELD_CODE" => array( 0 => "", 1 => "", ), "PROPERTY_CODE" => array( 0 => "", 1 => "DATE", 2 => "DESCRIPTION", 3 => "", ), "CHECK_DATES" => "Y", "DETAIL_URL" => "", "PREVIEW_TRUNCATE_LEN" => "", "ACTIVE_DATE_FORMAT" => "d.m.Y", "SET_TITLE" => "Y", "SET_BROWSER_TITLE" => "Y", "SET_META_KEYWORDS" => "Y", "SET_META_DESCRIPTION" => "Y", "SET_LAST_MODIFIED" => "Y", "INCLUDE_IBLOCK_INTO_CHAIN" => "Y", "ADD_SECTIONS_CHAIN" => "Y", "HIDE_LINK_WHEN_NO_DETAIL" => "Y", "PARENT_SECTION" => "", "PARENT_SECTION_CODE" => "", "INCLUDE_SUBSECTIONS" => "Y", "CACHE_TYPE" => "A", "CACHE_TIME" => "3600", "CACHE_FILTER" => "Y", "CACHE_GROUPS" => "N", "DISPLAY_TOP_PAGER" => "N", "DISPLAY_BOTTOM_PAGER" => "N", "PAGER_TITLE" => "Новости", "PAGER_SHOW_ALWAYS" => "Y", "PAGER_TEMPLATE" => "", "PAGER_DESC_NUMBERING" => "Y", "PAGER_DESC_NUMBERING_CACHE_TIME" => "36000", "PAGER_SHOW_ALL" => "Y", "PAGER_BASE_LINK_ENABLE" => "Y", "SET_STATUS_404" => "Y", "SHOW_404" => "Y", "MESSAGE_404" => "", "PAGER_BASE_LINK" => "", "PAGER_PARAMS_NAME" => "arrPager", "AJAX_OPTION_JUMP" => "N", "AJAX_OPTION_STYLE" => "Y", "AJAX_OPTION_HISTORY" => "N", "AJAX_OPTION_ADDITIONAL" => "", "COMPONENT_TEMPLATE" => "sign_up_training", "STRICT_SECTION_CHECK" => "N", "FILE_404" => "" ), false );?> <div id="fancy-content" style="display:none;"> <!--Это само всплывающее окно fancybox--> <!--Тут я хочу отображать детальную страницу новости--> <?/*$APPLICATION->IncludeComponent( "bitrix:news.detail", ".default", array( "DISPLAY_DATE" => "Y", "DISPLAY_NAME" => "Y", "DISPLAY_PICTURE" => "Y", "DISPLAY_PREVIEW_TEXT" => "Y", "USE_SHARE" => "N", "SHARE_HIDE" => "N", "SHARE_TEMPLATE" => "", "SHARE_HANDLERS" => array( 0 => "delicious", ), "SHARE_SHORTEN_URL_LOGIN" => "", "SHARE_SHORTEN_URL_KEY" => "", "AJAX_MODE" => "Y", "IBLOCK_TYPE" => "trainings", "IBLOCK_ID" => "77", //"ELEMENT_ID" => $_REQUEST["ELEMENT_ID"], "ELEMENT_ID" => 2207811,//Сюда надо как то передать ID нужной новости - той новости, по ссылке на которую кликнули "ELEMENT_CODE" => "", "CHECK_DATES" => "Y", "FIELD_CODE" => array( 0 => "", 1 => "", ), "PROPERTY_CODE" => array( 0 => "", 1 => "DESCRIPTION", 2 => "", ), "IBLOCK_URL" => "news.php?ID=#IBLOCK_ID#\"", "DETAIL_URL" => "", "SET_TITLE" => "Y", "SET_CANONICAL_URL" => "Y", "SET_BROWSER_TITLE" => "Y", "BROWSER_TITLE" => "-", "SET_META_KEYWORDS" => "Y", "META_KEYWORDS" => "-", "SET_META_DESCRIPTION" => "Y", "META_DESCRIPTION" => "-", "SET_STATUS_404" => "Y", "SET_LAST_MODIFIED" => "Y", "INCLUDE_IBLOCK_INTO_CHAIN" => "Y", "ADD_SECTIONS_CHAIN" => "Y", "ADD_ELEMENT_CHAIN" => "N", "ACTIVE_DATE_FORMAT" => "d.m.Y", "USE_PERMISSIONS" => "Y", "GROUP_PERMISSIONS" => array( 0 => "1", ), "CACHE_TYPE" => "A", "CACHE_TIME" => "3600", "CACHE_GROUPS" => "N", "DISPLAY_TOP_PAGER" => "Y", "DISPLAY_BOTTOM_PAGER" => "Y", "PAGER_TITLE" => "Страница", "PAGER_TEMPLATE" => "", "PAGER_SHOW_ALL" => "Y", "PAGER_BASE_LINK_ENABLE" => "Y", "SHOW_404" => "Y", "MESSAGE_404" => "", "STRICT_SECTION_CHECK" => "Y", "PAGER_BASE_LINK" => "", "PAGER_PARAMS_NAME" => "arrPager", "AJAX_OPTION_JUMP" => "N", "AJAX_OPTION_STYLE" => "Y", "AJAX_OPTION_HISTORY" => "N", "COMPONENT_TEMPLATE" => ".default", "AJAX_OPTION_ADDITIONAL" => "", "FILE_404" => "" ), false );*/?> </div> <sc ript type="text/javascript" src="js/jquery.fancybox.js?v=2.1.7"></sc ript> <sc ript type="text/javascript"> $(document).ready(function() { $(".fancybox").fancybox(); $('.fancybox').on('click', function(){ console.log('Кликнули по ссылке'); var state = {}; var title = ''; var url = 'http://домен/hr_info/training/sign_up_training?ELEMENT_ID=' + $(this).data('element-id'); console.log('element-id=',$(this).data('element-id')); history.pushState(state, title, url); }); //history.pushState(state, title, url); }); </sc ript> <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?> |
То есть по большому счёту мне надо как то в компонент bitrix:news.detail передать номер новости, по которой кликнули. Подскажите, как это можно сделать?
Сейчас пока закомментировал код вызова компонента детальной страницы новости, так как нужный функционал не получилось пока реализовать.