use Bitrix\Main\ORM\Fields\Relations\Reference;
use Bitrix\Main\ORM\Query\Join;
use Bitrix\Iblock\ElementPropertyTable;
\Bitrix\Main\Loader::includeModule('sale');
$propertyId = 1;
$result = \Bitrix\Sale\Order::getList([
'filter' => ['PROPERTIES.IBLOCK_PROPERTY_ID' => $propertyId, '!PROPERTIES.VALUE' => false],
'select' => ['ID'],
'runtime' => [
new Reference(
'PROPERTIES', ElementPropertyTable::class,
Join::on('this.BASKET.PRODUCT_ID', 'ref.IBLOCK_ELEMENT_ID')
)
]
])->fetchAll();
print_r($result);
function addTitleClass()
{
global $APPLICATION;
return strlen($APPLICATION->GetTitle()) > 200 ? ' class="small"' : '';
}
<h1 id="pagetitle"<?$APPLICATION->AddBufferContent('addTitleClass');?>><?$APPLICATION->ShowTitle(false);?></h1>
<h1 id="pagetitle" class="<?=$APPLICATION->ShowProperty('titleClass');?>"><?$APPLICATION->ShowTitle(false);?></h1>
<?if(strlen($APPLICATION->GetTitle()) > 200):?>
<?$APPLICATION->SetPageProperty('titleClass', 'small');?>
<?endif;?>
use Bitrix\Main\Loader;
use Bitrix\Iblock\ElementTable;
use Bitrix\Iblock\ElementPropertyTable;
use Bitrix\Main\Entity\ExpressionField;
Loader::includeModule('iblock');
$iblockId = 1;
$propertyId = 1;
$elementIds = [];
$iterator = ElementPropertyTable::getList([
'select' => [new ExpressionField('ID', 'MAX(%s)', 'IBLOCK_ELEMENT_ID'), 'VALUE'],
'filter' => ['IBLOCK_PROPERTY_ID' => $propertyId, '!VALUE' => false],
]);
while($row = $iterator->fetch()) {
$elementIds[] = $row['ID'];
}
$elements = ElementTable::getList([
'select' => ['ID', 'NAME'],
'filter' => ['IBLOCK_ID' => $iblockId, 'ID' => $elementIds],
])->fetchAll();
print_r($elements);
то на самом деле там &nbsp;
$value = 'Тестовая и&nbsp;строка<br/>тут';
htmlspecialchars_decode($value)
// скорее всего даже
htmlspecialchars_decode(htmlspecialchars_decode($value)))
'IBLOCK_ELEMENT' => new Main\Entity\ReferenceField(
'IBLOCK_ELEMENT',
'\Bitrix\Iblock\Element',
array('=this.ID' => 'ref.ID'),
array('join_type' => 'LEFT')
),
'filter' => array("IBLOCK_ELEMENT.IBLOCK_ID"=>46),
protected function prepareFilter()
{
//......
$arFilter["LID"] = SITE_ID;
//......
<script type="text/javascript">
<?=$cartId?>.activate();
</script>
\Bitrix\Main\Loader::includeModule('catalog');
$productIds = [323, 316];
$ratio = '0.5';
$iterator = \Bitrix\Catalog\MeasureRatioTable::getList([
'select' => ['ID'],
'filter' => ['PRODUCT_ID' => $productIds]
]);
while($row = $iterator->fetch()) {
\Bitrix\Catalog\MeasureRatioTable::update($row['ID'], ['RATIO' =>$ratio]);
}
#main-content{display: flex;}
#content{float: none;}
body #sidebar{float: none;}
.sidebar-widget{float: none;}
// то что есть убрать и заменить
.dontb {position: sticky;top: 0;}
ob_start();
// вызов компонента
$karusel_1 = ob_get_contents();
ob_end_clean();
\Bitrix\Main\Loader::includeModule('highloadblock');
use Bitrix\Highloadblock as HL;
use Bitrix\Main\Entity;
// ID HL-блока
$hlbl = 2;
$hlblock = HL\HighloadBlockTable::getById($hlbl)->fetch();
$entity = HL\HighloadBlockTable::compileEntity($hlblock);
$entity_data_class = $entity->getDataClass();
// CRM_QUOTE_ID
$crmQuoteId = 100;
// XML_ID UF поля с CRM_QUOTE_ID в HL-блоке
$crmQuoteFieldId = 'UF_CRM_QUOTE_ID';
$result = $entity_data_class::getList([
'select' => ['ELEMENT_' => 'IBLOCK_ELEMENT'],
'order' => [],
'filter' => [$crmQuoteFieldId => $crmQuoteId],
'runtime' => [
'IBLOCK_ELEMENT' => [
'data_type' => \Bitrix\Iblock\ElementTable::class,
'reference' => ['this.'.$crmQuoteFieldId => 'ref.ID'],
'join' => 'RIGHT'
]
]
])->fetchAll();
print_r($result);
'FILL_ITEM_ALL_PRICES' => 'Y'
, тогда в $arResult добавится ключ ITEM_ALL_PRICES, в нем будут все цены.$jsParams['OFFERS'] = $item['JS_OFFERS'];
до нее, в $item['JS_OFFERS'] можно foreach($item['JS_OFFERS'] as $key => &$offer) {
$offer['ITEM_PRICES'] = $item['OFFERS'][$key]['ITEM_ALL_PRICES'];
}
unset($offer);