• Почему выходит эта ошибка?

    NickPush
    @NickPush
    Web разработчик
    прогони ресепи для доктрины:

    composer recipes
    что бы показать все ресепи

    потом

    composer recipes:install doctrine/doctrine-migrations-bundle --force -v

    если какие то еще надо - прогони.
    Ответ написан
    Комментировать
  • Как добавить значения полей в огромную таблицу с иерархией объектов?

    Я использую примерно такой алгоритм. Считываю простым запросом из БД (два поля) всю табличку и создаю дерево со всеми подуровнями. Вроде легко внести изменения в алгоритм, чтоб налету вставлять top_guid или затем пробежаться по массиву и добавить.

    /*
     * make a tree array based on sql query
     */
    function buildtree()
    {
        $refs = array();
        $list = array();
    
        $nodes = (Получить поля guid и parent_guid из всей таблички);
    
        foreach ($nodes as $data) {
            $thisref = &$refs[$data['guid']];
            $thisref['parent_guid'] = $data['parent_guid'];
            if ($data['parent_guid'] == null) {
                $list[$data['guid']] = &$thisref;
            } else {
                $refs[$data['parent_guid']]['children'][$data['guid']] = &$thisref;
            }
        }
        return $list;
    }
    Ответ написан
    1 комментарий
  • Адаптивный дизайн. Какими должны быть размеры экранов?

    @dragonesis
    Не совсем верно. Все зависит от начального дизайна. Следует учитывать, что требуется. Сегментированная адаптация или респонсиваня. Если сегментированая, то градации бутстрапа вполне подойдут. Если респонсивный, то в идеале продумывать его изначально, т.е. строить карту сжатия на листе и задавать ключевые параметры в ui гайде. Например у вас три блока одинаковой ширины. Ширина задается в процентах на верстке и нужно определить, какова минимально допустимая ширина этого блока. По достижении этой ширины блоки можно расположить друг под другом или же опустить один блок ниже, при этом задав размер им не в ~33% от размера рабочей области, а в 50%. И далее в таком ключе. Почему это важно? Потому что если это не сделать, то верстальщик либо вас доконает вопросами, либо сделает на свое усмотрение, в большинстве случаев плохо.

    Сетки размеров для базового представления можно взять те же. Также следует учитывать landscape режим просмотра, в котором достаточно мало остается вертикальной рабочей области. Особенно проблемным местом являются full page страницы.

    P.S.
    Сегметированный дизайн. Дизайн по строгим ключевым точкам, зачастую с жестким переходом в размерах рабочей области, сейчас применяется редко, в основном на сложно структурированных проектах или проектах с большим количеством жестко позиционированных элементов
    Пример:

    Респонсивный дизайн. Когда при верстке большая часть контента легко "сжимается" по ширине\высоте, подстраиваясь под размеры рабочей области. Вызывает проблему с неровным разбиением, что вынуждает предугадывать поведение блоков при изменении размеров экрана.
    Пример:

    UP.
    Касательно отступов, то все на усмотрение дизайнера. В том же бутстрапе не составит труда переменить размеры отступов, несмотря на предложенные им 15px, иногда требуется 60, 30, 15 и все в одном макете. Все зависит от вашего умения и виденья
    Ответ написан
    Комментировать
  • Как правильно обрезать текст php?

    Fqyeh29
    @Fqyeh29
    ↓ ИМХО ↓
    Допустим так:
    <?php echo mb_substr($item['description'], 0, 5); ?>

    В примере обрезает до 5ти символов.
    php.net/mb_substr

    Если нужно аккуратно обрезать, то:
    ruseller.com/lessons.php?id=1769

    Да, про mb_ чет забыл) Пардон)
    Ответ написан
    2 комментария
  • Как добавить дополнительное поле описание товара в админке UMI?

    @ilyarsoftware
    Добавить дополнительное поле можно через Модуль "Шаблоны данных", в стандартных типах данных группы полей и некоторые поля могу быть защищены от редактирования, например Общее [common]. Это сделано намерено, для защиты пользователя от фатальной ошибки.

    Для того чтобы иметь возможность редактировать защищенные группы и поля надо в адресной строке, при редактировании типа данных добавить параметр ?skip-lock=1 и перезагрузить страницу.

    Делайте это внимательно, не удалите "лишнего", что может привести к ошибкам работы системы.
    Ответ написан
    1 комментарий