Вход • Регистрация

Диафан обращается к несуществующему полю

  • 21 марта 2019 г. , редакция: 21 марта 2019 г.
  • Пытаюсь создать модуль по уроку https://www.diafan.ru/dokument/full-manual/examples/createmodule/. Скачал каркас, прошелся по файлам и заменил все example на regions и Example на Regions соответственно, поправил поля в БД. При попытке входа в админку вижу надпись [ERROR #1], при клике вижу ошибку
    Код
    Unknown column 'e.name' in 'field list'
    . Колонки name нет ни в демонстрационном модуле example, ни в моем модуле regions. Откуда диафан вообще её взял и почему к ней обращается?

    Ошибка связана с методом $this->diafan->list_row(); в классе Regions_admin

    Стактрейс:

    Код
    #1 trigger_error(Unknown column 'e.name' in 'field list', 512) called at [\includes\database.php:695]
    #2 DB::_query(SELECT e.id, e.name FROM `diafan_regions` as e WHERE 1=1 GROUP BY e.id ORDER BY e.id DESC LIMIT 0, 32) called at [\includes\database.php:147]
    #3 DB::query(SELECT e.id, e.name FROM {regions} as e WHERE 1=1 GROUP BY e.id ORDER BY e.id DESC LIMIT 0, 32) called at [\includes\database.php:398]
    #4 DB::query_fetch_all(SELECT e.id, e.name FROM {regions} as e WHERE 1=1 GROUP BY e.id ORDER BY e.id DESC LIMIT 0, 32) called at [\adm\includes\show.php:728]
    #5 Show_admin->sql_query(0) called at [(null):0]
    #6 call_user_func_array(Array(...), Array(...)) called at [\adm\includes\frame.php:161]
    #7 Frame_admin->__call(sql_query, Array(...)) called at [(null):0]
    #8 Regions_admin->sql_query(0) called at [(null):0]
    #9 call_user_func_array(Array(...), Array(...)) called at [\adm\includes\init.php:191]
    #10 Init_admin->__call(sql_query, Array(...)) called at [\adm\includes\show.php:115]
    #11 Init_admin->sql_query(0) called at [\adm\includes\show.php:115]
    #12 Show_admin->list_row() called at [(null):0]
    #13 call_user_func_array(Array(...), Array(...)) called at [\adm\includes\frame.php:161]
    #14 Frame_admin->__call(list_row, Array(...)) called at [(null):0]
    #15 Regions_admin->list_row() called at [(null):0]
    #16 call_user_func_array(Array(...), Array(...)) called at [\adm\includes\init.php:191]
    #17 Init_admin->__call(list_row, Array(...)) called at [\modules\regions\admin\regions.admin.php:78]
    #18 Init_admin->list_row() called at [\modules\regions\admin\regions.admin.php:78]
    #19 Regions_admin->show() called at [\adm\includes\frame.php:297]
    #20 Frame_admin->init() called at [\adm\includes\init.php:453]
    #21 Init_admin->module() called at [\adm\includes\init.php:108]
    #22 Init_admin->init() called at [\adm\index.php:31]
    #23 include_once(\adm\index.php) called at [\index.php:40]


    Собственно сам кривой запрос можно видеть в 2,3,4 строчках
    • 21 марта 2019 г.
    • В методе list_row() есть обращение в базу, это стандартный вывод списка диафана, либо идете по его дороге либо пишите свой вывод.
      • 21 марта 2019 г.
      • А за что собственно отвечает поле "name"? Почему в уроке по ссылке его нет?
        • 21 марта 2019 г.
        • Если поле многоязычное то надо в запросе писать [name] т.к. в бд поля будт name1 name2 итп
          • 21 марта 2019 г.
          • 1) Поле не многоязычное, multilang я не трогал
            2) Ситуация как-раз таки обратная, в БД поля name нет, однако диафан к нему обращается
        • 21 марта 2019 г.
        • В уроке его создают, name отвечает за название записи, очевидно
          • 21 марта 2019 г.
          • Не нашел в уроке фрагмента где это поле создают. Объявления полей таблицы на картинке.

            Впринципе уже решил проблему добавив это поле в $tables, однако в уроке про это не слова, у новичков могут возникнуть проблемы
            • 21 марта 2019 г.
            • Если внимательно читать, проблем не будет
              • 21 марта 2019 г.
              • Во первых это поле у меня уже есть.
                Во вторых это поле указано в variables_list, оно не будет добавлено в БД при установке т.е. баг не решит
  • 21 марта 2019 г.
  • Да уроки старые совсем. Новый видеокурс у нас записан уже, в течение месяца оттестируем на учениках и запустим

Новости

  • 24 апреля, среда
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 
  • 15 декабря 2023 г.
  • Подводим итоги 2023 года. Выпустили новую сборку DIAFAN.CMS 7.1.1, вводим новые тарифы на аренду сайта и коммерческую поддержку и автообновления с января 2024 г., строим планы на будущий год.