Всем добрый рабочий день!
Возникла проблема в силу малого опыта с вебом в принципе. Подскажите, пожалуйста, как правильно формируются гет-параметры при открытии модальных окон через 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.