Git Product home page Git Product logo

bitrix.quickstart's Introduction

Bitrix Quick Start

Набор скриптов для быстрого старта сайта на Bitrix.

Цель: возможность быстро накатить типовую файловую структуру и ряд сниппетов на свежеустановленный дистрибутив bitrix.

Проект предполагает широкое использование папки /local, в которой расположены все файлы, необходимые разработчику. Папка /bitrix в идеале должна быть полностью занесена в .gitignore, поскольку содержит ядро системы.

Структура и назначение файлов Bitrix Quick Start

auth/
bitrix/
    ├── php_interface/
       ├── this_site_support.php
       └── include/
             └── site_closed.php
favicons/
includes/
    └── pages/
    │   ├── 404.php
    │   ├── main.php
    │   └── ui.php
    ├── favicons.php
    ├── footer.php
    ├── header.php
    └── html.php
local/ 
    ├── assets/
    │   ├── backend/
    │   │   ├── css/
    │   │   ├── images/
    │   │   ├── js/
    │   │   └── bower_components/
    │   ├── css/
    │   ├── fonts/
    │   ├── frontend/
    │   │   └── sass/
    │   ├── images/
    │   ├── js/
    │   ├── lib/
    │   └── bower.json
    │
    ├── components/
    │
    ├── gadgets/
    ├── logs/
    ├── modules/
    ├── php_interface/
    │   ├── classes
    │   │     └── Autoloader.php
    │   ├── config
    │   │     ├── backend.php
    │   │     ├── const.php
    │   │     ├── events.php
    │   │     └── frontend.php
    │   │
    │   ├── include
    │   │     ├── events/
    │   │     └── handlers.php
    │   │
    │   ├── admin_header.php
    │   └── init.php
    │
    └── templates/
        ├── .default/
        │   ├── components/
        │   └── page_templates/
        │       └── standard.php
        └── rename_me/
personal/
search/
.htaccess_example
404.php
favicon.ico
index.php
robots.txt

Папка, для тех, кто забывает положить форму для восстановления пароля. Ну и авторизация по умолчанию.

  • this_site_support.php — Информация о партнёре и техподдержке (нужна по требованиям монитора качества). Отображается внизу формы авторизации в админке. Этот файл не подхватывается из local, возможно со временем это исправят. Информация о поддержке и партнёре
  • include/site_closed.phpКрасивая заглушка для отключенной публички. К сожалению пока этот файл не подхватывается из папки local.

Папка с различными иконками под все устройства о основные ОС, нужны для красивого отображения сайта при добавлении в закладки, на рабочие столы и т.д.

Для генерации иконок очень хорошо подходит сервис realfavicongenerator.

В этой папке располагаются включаемые области и прочие php-файлы, которые контент-менеджер или клиент может отредактировать через веб-интерфейс битрикса, из публичной части.

В этой папке располагаются свёрстанные страницы проекта. Удобство такого расположения очевидно: файлы можно подключать как включаемые области непосредственно в проект, или просто подглядывать в них в процессе интеграции вёрстки в битрикс.

  • 404.php — 404 страничка (не путать с файлом в корне, этот файл — просто вёрстка контента)
  • main.php — Главная страница.
  • ui.php — UIKit, тут собраны все основные элементы, для удобства проверки и стилизации элементов.

Основная папка проекта.

В этой папке содержатся файлы, относящиеся к фронтенду (стили, скрипты, картинки шаблона), а так же включаемые области и php-файлы, отвечающие на ajax-запросы.

  • template_styles.css — Скомпилированный CSS-файл, который подключается в шаблон.
  • Так же в эту папку складываем все CSS-файлы, которые не требуется включать с LESS по различным соображениям (к примеру не требующий правок файл какого-нибудь плагина для jQuery). Файлы подключаются в автоматическом через cnAsset.
  • В эту папку кладём картинки шаблона.
  • Если нужны временные картинки, не нужно копировать их из макета, используйте сервис (и плагин для SublimeText) не захламляйте папку.
  • ie_logo.png - не удаляем картинку, она отображается в админке (см раздел про минитор качества)
  • Сюда складываем js-файлы и jquery-плагины, необходимые для работы шаблона, которые будут подгружаться через автозагрузчик cnAsset.
  • main.js — основной js-файл шаблона.

