Где нужно разместить код с функцией getlist?

Как правильно разместить код, чтобы переменная `$property` была доступна как в init.php, так и в template.php?
  • 19 августа 2024 г. 13:33
Ответы на вопрос 2
Код с функцией `getlist` можно разместить в отдельном файле, например, `functions.php`, который затем можно подключить в файлы `init.php` и `template.php`.

Примерный код в `functions.php`:

```php
function getlist() {
    $property = 'value';
    return $property;
}
```

Затем в `init.php` и `template.php` можно подключить файл `functions.php` и использовать функцию `getlist` для получения переменной `$property`:

```php
// init.php
include 'functions.php';
$property = getlist();

// template.php
include 'functions.php';
$property = getlist();
```

Таким образом, переменная `$property` будет доступна как в `init.php`, так и в `template.php`.
Поместите в файл result_modifier.php который должен лежать рядом с вашим template.php . 
Чтобы ваш $property был на странице шаблона, поместите его в массив $arResult
$propertyArr = [];
$dbResult = CIBlockElement::GetList([], 
        ["IBLOCK_ID" => 18, "ACTIVE" => "Y", "SECTION_ID" => 24],
        false,
        false,
        ["ID",'PROPERTY_COUNTRY_VALUE']
);
while ($ob = $dbResult->GetNext()) {
        array_push($propertyArr, $ob['PROPERTY_COUNTRY_VALUE_ENUM_ID']);  
}
$enums= array_unique($propertyArr);
$property = CIBlockPropertyEnum::GetList(
        ['VALUE' => 'ASC'],
        ["IBLOCK_ID"=>18, "ID" => $enums]
);
$arResulit['PROPERTY'] = $property;


Только убедитесь что в $arResulit ещё нет такого ключа, или измените его на другой.

Подробнее про result_modifier.php тут: https://dev.1c-bitrix.ru/learning/course/index.php...
Похожие вопросы