• В каком файле прописывается порядок следования блоков на сайте Битрикс?

    @jasper-blondin
    В первую очередь смотрите физический файл. Узнать его местоположение можно по URL адресу.
    Если такого файла не существует, значит страница создается динамически. Тогда нужно посмотреть в настройках сайта Правила обработки адресов и узнать, какой физический файл отвечает за показ данной страницы.

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

    Универсального ответа нет. Всегда нужно смотреть и подробно изучать код конкретного сайта.
    Ответ написан
    Комментировать
  • Как работать с Atom CSS?

    SmthTo
    @SmthTo Куратор тега CSS
    Все перепёлки мира будут оплакивать мою смерть.
    Вы всем своим вопросом написали себе ответ.

    Так сказать, прибили громадными гвоздями крышку гроба «атомарного CSS».

    Ядерная дичь и говно этот «атомарный CSS», если использовать его так, как гласят больные фантазии его создателей-идеологов.

    Атомарный CSS стоит использовать как небольшое расширение, как некая надстройка из универсальных функциональных стилей среди нормальных стилей проекта.

    Иными словами, ограничить их использование до уровня .hide-xs, . visually-hidden — что-то типа такого.

    Да, безусловно, работать с этим «атомарным» недоразумением надо уметь. Но умение это сродни способности мизинцем делать дырки в батоне хлеба.

    P. S. Рыдаю:
    D(f) Jc(c) Ai(c)
      Ff(Mon) Fz(15px) Fw(400)
      Pos(r) My(10px)
      Cnt(empty)::b D(b)::b Pos(a)::b End(0)::b T(0)::b H(100%)::b W(1px)::b Bgc(#ccc)::b
    Ответ написан
    2 комментария
  • Как работать с Atom CSS?

    dom1n1k
    @dom1n1k
    Атомарный CSS в качестве основной методологии - это бред даже для лендосов, а уж в крупных проектах это просто апокалипсис.
    Но он имеет право на существование в малых дозах, как локальные уточнения для обработки всяких исключений и частностей.
    Сколько вы кладете в еду соли и перца относительно объема остальных продуктов? Вот столько в коде страницы должно быть атомарных стилей.
    Ответ написан
    Комментировать
  • Автовёрстка HTML & CSS. Стоит ли?

    SmthTo
    @SmthTo Куратор тега CSS
    Все перепёлки мира будут оплакивать мою смерть.
    Удобно? Хм…

    Ну раз удобно, попробуйте использовать выданный ими код в реальном проекте — сразу всё поймёте :))

    Почесать собственную спину с помощью мизинца на ноге — и то удобнее будет.
    Ответ написан
    9 комментариев
  • Почему мобильные версии сайтов иногда делают на поддоменах, а иногда нет?

    webinar
    @webinar Куратор тега Веб-разработка
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Если мобильная версия сильно отличается по верстке - делают как отдельный сайт на поддомене, на сервере определяют устройство и делают переадресацию. Если различия можно реализовать через медиа запросы в css, то делают одну.
    Но могут быть и другие более экзотические варианты.
    Ответ написан
    Комментировать
  • Как бы вы реализовали данную задачу?

    @jasper-blondin
    Правильно подметили в комментариях, что все зависит от уникальности и ожидаемой гибкости.
    Я всегда стараюсь в первую очередь отталкиваться от правила "сделать максимально удобное редактирование для самого тупого котентщика". Исходя из этого, в подобных задачах поступал следующим образом.

    Нам нужно, чтобы контентщик мог самостоятельно создать новую страницу. Значит, будет 1 инфоблок, а страница -- это элемент инфоблока. Т.е. при создании страница автоматом получит динамический адрес.
    Вся информация в блоки на странице будет выводиться через свойства инфоблока. Их нужно будет красиво сгруппировать. Каждая группа свойств -- отдельный блок. У каждой такой группы будет 2 обязательных свойства: активность блока и сортировка блока. Галочка активности будет отвечать за показ блока на странице. А сортировка будет указывать положение блока относительно остальных блоков (т.е. устанавливать порядок блоков). Остальные свойства в группе -- индивидуальны для каждого блока.
    Вам останется только разместить на физической странице комплексный компонент Новостей (чтобы включить ЧПУ) и переписать шаблон детальной страницы (реализовать группировку свойств, вывод и сортировку блоков).
    В результате получится небольшой конструктор страниц, с которым справится даже ребенок.
    Ответ написан
    Комментировать
  • Получить цену торгового предложения в шаблоне компонента catalog.section?

    NSVision
    @NSVision
    1С-Битрикс: доработка, поддержка, сайты "под ключ"
    Компонент catalog.section хранит данные по ценам ТП в массиве $arResult['ITEMS'][N]['OFFERS'][M]['PRICES'] , где N - порядковый номер элемента, M - порядковый номер ТП.

    Таким образом, чтобы получить цены ТП можно использовать цикл:
    foreach ($arResult['ITEMS'] as $arItem)
    {
       foreach ($arItem['OFFERS'] as $arOffer)
       {
          $arOfferPrices = $arOffer['PRICES'];
          // здесь работаете с ценами конкретного ТП
       }
    }
    Ответ написан
    5 комментариев
  • Как в bitrix news вывести название раздела?

    @jasper-blondin
    можно как-то без костылей

    Нет, придется поработать ручками.
    Можете воспользоваться методом CIBlockSection::GetMixedList. Подробнее здесь: https://dev.1c-bitrix.ru/api_help/iblock/classes/c...
    Ответ написан
    Комментировать
  • Как в Windows проверить PHP/JS скрипты на на вредоносный код?

    @Froggyweb
    антивирус для сайтов https://revisium.com/ai/
    Ответ написан
    Комментировать
  • Как реализовать realtime валидацию телефонного номера?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Ответ написан
    Комментировать
  • File_get_contents загружает страницу, почему?

    Stalker_RED
    @Stalker_RED
    file_get_contents получает исходный код страницы, как и задумано.
    Вы делаете echo, и выводите этот исходный код в браузер.
    Браузер видит html-код и исполняет его, как и задумано.

    Что именно вам не нравится, и что вы хотите изменить?
    Ответ написан
    Комментировать
  • Как интегрировать кассу АТОЛ с сайтом?

    @d-stream
    Готовые решения - не подаю, но...
    Вообще народ топчется по граблям на более "стандартизированных" конфигурациях (антивирус грохает атоловские драйверы, атол взбрыкивает на magic number и т.п.) так что путь выбран не без трудностей)

    Навскидку: в 10 ветке драйвера (а другие уже летят помирать) есть web сервер c которым можно более-менее легко и комфортно общаться (json-задания). Если на малинке получится его стартануть - будет полегче.
    Вторая проблема - обратный канал: надо как-то в рамках умений ккм дать возможность ему докладывать ОФД (иначе через месяц ккм превратится в тыкву) - то бишь нужен ethernet-over-usb

    Ну и болезненный моментик обрисованной схемы - оффлайн взаимодействие... что совершенно не гарантирует что в момент продажи чек пробьется (сбой связи, кончилась чековая лента, забыто открытие/закрытие смены, бомжи в подъезде тиснули витуху/оптику и т.п.) ну и соответственно кары от фискалов...

    imho в данном случае все-таки менее болезненный вариант - использование всяческих прослойщиков, которые типа гарантируют работоспособность всего этого нагромождения (хоть атоловское облако, хоть яндекс-кассы и прочие)
    Ответ написан
    Комментировать
  • Какие существуют CDN хостинги для статических сайтов?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    1. CDN это только доставка контента. Это отдельный сервис, который не зависит от того где вы храните ваш сайт.
    2. Посмотрите на AWS S3 Static website + AWS CloudFront. У них есть год freetier и возможно что вы почти впишетесь в лимиты. Если надо то могу рассказать отдельно поподробнее
    Ответ написан
    2 комментария
  • 404 Not Found nginx, как починить?

    @Arik
    set $base /var/www/lfp/data/www/domain.com;
    root $base/var/www/lfp/data/www/domain.com;

    если правильно понял, то будет
    root /var/www/lfp/data/www/domain.com/var/www/lfp/data/www/domain.com;


    не думаю что у вас такой путь есть.
    на деле как понял первое поле (path) до пути проекта, а второй (document root) где лежит точка доступа и нужно писать относительно первого пути
    Ответ написан
    3 комментария
  • Можно ли перехватить jquery ajax запросы?

    VladimirAndreev
    @VladimirAndreev
    php web dev
    В Chrome: f12, вкладка network
    Ответ написан
    Комментировать
  • Картинки и vue.js?

    @ber_enot
    Веб-разработчик, Vue.js / Node.js
    <img :src="item.photo" />

    Require не нужен. Работайте с адресом картинки как с обычной строкой.
    Ответ написан
    3 комментария
  • Как правильно делать ширину кнопки: в % или px?

    @kristenstewartdadada
    Frontend Developer
    Зачем задавать фиксированную ширину кнопки, контент внутри нее может поменяться. Лучше задать внутренние отступы
    Ответ написан
    3 комментария
  • Где размещать вспомогательные классы в mvc архитектуре?

    SerafimArts
    @SerafimArts
    Senior Notepad Reader
    Есть несколько вариантов решения это проблемы.

    1) Некоторые могут пропагандировать сервисный слой (design-pattern.ru/patterns/service-layer.html), как следствие: "App/Services/ServiceName" - набор классов, отвечающих за какое-то абстрактное действие. Например: "UserAvatarUploaderService", который отвечает за загрузку аватарки пользователя.

    2) В качестве альтернативы и способ, который предпочитаю я - это создание директории "src" с набором независимых компонентов, включая собственный composer.json. Тот же сервис загрузки аватарки будет выглядеть следующим образом:
    - src/
        - AvatarUploader/
            - README.md
            - composer.json
            - tests/ ...
            - src/
                - AvatarInterface.php
                - FileSystemInterface.php
                - FileSystemUploader.php
                - UploaderInterface.php


    Для подключения этой библиотеки достаточно будет прописать в корневом:
    {
        "repositories": [
            {
                "type": "path",
                "url": "./src/AvatarUploader"
            }
        ],
        "require": {
            "app/avatar-uploader": "*"
        }
    }


    А выглядеть внутренний (т.е. внутри "src/AvatarUploader") composer будет так:
    {
        "name": "app/avatar-uploader",
        "autoload": {
            "psr-4": {
                "AvatarUploader\\": "src/"
            }
        }
    }


    Таким образом мы запилим совершенно независимый компонент со своими тестами и зависимостями, а внутри основного приложения будем лишь к нему обращаться.
    Ответ написан
    1 комментарий
  • Какие плюсы у PHPStorm перед Visual Studio Code?

    Начинал с notepad++ затем сублайм, затем глючный атом, потом был vscode ну и в конце phpstorm. Да и остальные всякие разные редакторы пробовал. NetBeans, PHPeD(неплохая штука кстати), Eclipse. У шторма есть несколько плюсов, которые возвышают его над конкуретнами. Во первых из коробки он может намного больше чем надо. Удобная работа с гитом? Есть. (особенно клевый интерфейс для мерджей). Поддержка тестов есть, эмет есть...да куча всего есть. При этом достаточно быстро работает. Это одна из немногих ide, в которой ты работаешь, а не сражаешься. Я так привык к шторму, что любые другие редакторы не идут. Заходить в vscode, затем подтягивать кучу плагинов, настраивать все это, словить пару багов...не. Не хочу. Надоело.
    Ответ написан
    Комментировать
  • Какая оптимальная ширина макета и рабочей области?

    lukoie
    @lukoie
    Суперлузер? Серьезно?
    Ок, размер рабочей области зависит от предпочтений и фолбеков.
    Например, мое разрешение монитора сейчас как раз 1920, то есть картинка шириной 1920 будет как раз 100% ширины экрана... не учитывая полосу прокрутки и рамки окна. То есть нужны поля. Допустим по 15 пикселей(у меня не ретина, так что мой монитор имеет 72 точки на дюйм). Итого 1920 превращается в 1890, если надо контент делать на всю ширину (section-fluid в бутстраповых классах).
    1920 это сейчас считаем как дефолтный монитор(смотрим по статистике), а на момент создания бутстрапа они зафиксировали 1170 как минимально допстимое разрешение десктопа, потому контент вписывают на такой размер(учитывая поля по 15 пикселей это разрещение 1200*800) как наиболее используемым разрешением.
    Дальше 1280 это популярная ширина в разных разрешениях, как брекпойнт. Но уже без полей.
    960 это из за одноименного фреймворка, где это число используется для фолбека на 1024*968 разрешение плюс поля, округление до нормального делительного числа.
    Число 960(как и остальные перечисленные Вами) выбрано потому что удобно делить на колонки с полями. На 2/4/6/8/10/12/16/24

    Берите ширину в зависимости о того, как будете верстать. А, ну и погодите, если Вы получаете готовый дизайн, то Вам не сильно получится "брать" какую то ширину контента, а придется работать с тем, что дали.
    Опять же, будете ли пользовать фреймворки - тоже ограничит/упростит выбор ширины.
    Забивать не надо. Если забили на ширину контента, то либо просто накалякали какую-то свою ширину, но все равно единую, либо вообще разброс по секциям/блокам. Вы вполне сможете потом свести всё до единой ширины, которую сами выбрали, если заказчик согласен и не требуется пиксель перфект по контентной области(обычно нет, и вполне обьясняется заказчику требованиями "соответствия для старых мониторов" или что то такое, после чего они соглашаются)

    Зависит в основном от этого:
    5c1eb0b2c05c1386821151.png
    Ответ написан
    Комментировать