Контакты

Достижения

Все достижения (3)

Наибольший вклад в теги

Все теги (23)

Лучшие ответы пользователя

Все ответы (57)
  • Как узнать что находимся в карточке товара компонента каталог?

    Делайте через отложенные функции

    в footer.php в конец пишем функцию, которая в зависимости от условий производит нужные нам действия
    function containerWidth() {
            global $APPLICATION;
            ob_start();
    
            if(strlen($APPLICATION->GetProperty('fullWidthContainer')) > 0) {
                echo 'container-fluid';
            } else {
                echo 'container';
            }
            $result = ob_get_contents();
            ob_end_clean();
            return $result;
        }


    в header.php в необходимом нам месте
    <div class="<?$APPLICATION->AddBufferContent("containerWidth");?>">


    и на необходимых нам страницах устанавливаем свойство fullWidthContainer

    в вашем случае в catalog.detail или news.detail в component_epilog.php

    $APPLICATION->SetPageProperty("fullWidthContainer", "1");


    Код не тестил, но смысл понятен
    Ответ написан
    1 комментарий
  • Как можно сделать оплату заказа по его ID в Bitrix?

    вывести обработчик оплаты на страницу можно таким образом
    $orderObj = Sale\Order::load($order['ORDER']['ID']);
    												$paymentCollection = $orderObj->getPaymentCollection();
    												$payment = $paymentCollection[0];
    												$service = Sale\PaySystem\Manager::getObjectById($payment->getPaymentSystemId());
    												$context = \Bitrix\Main\Application::getInstance()->getContext();
    												$service->initiatePay($payment, $context->getRequest());


    Можно вывести компонентом

    <?$APPLICATION->IncludeComponent(
        "bitrix:sale.order.payment",
        "",
        Array(
        )
    );?>


    Но судя по коду компонента он выполняет примерно тоже, что код выше

    Если хотите вывести с шаблоном сайта, то можно так сделать через буферизацию
    <?
    require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
    $APPLICATION->SetTitle("Оплата заказа");
    ob_start();
    ?>
    <?$APPLICATION->IncludeComponent(
        "bitrix:sale.order.payment",
        "",
        Array(
        )
    );?>
    <?
    $formPay = ob_get_contents();
    ob_end_clean();
    require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_after.php");
    $APPLICATION->SetTitle("Оплата заказа");
    ?>
    <div class="formPayment">
    <?
    echo $formPay;
    ?>
    </div>
    <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
    Ответ написан
    9 комментариев
  • Обновление даты активности элемента?

    Вообще все есть в гугл, похоже вы не пробовали погуглить
    <a class="update" data-id='<?=$arItem['ID']?>' href="">Ссылка примерного вида</a>


    $(".update").click(function(event) {
    	var id = $(this).attr('data-id');
    	$.ajax({
    		url: '/path/to/file',
    		type: 'post',
    		data: {id: id},
    	})
    	.done(function() {
    		console.log("success");
    	})
    	.fail(function() {
    		console.log("error");
    	})
    	.always(function() {
    		console.log("complete");
    	});
    	
    });


    <?
    include($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
    if(\Bitrix\Main\Loader::includeModule('iblock')) {
    $newEl = new CIBlockElement;
    $elProps = array(
    "MODIFIED_BY" => $USER->GetID(), 
    "IBLOCK_ID" => 3,
    "ACTIVE_FROM" => ConvertTimeStamp(time(), "FULL"),
    "ACTIVE" => "Y",
    );
    $res = $newEl->Update($_REQUEST["id"], $elProps);
    }


    Примерно так, работает или нет не проверял
    Ответ написан
    Комментировать
  • Как вывести в шапке сайта bitrix некешируемую область?

    Причина скорее всего в композите, необходимо вывод и код для получения номера вынести в динамическую область
    вот примеры, ну и учитывайте, шаблон компонента это или шаблон сайта

    https://dev.1c-bitrix.ru/learning/course/index.php...
    Ответ написан
    1 комментарий
  • Почему настройки слайдера включаются после перезагрузки?

    У слик есть настройка адаптивности вообще-то
    $('#recomendationsSlider').slick({
    			autoplay: false,
    			slidesToShow: 4,
    			arrows: true,
    			dots:false,
    			lazyLoad: 'ondemand',
    			responsive: [
    		    {
    		      breakpoint: 1200,
    		      settings: {
    		        slidesToShow: 3,
    		        slidesToScroll: 3,
    		        infinite: true,
    		      }
    		    },
    		    {
    		      breakpoint: 992,
    		      settings: {
    		        slidesToShow: 2,
    		        slidesToScroll: 2
    		      }
    		    },
    		    {
    		      breakpoint: 580,
    		      settings: {
    		        slidesToShow: 1,
    		        slidesToScroll: 1
    		      }
    		    }
    		    // You can unslick at a given breakpoint now by adding:
    		    // settings: "unslick"
    		    // instead of a settings object
    		  ],
    		  nextArrow: $('.arrow-right'),
    		  prevArrow: $('.arrow-left'),
    		});
    Ответ написан
    1 комментарий

Лучшие вопросы пользователя

Все вопросы (3)