1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
elementdataprovider.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Iblock\Filter\DataProvider;
4
5
use Bitrix\Iblock\Filter\DataProvider\Element\ElementFilterFields;
6
use Bitrix\Iblock\Filter\DataProvider\Settings\ElementSettings;
7
use Bitrix\Main\Filter\EntityDataProvider;
8
use Bitrix\Main\Localization\Loc;
9
10
class
ElementDataProvider
extends
EntityDataProvider
11
{
12
private
ElementSettings
$settings;
13
private
ElementFilterFields
$fields;
14
15
public
function
__construct
(
ElementSettings
$settings)
16
{
17
$this->settings = $settings;
18
$this->fields = ElementFilterFields::createFromElementSettings($settings);
19
}
20
21
public
function
getSettings
():
ElementSettings
22
{
23
return
$this->settings
;
24
}
25
26
public
function
prepareFields
()
27
{
28
$result
= [];
29
30
$fields = $this->fields->getElementFieldsParams();
31
foreach
($fields as $id =>
$params
)
32
{
33
$result
[$id] = $this->
createField
($id,
$params
);
34
}
35
36
$properties = $this->fields->getElementPropertiesParams();
37
foreach
($properties as $id =>
$params
)
38
{
39
$result
[$id] = $this->
createField
($id,
$params
);
40
}
41
42
return
$result
;
43
}
44
45
public
function
prepareFieldData
($fieldID)
46
{
47
if
($fieldID ===
'SECTION_ID'
)
48
{
49
return
[
50
'items'
=> $this->fields->getSectionListItems(),
51
];
52
}
53
elseif
($fieldID ===
'CREATED_BY'
|| $fieldID ===
'MODIFIED_BY'
)
54
{
55
return
$this->
getUserEntitySelectorParams
($fieldID .
'_filter'
, [
'fieldName'
=> $fieldID]);
56
}
57
elseif
($this->fields->isPropertyId($fieldID))
58
{
59
return
$this->fields->getPropertyDescription($fieldID);
60
}
61
62
return
null
;
63
}
64
65
protected
function
getFieldName
($fieldID)
66
{
67
return
Loc::getMessage(
'IBLOCK_FILTER_ELEMENT_DATAPROVIDER_FIELD_'
. $fieldID) ?? $fieldID;
68
}
69
73
public
function
prepareFilterValue
(
array
$rawFilterValue):
array
74
{
75
$rawFilterValue = parent::prepareFilterValue($rawFilterValue);
76
77
if
(!empty($rawFilterValue[
'FIND'
]))
78
{
79
$rawFilterValue[
'?NAME'
] = $rawFilterValue[
'FIND'
];
80
}
81
82
return
$this->fields->prepareFilterValue($rawFilterValue);
83
}
84
}
Bitrix\Iblock\Filter\DataProvider\Element\ElementFilterFields
Определения
elementfilterfields.php:14
Bitrix\Iblock\Filter\DataProvider\ElementDataProvider
Определения
elementdataprovider.php:11
Bitrix\Iblock\Filter\DataProvider\ElementDataProvider\prepareFieldData
prepareFieldData($fieldID)
Определения
elementdataprovider.php:45
Bitrix\Iblock\Filter\DataProvider\ElementDataProvider\prepareFilterValue
prepareFilterValue(array $rawFilterValue)
Определения
elementdataprovider.php:73
Bitrix\Iblock\Filter\DataProvider\ElementDataProvider\getFieldName
getFieldName($fieldID)
Определения
elementdataprovider.php:65
Bitrix\Iblock\Filter\DataProvider\ElementDataProvider\__construct
__construct(ElementSettings $settings)
Определения
elementdataprovider.php:15
Bitrix\Iblock\Filter\DataProvider\ElementDataProvider\getSettings
getSettings()
Определения
elementdataprovider.php:21
Bitrix\Iblock\Filter\DataProvider\ElementDataProvider\prepareFields
prepareFields()
Определения
elementdataprovider.php:26
Bitrix\Iblock\Filter\DataProvider\Settings\ElementSettings
Определения
elementsettings.php:9
Bitrix\Main\Filter\EntityDataProvider
Определения
entitydataprovider.php:8
Bitrix\Main\Filter\EntityDataProvider\getUserEntitySelectorParams
getUserEntitySelectorParams(string $context, array $params)
Определения
entitydataprovider.php:41
Bitrix\Main\Filter\EntityDataProvider\createField
createField($fieldID, array $params=null)
Определения
entitydataprovider.php:26
array
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения
file_new.php:804
$result
$result
Определения
get_property_values.php:14
$settings
$settings
Определения
product_settings.php:43
elseif
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения
prolog_main_admin.php:393
$params
if($inWords) echo htmlspecialcharsbx(Number2Word_Rus(roundEx($totalVatSum $params['CURRENCY']
Определения
template.php:799
bitrix
modules
iblock
lib
filter
dataprovider
elementdataprovider.php
Создано системой
1.14.0