Папка для конфигураций

  • const.php — константы вашего проекта
  • events.php — вызовы AddEventHandler для всех возможных кастомных обработчиков событий проекта.
  • frontend.php — регистрация js библиотек из /local/assets/lib/frontend/

Не нужно подключать все свои js файлы прямым включением в шапку сайта. Для подключения js файлов в битриксе есть добротный класс CJSCore. Можно зарегистрировать все свои js библиотеки, и подключать их строго на нужных страницах. Для регистрации библиотек используем файл, который должен быть подключен на всех страницах нашего проекта — /local/php_interface/config/frontend.php

Для подключения зарегистрированной библиотеки на какой-то странице сайта, используйте конструкцию:

CJSCore::Init(array('library_name'));

Ваша библиотека будет подключена с использованием AddHeadScript.

Папка для размещения собственных компонентов.

Папка для размещения гаджетов рабочего стола (возможно когда-нибудь мы будем туда класть загортовки гаджетов)

Папка для хранения логов (туда автоматом записывается лог, создаваймый классом CNLog).

Папка для размещения собственных модулей.

  • init.php — init.php сайта, в который подключается дефолтный init.php. Так же там присутствуют некоторые, полезные во всех проектах, функции.
  • .default — папка с шаблонами компонентов.
    • page_templates/standard.php — шаблон для новых страниц (вместо глупой надписи "text here");
  • rename_me — папка с шаблоном сайта (не забываем переименовать).
    • header.php — шапка сайта.
    • footer.php — подвал сайта.
    • description.php — описание шаблона.

Папка, отвечающая за поиск по сайту и формирование карты сайта (не sitemap.xml, а непонятная сущность, формирующаяся из меню сайта).

Не забываем удалить этот файл, предварительно прочитав и сделав, как написано. Тут лежит пример правильной склейки зеркал для apache.

404-я страничка.



Autoload

Автозагрузка классов.

Больше не придется писать CModule::IncludeModule('iblock'); в каждом компоненте или скрипте.

Базовый шаблон сайта

Типовая файловая структура bitrix-шаблона расположена по адресу /local/templates/main.

Общие рекомендации по шаблонам bitrix:

  1. Все представления (views), включая шаблоны компонентов, лучше помещать в папку основного шаблона сайта: /local/templates/main/components. Впоследствии это может упросить жизнь при проведении редизайна сайта.

  2. Лучше избегать большого количества шаблонов сайта, поскольку сторонний разработчик для внесения минимальной правки в шаблон потратит больше времени на поиск нужного шаблона, нежели на внесение изменений.

  3. Избегайте использования автоматически подключаемых файлов style.css в шаблонах компонентов, т.к. это затрудняет внесение изменений. Используйте стандартный автоподключаемый файл styles.css в корне шаблона сайта в качестве единого файла стилей.

  4. Клиентскую логику лучше выносить в файлы script.js, которые расположены в шаблонах компонентов и подключаются автоматически. Использовать единый файл с обработчиками событий DOM не возбраняется, но необходимо обязательно комментировать, к какой части страницы относится тот или иной JavaScript-код и где он применяется.

Robots.txt

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

В дальнейшем рекомендуется не отслеживать изменения robots.txt, поскольку последние версии bitrix позволяют контент-редакторам и SEO-специалистам править robots.txt через админку.

/upload/.htaccess

Стандартный код от битрикса не отключает обработку PHP, когда оно в режиме FastCGI (специфика режима). Для отключения обработки PHP в режиме FastCGI нужно сперва аннулировать типы.

bitrix.quickstart's People

Contributors

asdaff avatar eugenezadorin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.