Где нужно разместить код с функцией 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`.
Поместите в файл <code>result_modifier.php</code> который должен лежать рядом с вашим <code>template.php</code> . <br/> Чтобы ваш <code>$property</code> был на странице шаблона, поместите его в массив <code>$arResult</code> <br/> <pre><code class="php">$propertyArr = [];
$dbResult = CIBlockElement::GetList([], 
        ["IBLOCK_ID" =&gt; 18, "ACTIVE" =&gt; "Y", "SECTION_ID" =&gt; 24],
        false,
        false,
        ["ID",'PROPERTY_COUNTRY_VALUE']
);
while ($ob = $dbResult-&gt;GetNext()) {
        array_push($propertyArr, $ob['PROPERTY_COUNTRY_VALUE_ENUM_ID']);  
}
$enums= array_unique($propertyArr);
$property = CIBlockPropertyEnum::GetList(
        ['VALUE' =&gt; 'ASC'],
        ["IBLOCK_ID"=&gt;18, "ID" =&gt; $enums]
);
$arResulit['PROPERTY'] = $property;</code></pre> <br/> <br/> Только убедитесь что в <code>$arResulit</code> ещё нет такого ключа, или измените его на другой. <br/> <br/> Подробнее про <code>result_modifier.php</code> тут: <a href="https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&amp;LESSON_ID=2830" rel="nofollow">https://dev.1c-bitrix.ru/learning/course/index.php...</a>
Похожие вопросы