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

Модуль изображения

  • 13 июля 2015 г.
  • Как можно добавить картинки с помощью модуля "Изображения" к тип данных отличных от element, cat, brand ?
    Т.е. задача добавить свой тип элементов при создании модуля с возможностью "прицеплять" к нему картинки.
  • 14 июля 2015 г.
  • Нужно изменить таблицу картинок, добавив там вариант например "some_tag"
    SQL запрос в базу данных
    Код
    ALTER TABLE `diafan_images`
    CHANGE `element_type` `element_type` enum('element','cat','brand','some_tag') COLLATE 'utf8_general_ci' NOT NULL DEFAULT 'element' COMMENT 'тип элемента модуля'
  • 20 июля 2015 г.
  • волшебная пилюля не помогла. Результатом является ошибка : "Некорректно задан тип элемента.". Непонятно зачем разработчики настолько усложнили добавление картинок

    Вот корень проблемы, но как ее решить и зачем вообще эта валидация не понятно.

    /**
    * Валидация типа элементов
    *
    * @return void
    */
    private function check_element_type($element_type)
    {
    if(! in_array($element_type, array('element', 'cat', 'brand')))
    {
    throw new Exception($this->diafan->_('Некорректно задан тип элемента.'));
    }
    }
    • 20 июля 2015 г.
    • Зачем разработчики усложнили? Для оптимизации работы БД и скорости работы системы. И вот результаты http://www.diafan.ru/highload/

      Вы опишите, что Вам нужно-то? Какой тип и зачем?

      И если Вы выяснили корень проблемы, почему в 'element', 'cat', 'brand' не добавить через запятую 'yourtype'?
  • 20 июля 2015 г.
  • Задача следующая, создать модуль который выводит проекты, при этом картинки надо привязывать к следующим элементам:
    1)проектам
    2)исполнителям
    3)заказчикам
    4)категориям

    И вот тут возникает вопрос, как это правильней сделать, если доступны только три типа,

    добавить конечно можно, но
    1) не приведет ли это к каким либо ошибкам в работе
    2) каким образом можно интегрировать в созданный модуль, распространять и быть уверенным, что он будет стабильно работать после обновлений и т.п. поскольку по факту будут внесены изменения в модуль images
    • 20 июля 2015 г.
    • Вы сами себя в тупик не загоняйте!
      Тип element - это и отдельный товар, и новость, и сообщение на форуме, и исполнитель и проект и заказчик. А категория - cat. То есть то, что в рамках одного модуля может иметь одинаковый id. Поэтому для магазина есть отдельный тип brand. Весь фокус в функции, получающей картинку, указывается её "адрес": модуль, id того, к чему она прикреплена и тип того, id которого ищется. Говорим "дай картинки, прицепленные к модулю магазина для id=5" и это может быть категория, товар или бренд, поэтому указывается element или cat.
      У Вас я не знаю, как Вы задумали структуру БД, но категории - это ясно что тип cat. И в категориях будут проекты - это явно тип element. Всё ;-)
      Спросите про исполнителей и заказчиков? Это другой модуль уже, который просто цепляется к проектам, и в нем и те и другие будут также типа element. ;-)
      • 21 июля 2015 г.
      • может немного не в тему, но в модуле images в таблице
        {images} поле module_name имеет тип varchar(10) ,
        в то время, как {modules} поле module_name имеет тип varchar(30),
        а в {config} поле module_name имеет тип varchar(12)

        Получается нельзя добавить картинки для модулей с названием больше 10, настройки для модулей с названием больше 12.
        • 21 июля 2015 г.
        • Об этом уже писалось не раз в предложениях и ошибках и не только мной. Но почему-то эта проблема решается выборочно а не по всей базе данных. Это несёт проблемы характера что чтото гдето работает а гдето не работает потому что гдето чтото обрезалось и не соответствует запрашиваемым данным или тупо не записалось потому что данные тупо не влезли.

          Виталий пожалуйста возьми этот вопрос на личный контроль. Проработайте таблицы приведите к общему размеру соответствующие поля таблиц.

Новости

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

Форум