• Как отловить событие изменения цены товара в Битриксе?

    @vcherepko Автор вопроса
    Вроде разобрался!
    Пример рабочего кода
    $eventManager->addEventHandler( 'catalog', '\Bitrix\Catalog\Price::OnBeforeUpdate',
    static function (\Bitrix\Main\Event $event) {          
      $data = $event->getParameter("fields");   
      $rsPrice = \Bitrix\Catalog\Model\Price::getList(array('filter'=>array('PRODUCT_ID'=>$data['PRODUCT_ID'])))->fetch();
    } 
    );

    Как я понял событие Price::OnBeforeUpdate срабатывает всегда, вне зависимости от изменения цены.
    Поэтому, для того чтобы отследить изменение цены необходимо сначала отдельным запросом получить текущую цену, а затем сравнить ее с той что пришла в $data.

    Может я что-то не так понял, поправьте если что...
    Ответ написан
    Комментировать
  • Почему сторонний сервис не может скачать картинку с нашего сайта?

    @vcherepko Автор вопроса
    Ответ.
    Эти ребята вставили скобку после расширения в запросе запроса
    "/home/bitrix/ext_www/mysite.ru/upload/iblock/d4d/eiapah7a9eaic2lzq9d255az3s5qrry1.JPG)"
    Ответ написан
    Комментировать
  • Как настроить почту Outlock на виртуальной машине Битрикс?

    @vcherepko Автор вопроса
    Задача решилась установкой и настройкой Postfix
    Ответ написан
    Комментировать
  • Как сделать SEO данные для умного фильтра?

    @vcherepko
    В init.php
    define( 'IBLOCK_SEO', 'ID_Вашего созданного инфоблока' ); //лобо просто в $arFilter
    В section.php в конце
    $currentPageUrl = str_replace(' ','%20',$APPLICATION->GetCurPage(false)); //мне пришлось экранировать пробелы
    	$currentPageSeo = array();
    	$arSelect = Array("ID", "PROPERTY_SEO_TITLE", "PROPERTY_SEO_KEYWORDS", "PROPERTY_SEO_DESCRIPTION");
    	$arFilter = Array("IBLOCK_ID"=>IBLOCK_SEO, "ACTIVE_DATE"=>"Y", "ACTIVE"=>"Y", "PROPERTY_SEO_URL"=>$currentPageUrl);
    	$res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
    	while($ob = $res->GetNextElement()){
    	    $arFields = $ob->GetFields();
    	    $currentPageSeo = array(
            "TITLE" => $arFields["PROPERTY_SEO_TITLE_VALUE"],
            "KEYWORDS" => $arFields["PROPERTY_SEO_KEYWORDS_VALUE"],
            "DESCRIPTION" => $arFields["PROPERTY_SEO_DESCRIPTION_VALUE"]
        	);
    	};

    //Устанавливаем полученные параметры
    	if($currentPageSeo["TITLE"]){
    	    $APPLICATION->SetPageProperty("title", $currentPageSeo["TITLE"]);
    	}
    	if($currentPageSeo["KEYWORDS"]){
    	    $APPLICATION->SetPageProperty("keywords", $currentPageSeo["KEYWORDS"]);
    	}
    	if($currentPageSeo["DESCRIPTION"]){
    	    $APPLICATION->SetPageProperty("description", strip_tags($cnt." ".$currentPageSeo["DESCRIPTION"]));
    	};
    Ответ написан
  • Как принудительно обновить js в WooCommerce?

    @vcherepko Автор вопроса
    Плагина кэша не стоит.
    Плохая практика редактировать сам плагин

    Это я в курсе...
    Может подскажете?
    Проблема с обновлением корзины.
    <button type="submit" class="button" name="update_cart" value="Обновить корзину" disabled>Обновить корзину</button>

    В консоли удаляю параметр disabled, все работает. В php кнопка написана без disabled. Соответственно disabled добавляет скрипт плагина. (который советовали почистить). Неужели нужно собственным скриптом чистить кнопку, может кто сталкивался?

    UPD: Решение. Мое. (считаю диким костылем)
    $(".button_update").prop( "disabled", null );
    $( document.body ).on( 'updated_cart_totals', function() { 
        $(".button_update").prop( "disabled", null );
     } );
    Ответ написан
    Комментировать