• Bitrix как реализовать фильтр по пользовательскому поля?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Во-первых, вместо Y-m-d H:i:s используется формат сайта.
    Во-вторых, используйте \Bitrix\Main\Type\DateTime

    $dbData = $entity_data::getlist(array(
       'select' => array('*'),
       'order'  => array('UF_CATEGORIAY'=>'ASC'),
       'filter'  => array(
           '>=UF_DATE' => \Bitrix\Main\Type\DateTime::createFromUserTime('01.01.2017 18:00:00'),
           '<=UF_DATE' => \Bitrix\Main\Type\DateTime::createFromUserTime('03.01.2017 18:00:00')
       )
    ));
    Ответ написан
    4 комментария
  • Почему выдает undefined?

    @expeerd
    Я так понимаю, что код у вас на сервере на Node.js. В таком случае вы просто имеете дело с асинхронностью. Если кратко: у вас console.log выполняеться до геокодинга. Кидать вам свое видение решения бесполезно потому, что, чтобы писать бэкенд, вам надо понять это самому, поэтому вот пара ссылок: теория , практика .
    Ответ написан
    Комментировать
  • Как из json(объект) создать форму?

    sabramovskikh
    @sabramovskikh
    Смотреть есть ли несколько ответов, если да, то делать это радиобатонами. Если ответ один, то делает инпут. Сделать each в each.
    Лучше конечно написать класс, в котором будут методы renderRadio, renderCheckbox, RenderInput, RenderForm. В него передаем json и парсим его, инкрементируя одну переменную $html например. и в конце передает содержиое $html в нужный див, таблицу или чего там у вас
    Ответ написан
    Комментировать
  • Как написать JS цикл выводящий от 1 до 100, имеющий 2 дополнительных условия?

    @abberati
    frontend-разработчик
    let tempArr = [];
    
    for (let i = 1; i <= 100; i++) {
      tempArr.push((i % 2 === 0 || i % 3 === 0) ? `${i}` : i);
    }
    
    function делайЧтоХочешь(arr) {
      arr.forEach(i => console.log(i))
    }
    
    делайЧтоХочешь(tempArr);
    Ответ написан
    9 комментариев
  • Как узнать и устранить причину долгой отрисовки верстки?

    AlexXYZ
    @AlexXYZ
    O Keep Clear O
    У хрома есть один инструмент Inspect animation: https://developers.google.com/web/tools/chrome-dev...
    Ответ написан
    Комментировать
  • Как сохранять пропорции?

    dzheka3d
    @dzheka3d
    После получения каждого сообщение проверяйте текущее количество сообщений в чате.... если оно превышает N количество сообщений - скрывайте или удаляйте первое

    success: function(data){
       $('#chat').append(data);
       count_messages++;
       if(count_messages > 100){
        $('#chat > div.message:first-child').remove();
      }
    }
    Ответ написан
    6 комментариев
  • Как выровнять текст по ширине и по центру (используя CSS)?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    https://webref.ru/css/text-align-last
    находится в гугле за 10 секунд
    Ответ написан
    3 комментария
  • Можно ли хранить весь код в БД и правильно ли это?

    In4in
    @In4in
    °•× JavaScript Developer ^_^ ו°
    Запросы к базе надо сводить к минимуму. Мне кажется, глупо говорить, что они нагружают сервер, ну и увеличивают время загрузки страницы. Это, блин, логично.

    Храните гребаный код в гребаных файлах. В чем проблема? 2к17 год, давайте, блин, в базе данных хранить верстку, просто потому что потому. Извращенцы. Скоро отдельный сервер будут делать, чтобы на него за версткой ходить, а на боевом просто echo file_get_contents("http://....

    Знаете, даже во многих CMS стараются свести к минимуму работу с БД -кэшируют результаты запросов на некоторое время или до ручного обновления. Т.е, хранят результат во временных файлах и отдают юзеру. Ну а мы давайте каждый раз будем за статикой бегать на localhost, че бы нет.....

    мне кажется все же есть такие люди у которых на продакшене подгружается разметка из БД.


    Ну да, есть. Без работы вон сидят.
    Ответ написан
    2 комментария
  • Как аргументировать начальству создание существующего проекта заново, с ноля?

    dmitry_pavlov
    @dmitry_pavlov
    World-class .NET freelance contractor (remotely)
    Никак. Постигайте кунгфу рефакторинга legacy кода - многопроходного бережного улучшения архитектуры приложения, без перебоев в работе приложения и в параллели с разработкой новой функциональности. Покрывайте логику тестами, изолируйте / локализуйте проблемы, ослабляйте связность кода между модулями, наводите порядок внутри модуля. Повторяйте снова и снова.

    P.S. Не тот программист хорош, кто старый мир разрушит и по-своему накосячит (а это обязательно произойдет), а тот, кто может огрехи найти, осмыслить и исправить без ущерба для бизнеса, который этот софт обслуживает. При этом, не забывая о разработке новых фич. (С) Я 2017
    Ответ написан
    3 комментария
  • Как скопировать html код одного блока сайта и все стили его дочерних элементов?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Копипастишь кусок html и весь css сюда https://uncss-online.com/
    Жмакаешь кнопу
    Профит!!!!!!
    Ответ написан
    2 комментария
  • Как эмулировать загрузку изображений input[type=file], через button?

    Stalker_RED
    @Stalker_RED
    Нельзя эмулировать. Потому что у браузеров есть политика безопасности, которая позволяет забирать с компьютера только те файлы, которые юзер выбрал.

    Можно СКРЫТЬ input[type=file], сделать его прозрачным, например, а под ним разместить кнопку.

    Вот пример: https://jsfiddle.net/2wwgz9h9/
    Сейчас стоит opacity: 0.7; а если поставить 0 он будет полностью прозрачным.
    Ответ написан
    Комментировать
  • С чего начать изучение современных веб-технологий?

    @Tsimur_S
    Как я понял, никто уже не генерирует страницы на сервере. Все происходит в браузере.

    Эта волна хайпа уже прошла. Теперь серверный рендеринг SPA снова в моде.
    На сегодня веб приложения это морда к рест сервису(или GraphQL если уж до конца следовать моде), а там нету разницы на чем сделан бекенд. С другой стороны это зачастую сделать очень сложно и нужно идти на компромиссы.
    Ответ написан
    Комментировать
  • Массовый перенос значений из свойства в торговый каталог?

    winer
    @winer
    занимаюсь разработкой сайтов на 1c-bitrix
    Чтобы задать коэффициенты единиц измерения можете воспользоваться d7 классом
    Bitrix\Catalog\MeasureRatioTable
    Вот способы работы с orm сущностями

    Делайте getlist по элементам. Выбираете в нем id элемента и значение вашего свойства. Потом с помощью Bitrix\Catalog\MeasureRatioTable задаете значения для ваших товаров.

    (id товара в CCatalogProduct совпадает с id элемента инфоблока)

    Если вам надо как то автоматизировать весь этот процесс, пишите обработчик события на изменение элемента инфоблока. В нем проделывайте все тоже самое только для элемента который был обновлен.
    Ответ написан
    Комментировать
  • Как правильно составлять ajax запрос?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    В любом случае на сервере должен быть обработчик вашей формы. Чаще всего это php, ввиду его широкой распространенности.

    Валидацию формы можно (и нужно!) делать на клиенте. И лишь дублировать ее на сервере. Для валидации очень хорош плагин www.formvalidator.net
    Подключаете и настраиваете плагин. Он не даст вам отправить форму с ошибками. И когда все поля заполнены правильно вы уже можете аяксом отправить свою форму на сервер.
    Так можно отправить любую форму, кроме enctype=multipart/formdata
    $('[data-toggle="ajax"]').on('submit', function (e) {
            e.preventDefault();
            var $form    = $(this);
            var data     = $form.serialize();
            var action   = $form.attr('action');
            var method   = $form.attr('method');
    
            $.ajax({
                url     : action,
                type    : method,
                data    : data,
                dataType: 'html' // или 'json' смотря какой ответ будете возвращать
            }).then(function (data) {
                console.log('Форма отправлена', data);
            }).fail(function () {
                console.log('Ошибка отправки');
            });
        });


    Поясняю.
    К формам, которые желаем отправлять аяксом, мы приписываем атрибут data-toggle="ajax".
    Обработчик, куда будет отправляться форма, мы берем из атрибута action="" формы. Метод отправки (post/get) также берем из формы. Это дает определенную гибкость в использовании кода, когда значения не захардкоржены в скрипте. Если форма отправилась, то в методе then мы получим то, что вернет нам обработчик на сервере. Для большей гибкости предпочтительно использовать dataType: 'json'. Тогда вы сможете отправить с сервера объект с подробным статусом ответа, например результаты валидации каждого поля.
    Если форма не отправилась сработает метод fail() Например, сервер вернул ответ не равный 200 или данные не соответствующие запрошенному типу (вы просили json, а пришел html).

    C отправкой файлов чуть сложнее, но вы сначала с этим разберитесь.
    Ответ написан
    1 комментарий
  • Как в Админке битрика увидеть (найти) элемент инфоблока по ИД, если неизвестно, в каком он инфоблоке находится?

    <ваш сайт>/bitrix/admin/iblock_redirect_entity.php?lang=ru
    в админке возможно это сделать!
    в id сущности указываем id элемента
    eda7c60eda1e4476809ccdd41b2bdae1.png
    Ответ написан
    1 комментарий
  • Появятся ли вакансии, требующие знания экосистемы vue.js в 2017?

    bosenok
    @bosenok
    Frontend Developer
    Вакансии (если их можно так назвать) уже есть. Я начал смотреть в сторону Vue еще пару лет назад и сейчас он активно внедряется во все проекты, которыми я занимаюсь. Другое дело в том что я не искал человека, который знает Vue. В моей команде есть фронт-джун и ему была поставлена задача осваивать Vue. Он кстати долго терзался на тему зачем ему Vue, если во всех вакансиях Angular и React, потому что год назад о вакансиях с Vue даже и речи не шло.
    Вот только я забраковал React (по причине разметки в коде и тормознутости лицокниги) и забраковал Angular по причине его монструозности (а уж после того как вышел Angular 2 - на который мигрировать с первого вообще никакой возможности нет - я только утвердился в своем решении). Так что мои проекты переходили на Vue (как на первую стоящую технологию) со старого доброго jQuery.
    Ответ написан
    6 комментариев
  • Как повысить уровень программирования?

    tiabc
    @tiabc
    Бизнес-партнер и консультант по технологиям
    Хорошие разработчики постоянно развиваются и никогда не стоят на месте. Любое развитие состоит в делании дел, в решении конкретных задач и в обратной связи, которую ты получаешь от других или в результате рефлексии.

    TL;DR: Читайте книжки, делайте дела, читайте чужой код.

    Что можно начать делать прямо сейчас, чтобы стать программистом лучше?

    1. Изучайте базу. Алгоритмы, сети, криптографию, архитектуру, ос, устройство браузеров, компиляторы и т.д. Изучение подобных вещей дает понимание какие задачи бывают в реальном мире и как "большие дядьки" решают возникающие проблемы. Это кладезь инсайтов.

    2. Устройтесь на фултайм-работу с сильной командой даже если джуниором. Я считаю, что есть только один способ расти как разработчик: работать фултайм над одним бизнес-продуктом. Такой подход учит решать проблемы масштабируемости, думать заранее, работать над процессом, которому вы следуете в разработке, решать задачи, возникающие с длительной эксплуатацией, решать проблемы с удобными окружениями и вообще учиться планировать свою работу в связи с нуждами бизнеса.

    3. Написание кода - не самая большая часть работы сеньор-девелоперов, я бы сказал. Но когда речь заходит о самом коде, нужно понимать что ты пишешь и зачем. Есть классические книжки, которые можно найти, например, в матрице компетентности программиста, есть современные, но полезные типа The Art of Readable Code, которую я очень рекомендую. Нужно читать книжки. На собеседовании я всегда спрашиваю какие книжки читал или читает соискатель и если ответ отрицательный, то это большой минус.

    4. Участвуйте в опенсорс. Там вам всегда приходится сталкиваться с образом мысли самых разных людей и кодом, который они пишут. Это учит вас читать чужой код, находить в нем ошибки и критически и аргументированно к нему относиться, предлагая свои решения. Опенсорс-разработка, так же как и книжки, дает вам тот чужой опыт, который бы вы никогда сами не получили от людей, которые часто умнее или опытнее вас в чем-то. В опенсорсе, кстати, в отличие от бизнесовой разработки, есть шанс в удовольствие писать очень качественный код, в котором в бизнесе далеко не всегда есть необходимость.

    5. Наберитесь терпения. Это не случится за один день. Думайте над именованием, разделяйте обязанности, изучайте алгоритмы и экосистему, оптимизируйте ваше рабочее место, изучайте новые технологии, читайте статьи и в течение ближайших лет регулярных усилий вы обретете новый способ мышления и будете разрабатывать поддерживаемое и надежное ПО. Легкого пути, к сожалению, нет.
    Ответ написан
    2 комментария
  • Как сделать Timeout между событием в addEventListener?

    profesor08
    @profesor08 Куратор тега JavaScript
    После ввода вам надо инициировать таймер, например в 1 секунду, если за это время происходит ввод, то таймер сбрасывать и создавать новый. Если за отведенное время ввода нет, то делать запрос.

    Пример: https://jsfiddle.net/L5kjt7L3/
    Ответ написан
    Комментировать