Технические данные

Дата публикации:
07.07.2016
Дата обновления:
19.12.2016
Версия:
1.0.6
Адаптивность:
Нет
Поддержка композита:
Нет
Число установок:
Менее 50 раз

Совместимые редакции

Описание

Базовые функции работы с сущностями, кешем и т.д.

На текущий момент доступны классы:

\Artmix\Core\Entity\Iblock
\Artmix\Core\Entity\IblockSection
\Artmix\Core\Entity\IblockElement
\Artmix\Core\Entity\IblockProperty
\Artmix\Core\Entity\IblockPropertyEnumeration
\Artmix\Core\Data\Cache
Модуль устанавливается обычным образом через каталог решений Маркетплейс.

Модуль подключается на всех страницах сайтах. Дополнительно его инициализировать функцией Loader::includeModule() не нужно.

Примеры использования:

Работа с сущностями
<?php

// Вернёт ID инфоблока с кодом clothes
echo \Artmix\Core\Entity\Iblock::getByCode('clothes')->ID;  

// Вернёт ID инфоблока с кодом clothes (с учётом типа инфоблока catalog)
echo \Artmix\Core\Entity\Iblock::getByCode('clothes', '=', 'catalog')->ID;  

// Вернёт ID секции инфоблока с кодом shoes (без учёта инфоблока)
\Artmix\Core\Entity\IblockSection::getByCode('shoes')->ID; 

// Вернёт CODE секции инфоблока с кодом shoes (c учётом инфоблока с ID 3) 
\Artmix\Core\Entity\IblockSection::getByCode('shoes', '=', 3)->CODE;

// Вернёт NAME элемента инфоблока с XML_ID равным 6dd5e035-5886-11e5-a2d9-f46d042bcc9f (без учёта инфоблока)
\Artmix\Core\Entity\IblockElemet::getByXmlId('6dd5e035-5886-11e5-a2d9-f46d042bcc9f')->NAME; 

// Вернёт NAME элемента инфоблока с XML_ID равным 6dd5e035-5886-11e5-a2d9-f46d042bcc9f (c учётом инфоблока с ID 3)
\Artmix\Core\Entity\IblockElemet::getByXmlId('6dd5e035-5886-11e5-a2d9-f46d042bcc9f', '=', 3)->NAME; 

// Работа со свойствами инфоблока
\Artmix\Core\Entity\IblockProperty::getByCode('NEW', '=', $iblockId)->NAME
\Artmix\Core\Entity\IblockProperty::getByXmlId('6dd5e035-5886-11e5-a2d9-f46d042bcc9f', '=', $iblockId)->NAME

// Работа со значениями свойств-списков инфоблока
\Artmix\Core\Entity\IblockPropertyEnumeration::getByValue('', '=', $iblockId, $propertyCode)->XML_ID
\Artmix\Core\Entity\IblockPropertyEnumeration::getByXmlId('6dd5e035-5886-11e5-a2d9-f46d042bcc9f', '=', $iblockId, $propertyCode)->VALUE

Работа с кешем
<?php

// Пример работы вместе с кешем

use Artmix\Core\Data\Cache;
use Bitrix\Main\Loader;
use Artmix\Core\Entity\IblockQuery;
use Bitrix\Main\LoaderException;

$cacheDir = '/path/to/cache-dir';

$cacheId = 'unique-cache-id';

$cacheTime = 3600;

$result = (new Cache($cacheDir, $cacheId, $cacheTime))
    ->get(
        function () {
            if (Loader::includeModule('iblock')) {
                return (new IblockQuery(get_called_class()))
                    ->find(
                        [
                            'filter' => ['=CODE' => 'TEST']
                        ]
                    )
                    ->one();
            } else {
                throw new LoaderException(sprintf('Error include "iblock" module.'));
            }

        }
    ); 

<?php
// Пример работы вместе с тегированным кешем

$result = (new Artmix\Core\Data\Cache('/artmix/pages/oplata_i_dostavka', 'elements-news', 60 * 60 * 24 * 30, ['iblock_id_1']))
    ->get(
        function () {
            if (Bitrix\Main\Loader::includeModule('iblock')) {
                $items = [];

                $elementIterator = \Bitrix\Iblock\ElementTable::getList([
                    'select' => ['ID', 'NAME', 'CODE'],
                    'filter' => [
                        '=IBLOCK_ID' => 1,
                    ],
                ]);

                while ($element = $elementIterator->fetch()) {
                    $items[$element['ID']] = $element;
                }

                return $items;

            } else {
                throw new Bitrix\Main\LoaderException(sprintf('Error include "iblock" module.'));
            }
        }
    ); 
Модуль технической поддержки не предусматривает. По остальным вопросам info@artmix.ru

Установите этот модуль прямо сейчас!

Для этого укажите адрес сайта:

пример: http://www.site.ru
Artmix Core
Artmix Core
Бесплатно