• Как создать сущность D7?

    @alisiy Автор вопроса
    Роман Грицук, метод createTable прекрасно создате таблицу и все работает. Проблемы начались когда я попыталась удалить таблицу методом dropTable. Тут-то и выяснилось что static::getTableName() возвращает пустую строку. Если в классе определить getTableName, он конечно работает. Но если сделать так:
    public static function getTableName()
            {
                return parent::getTableName();
            }

    Тоже закономерно пустая строка.

    При этом static::getEntity()->createDbTable(); - создает таблицу какую надо.
    Я посмотрела - он вызывает compileDbTableStructureDump где для получения имени таблицы использует getDBTableName, который возвращает свойство dbTableName.

    Я посмотрела реализацию getTableName:
    public static function getTableName()
        {
            return null;
        }

    Так что ничего удивительного что он возвращает '';
  • Как создать сущность D7?

    @alisiy Автор вопроса
    Роман Грицук, в этом контексте static::getTableName() не возвращает имя таблицы :(
  • Как создать сущность D7?

    @alisiy Автор вопроса
    Роман Грицук, т.е. все равно не автоматически или самой придется прикручивать автоматизацию...
    Спасибо.
  • Как создать сущность D7?

    @alisiy Автор вопроса
    Роман Грицук, сделала пока так в init.php - \Bitrix\Main\Loader::registerAutoLoadClasses(null, ['\My\Foo\BarTable' => '/local/lib/my/foo/bar.php']);

    Работает. Спасибо.

    Далее встает вопрос - а как создавать таблицы? Я честно говоря в тайне надеялась, что таблица будет создана тоже автоматически, в случае если не будет обнаружена, но оказалось что нет. Мне ее создать вручную или есть какой-то общепринятый способ?
  • Как создать сущность D7?

    @alisiy Автор вопроса
    Роман Грицук, т.е. имеется ввиду, что класс будет загружен автоматически только в случае если модуль установлен и подключен?
    Понятно. Вопрос про наилучшее расположение и способ загрузки остается открытым.
  • Как создать сущность D7?

    @alisiy Автор вопроса
    Но хорошо - если не модуль (решение не предполагает распространение и будет использоваться в одном проекте), то как лучше всего подключать классы сущностей? Каковы best practice?
  • Как создать сущность D7?

    @alisiy Автор вопроса
    > Сущность D7 это обычный класс. Для того чтобы все работало надо этот класс подключить.
    Это я понимаю. Я с D7 впервые столкнулась.

    Я разместила класс в модуле, потому что так написано в уроке. И там написано, что класс будет загружен автоматически и мне не нужно заботится о его подключении, или регистрации в автолойдере.
    Выходит это не так и фраза "После чего система автоматически будет подключать файл при нахождении вызовов класса BookTable." полностью неправда? Или что-то необходимо сделать чтобы оно заработало?
  • Как узнать редакцию битрикс с помощью API?

    @alisiy Автор вопроса
    Class 'CUpdateClient' not found (0)
    /home/bitrix/ext_www/ipm-rostov.ru/bitrix/modules/main/admin/php_command_line.php(138) : eval()'d code:2
    #0: eval
    /home/bitrix/ext_www/ipm-rostov.ru/bitrix/modules/main/admin/php_command_line.php:138
    #1: require_once(string)
    /home/bitrix/ext_www/ipm-rostov.ru/bitrix/admin/php_command_line.php:2
  • Какую статистику установить на много доменов?

    @alisiy Автор вопроса
    ElijahTr, очень интересно - спасибо! Если не найду онлайн решения - так и сделаю. Хотелось бы максимально просто - у это конторы сейчас сезон и на меня повесили рефакторинг крупного проекта и еще почему пару лендингов я должна сделать, а тут еще и статом сегодня огорошили, поэтому хотелось бы чего попроще. 22:58 а я работаю...