Всем добрый рабочий день!
Возникла проблема в силу малого опыта с вебом в принципе. Подскажите, пожалуйста, как правильно формируются гет-параметры при открытии модальных окон через ajax-запросы.
Задача была создать функционал для предпросмотра информации о товарах в разделах каталога. В шаблоне вывода списка товаров добавил <span> с ссылкой на шаблон модального окна
Ну и, собственно, сам шаблон окна
Но при клике открывается модальное окно с сообщением "The requested content cannot be loaded. Please try again later."
Я так понимаю, проблема именно в адресе запроса, но не могу его корректно настроить.
При выводе гет-параметра через var_dump($_GET['ID']), понятное дело, отображается NULL.
Возникла проблема в силу малого опыта с вебом в принципе. Подскажите, пожалуйста, как правильно формируются гет-параметры при открытии модальных окон через ajax-запросы.
Задача была создать функционал для предпросмотра информации о товарах в разделах каталога. В шаблоне вывода списка товаров добавил <span> с ссылкой на шаблон модального окна
<span class="quickview" data-fancybox='' data-type='ajax' data-src="/bitrix/templates/aspro-allcorp2/components/bitrix/news.detail/catalog_modal/template.php?ID=<?=$arItem["ID"]?>" data-product-id="<?=$arItem["ID"]?>"></span> |
Далее создал скрипт-перехватчик для вызова модального окна через fancybox
document.addEventListener('DOMContentLoaded', function() { document.querySelectorAll('.quickview').forEach(function(element) { element.addEventListener('click', function(event) { event.preventDefault(); var productId = this.getAttribute('data-src'); if (!productId) return; $.fancybox.open({ src: '/bitrix/templates/aspro-allcorp2/components/bitrix/news.detail/catalog_modal/template.php?ID=' + productId, type: 'ajax', ajax: {settings: {cache: false}} }); console.log('PRODUCT_ID:', productId); }); }); }); |
<?if(!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) die();?> <?$this->setFrameMode(true);?> <? global $arTheme; use \Bitrix\Main\Localization\Loc;?> ?> <?if (!empty($arResult)) {?> <div class="modal-content" style="padding: 20px; max-width: 80%; margin: auto;"> <h2><?=htmlspecialcharsbx($arResult['NAME']);?></h2> <? if($arResult['FIELDS']['PREVIEW_PICTURE']): ?> <img src="<?=$arResult['PREVIEW_PICTURE']['SRC'];?>" alt="<?=$arResult['NAME'];?>" class="img-thumbnail" style="max-width: 100%;" /> <?endif;?> <?if($arResult['DETAIL_TEXT']):?> <div class="detail-text"> <?=htmlspecialcharsbx($arResult['DETAIL_TEXT']);?> </div> <?endif;?> <?if($arParams['ORDER_VIEW'] === 'Y'):?> <div class="price-block"> <?=\Aspro\Functions\CAsproAllcorp2::showPrice($arResult, $arParams, true, true);?> </div> <button class="btn btn-primary add-to-cart" oncl ick="addToCart(<?=$arResult['ID'];?>)"><?=Loc::getMessage('ADD_TO_CART');?></button> <?endif;?> </div> |
Я так понимаю, проблема именно в адресе запроса, но не могу его корректно настроить.
При выводе гет-параметра через var_dump($_GET['ID']), понятное дело, отображается NULL.