Задать вопрос
  • Почему сломалась версия сайта на другом языке после обновления битрикс?

    RecentForce99
    @RecentForce99 Автор вопроса
    Для устранения данной ошибки необходимо добавить записи в две таблицы b_culture и b_language.
    Сделать это можно через следующие вкладки админки:
    Настройки->Настройки продукта->Языковые параметры->Языки интерфейса
    Настройки->Настройки продукта->Языковые параметры->Региональные настройки
    Ответ написан
    Комментировать
  • 1. Какие таблицы БД используются для хранения информации об элементах инфоблока (для версии инфоблоков 1.0 и 2.0)?

    RecentForce99
    @RecentForce99
    Конечно не актуально для бравого солдата, который задал вопрос, но отвечу для будущих бойцов.

    ИБ 1.0 Использует таблицы:
    b_iblock
    b_iblock_property
    b_iblock_element
    b_iblock_element_property

    ИБ 2.0 используют отдельные таблицы для свойств
    b_iblock
    b_iblock_property
    b_iblock_element
    b_iblock_element_prop_s9
    b_iblock_element_prop_m9
    Где 9 - это ID инфоблока.

    В ИБ 2.0 используется на одну таблицу больше, но из-за того, что в в таблицах для свойств меньше записей получается сократить время поиска нужного элемента в таблице, да и при выборке множественных свойств при помощи CIBlockElement::GetList() получается избежать декартового произведения, жаль, что эту фичу в битрикс orm не завезли.
    Ответ написан
    Комментировать
  • Почему в вёрстке при выводе дерева разделов появляется div?

    RecentForce99
    @RecentForce99 Автор вопроса
    Спасибо Сергей. Честно говоря хз как я сам не догадался, но слова Сергея вызвали у меня мысль.

    Вот результат:
    <li class="catalog__category-item">
            <label>
                <input type="radio" name="category" value="">
                <span><?=$section['NAME']?></span>
            </label>
            <?php if($section['CHILD']):?>
                <div class="catalog__category-list-box">
                    <button type="button" class="catalog__category-back-link back-link" value="">
                        <svg width="19" height="35" viewBox="0 0 19 35" fill="none" xmlns="http://www.w3.org/2000/svg">
                            <path d="M18 1L6.66667 17.5L18 34H12.7798L1 17.5L12.7798 1H18Z" fill="#D62214" stroke="#D62214"/>
                        </svg>
                        <span><?=$section['NAME']?></span>
                    </button>
                    <ul class="catalog__category-list">
                        <?=$output?>
                    </ul>
                </div>
            <?php endif;?>
        </li>
    Ответ написан
    Комментировать
  • Как получить свойства ИБ 2.0 через битрикс ORM?

    RecentForce99
    @RecentForce99 Автор вопроса
    Опять всё сам понял.

    Для реализации подобного функционала надо создать свою сущность.
    Название файла должно быть как название класса, но в нижнем регистре.

    //Файл contactspropertytable.php
    
    //Обязательно наследует DataManager
    class ContactsPropertyTable extends DataManager
    {
        // Не обязательно
        private static int $tableID, $propertyID;
    
         // Не обязательно
        public function __construct($tableID, $propertyID)
        {
            self::$propertyID = $propertyID;
            self::$tableID = $tableID;
        }
    
        public static function getTableName()
        {
            return 'b_iblock_element_prop_s'.self::$tableID;
        }
    
        public static function getMap()
        {
            return [
                (new IntegerField('IBLOCK_ELEMENT_ID'))
                    ->configurePrimary(true),
    
                new StringField('PROPERTY_'.self::$propertyID),
            ];
        }
    }
    
    
    //Файл contacts.php своего модуля
      protected function runtimeElements(): array
        {
            new ContactsPropertyTable($this->iblockId, $this->getPropertyLinkId());
            return [
                new Entity\ReferenceField(
                    "LINK",
                    ContactsPropertyTable::class,
                    Query\Join::on('this.ID', 'ref.IBLOCK_ELEMENT_ID')
                ),
            ];
        }
    Ответ написан
  • Из за чего не подключаются стандартные скрипты и стили в админке Битрикс?

    RecentForce99
    @RecentForce99
    Те, у кого nginx или apache + nginx, перейдите на чистый apache, иначе решение выше не поможет
    Ответ написан
    2 комментария
  • Как выгрузить список разделов неограниченной вложенности из бд?

    RecentForce99
    @RecentForce99 Автор вопроса
    function ShowTree($ParentID, $lvl) {
    
        global $link;
        global $lvl;
        $lvl++;
    
        $sSQL="SELECT * FROM chapters WHERE parent_id = '$ParentID' ";
        $result = $link->query($sSQL);
    
        if (mysqli_num_rows($result) > 0) {
            echo("<ul class='parent_ul'>\n");
            while ( $row = mysqli_fetch_array($result) ) {
                $ID1 = $row["id"];
                echo("<li class='parent_li'>\n");
                echo("<a href=\""."?ID=".$ID1."\">".$row["name"]."</a>"."  \n");
    
    
                ShowTree($ID1, $lvl);
                $lvl--;
    
            }
    
            echo("</ul>\n");
        }
    
    }
    ShowTree(0, 0);
    Ответ написан
    Комментировать