File structure of bitrix framework. What is Bitrix. What is a "framework"? More about Bitrix Framework

A little theory:

In system Bitrix a fairly popular architecture is laid down: dividing data, presenting and processing user actions into three separate components.
This architecture is referred to as MVC(Model-view-controller, “Model-view-behavior”), and is widely used for designing various software products.

In turn, the MVC template for Bitrix Framework is formed from the following parts:
Model- this is an API;
Performance- these are templates;
Controller is a component;

In this article we will talk about the Bitrix component.
Component- This is the controller and view for use in the public section. The component manipulates data using the API of one or more modules. The component template (view) displays data on the page.

Component structure

Standard Bitrix components are stored in the /bitrix/components/bitrix/ directory. According to the developers: components located in this directory can be overwritten during an update, and to customize components it is preferable to create a separate directory for your components.

In this regard, in the /bitrix/components/ directory, we create a new directory in which our components will be stored.

Let's give it the name custom. Now let's create a directory for our component /bitrix/components/custom/sections.list/. The usual folder and file structure of a simple component looks like this:
- help
— images
—lang
—templates
.description.php
.parameters.php
component.php

Let's look at all this in order.
In folder help there is usually a file .tooltips.php, containing an array of tooltips for the component settings. We won’t dwell on it; an example of this file can be found in other components.
In folder images Usually there is a component icon.
In folder lang There are subfolders for the language settings of the component.
In folder templates— all component templates.
We can immediately make a default template for our component. The full path to it will look like this: /bitrix/components/custom/sections.list/templates/.default/template.php.
Let’s insert one single line there for now: “This is the component template custom:sections.list.”

To file .description.php write the following code:

"Custom: list of infoblock sections", "DESCRIPTION" => "List of infoblock sections", "ICON" => "/images/sections_list.gif", "CACHE_PATH" => "Y", "PATH" => array(" ID" => "utility",),); ?>

So, the file contains an array with a description of the component.
The following is the file - .parameters.php:

array("IBLOCK_ID" => array("NAME" => "Infoblock Id", "TYPE" => "STRING", "MULTIPLE" => "N", "PARENT" => "BASE",), "CACHE_TIME " => array("DEFAULT"=>3600),),); ?>

Let's look at the contents of the file in more detail. The PARAMETERS key of the $arComponentParameters array is an array describing the parameters. Our component will contain only one main parameter - IBLOCK_ID (ID of the infoblock from which sections will be displayed).
Keys:
NAME— name of the parameter;
TYPE- type;
MULTIPLE— multiplicity (if ‘Y’, then our parameter can take an array of values);
PARENT— parent (parameters can be divided into groups);

Pay attention to the second parameter CACHE_TIME - it is the default for Bitrix components and sets the caching time.

An array of $arParams will be generated from the $arComponentParameters array, which will be used in the main file of our component - component.php

File contents component.php:

"; print_r($arParams); echo ""; CModule::IncludeModule("iblock"); if ($this->StartResultCache(3600)) ( $iblock_id = $arParams["IBLOCK_ID"]; $arFilter = array("IBLOCK_ID"=>$iblock_id); $ db_list = CIBlockSection::GetList(array("NAME"=>"ASC"), $arFilter, true, array("ID", "NAME", "CODE")); while($ar_result = $db_list->GetNext ()) ( $arResult = array("ID" => $ar_result["ID"], "CODE" => $ar_result["CODE"], "NAME" => $ar_result["NAME"], "ELEMENT_CNT " => $ar_result["ELEMENT_CNT"]); ) // echo "

"; print_r($arResult); echo "
"; $this->IncludeComponentTemplate(); ) ?>

The component.php file contains all the component logic. The main task of this file is to form the $arResult array from the received parameters ($arParams), which will subsequently be passed to the component template. Please note two comments. By uncommenting them, you can always observe what parameters come to the component and what result the template receives.
The code of the component we created is not complicated - depending on the received parameter (infoblock ID), we select sections and save them in the $arResult array. You should pay attention to the call to the $this->StartResultCache() method. It checks if our component has an up-to-date cache. If it exists, then information from the cache is displayed. Consequently, there is no query to the database, the $arResult array is not generated, and even the template is not included (method $this->IncludeComponentTemplate()).

Component template

The next step is to create a template for the component. The template takes the $arResult array generated in the component.php file and outputs its contents to the browser. The template file for our component will be located at the following path: /bitrix/components/custom/sections.list/templates/.default/template.php
Code in the component template:

Blog categories

()

Calling a component

After creating a component, it must be called in the required section of code on the site. To do this, create a test.php file in the root of the site and add the following code to it:

IncludeComponent("custom:sections.list", ".default", array("IBLOCK_ID" => 1), false); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php"); ?>

For the IBLOCK_ID parameter, you must specify the ID of the infoblock containing sections. Having written the parameters in the file, you should request the script through the browser and view the result./strong

Question: Why is it acceptable to store content in the file system, even if it is static? Doesn't the content belong in a database?

With the right skill, the public part can consist of a dozen physical files. All content can be in information blocks, including menus. But usually static pages (for example, About company) it is more convenient to edit as a file rather than as a database record. But if there are an unlimited number of such static pages, then this is a reason to structure them and place them not on disk, but in information blocks.

The size of the system is quite large, since it includes many components necessary for the quick start and operation of the administrative part. The components are not consolidated because the system is modular. Modules, components, and templates have a specific structure. This is important both for system updates and for developing your own components.

A large number of files is a property of similar systems. (U ZendFramework has the same feature). With the correct hosting configuration, php precompilers will take care of this problem. The size of the space allocated by the hoster and the large number of system files may be critical. (The problem is not the regular operation of the Bitrix Framework, but, for example, the operation of the backup systems of the hosters. With a large number of files, they begin to not perform very well.) Therefore, to select a hoster, we recommend using the list of recommended hostings.

Summary. The file system was chosen as a tool for storing the site structure, rather than a database, due to the fact that:

  • The file gives more freedom to the site developer. Because a file on the system is just an executable file.
  • This makes it easier to manage. At the root of this view is the structure of static HTML pages organized into folders. Through some improvement (introducing a small amount of PHP code), we immediately get a project running on the Bitrix Framework from such a site.
  • To some extent, this is a tradition that was of great importance at the dawn of the formation of CMS.
  • This view is consistent with the experience of content managers who work with local file systems (folders and files).

The site structure can also be in the database (infoblocks), but managing the hierarchy in a relational database is not very convenient.

Let's look at the use of files in the Bitrix Framework using examples:

  1. File system and menu. The menu in the files allows you not to connect the database where it is really not needed. The same applies to page and section properties, as well as file permissions. Theoretically, it is possible to put together an information site where there will be no access to the database at all. It will work faster, especially on shared hosting. There are also bonuses: when copying a section, the menu, access rights, and properties of the section are immediately copied naturally.
  2. File system and users. Users from the administrative section have access to kernel files and other program files. But users are different. For example, 1C-Bitrix technical support. If a web developer is not confident in his users, then he can always prohibit them from editing both PHP code and entire sections (core). According to the modern concept of the Bitrix Framework, there should be no PHP code in the public part - everything should be encapsulated in components. Then the user edits either “bare” statics or configures the component.
  3. File system and language versions. It would be difficult to maintain language information in the database. Information in language files changes extremely rarely - it’s easier to edit a line in a language file once a year than to store these static phrases in the database. And we repeat: the database is slow and redundant.

File structure

The file structure of the Bitrix Framework is organized in such a way that the software components of the core of the product are separated from user files, as well as files that determine the external presentation of the site. This feature allows you to:

  • avoid unwanted modification of the product core when working with system files;
  • exclude the possibility of changing the public part of the site when downloading product updates.
  • customize the appearance of the site to suit almost any of your tasks

The entire system lies in the /bitrix/ directory, it includes the following subdirectories and files:

  • /admin/ - administrative scripts;
  • /cache/ - cache files;
  • /activities/ - action folders for business processes;
  • /components/ - folder for system and user components;
  • /gadgets/ - gadget folders;
  • /js/ - javascript module files;
  • /stack_cache/ - cache files “with eviction”;
  • /themes/ - themes of the administrative section;
  • /wizards/ - wizard folders;
  • /images/ - images used both by the system as a whole and by individual modules;
  • /managed_cache/ - managed cache;
  • /modules/ - a directory with system modules, each subdirectory of which has its own strictly defined structure;
  • /php_interface/ is an auxiliary service directory, it includes the following directories and files:
    • dbconn.php- connection parameters to the database;
    • init.php- additional portal parameters;
    • after_connect.php- connects immediately after creating a connection to the database;
    • dbconn_error.php- connects if there is an error when creating a connection to the database;
    • dbquery_error.php- connects when there is an error while executing an SQL query;
    • / Site ID/init.php- additional site parameters; the file is connected immediately after defining a special constant with the site identifier - SITE_ID;
  • /templates/ - directory with website and component templates, it includes the following subdirectories:
    • /.default/ - a subdirectory with common files used by a particular template by default, the structure of this directory is similar to the structure of the directory containing a specific template described below;
    • /site template ID/ - subdirectory with the site template, it includes the following subdirectories and files:
      • /components/ - directory with customized component templates;
      • /lang/ - belonging both to this template as a whole and to individual components;
      • /images/ - directory with images of this template;
      • /page_templates/ - directory with page templates and their descriptions stored in a file .content.php. When a user creates a new page, he can choose which template from those presented in this directory will be used;
      • header.php- prologue of this template;
      • footer.php- epilogue of this template;
      • template_styles.css- main style file for the template;
      • styles.css- CSS template styles for the visual editor (Site Styles tab);
  • /tools/ - during installation, additional pages are copied to this directory, which can be directly used on any pages of the site: help, calendar, image display, etc.;
  • /updates/ - directory automatically created by the update system;
  • header.php- a standard file that in turn includes a specific prologue of the current site template; this file must be used on all pages of the public part;
  • footer.php- a standard file that in turn includes a specific epilogue of the current site template; this file must be used on all pages of the public part;
  • license_key.php- file with license key;
  • spread.php- a file used by the main module to transfer visitor cookies to additional domains of various sites;
  • redirect.php- file used by the module Statistics to record link click events;
  • rk.php- default file used by the module Advertising to record banner click events;
  • stop_redirect.php- file used by the module Statistics to issue any message to a visitor included in the stop list;
  • activity_limit.php- file used by the module Statistics to send a message to the robot when it exceeds the activity limit;
  • and other service files and folders.

Depending on the edition used, some directories and files may be missing.

Introduction

The main requirement of website customers is the speed of creation, so developers use various web-framework" and, such as Laravel, Yii, CodeIgniter and others, which contain a set of ready-made solutions. But the content of sites is often updated, and customer companies rarely have their own web development department to make changes, and at the same time they have no desire to order minor edits from third-party developers. Therefore, content management systems were developed ( CMS), which allow you to make changes on the site without deep knowledge of programming. Using the above framework" and developers create it themselves CMS, but there are many ready-made systems. Such systems are Drupal, WordPress, OpenCart, Joomla And 1C Bitrix. This article will be about the latter, since I have experience developing websites on this platform.

Unlike other CMS listed, 1C Bitrix is a paid platform, but this platform has several advantages. Firstly, there is technical support, which quickly helps with any difficulties that arise. Secondly it is powerful eCommerce Online store module, which is quite well developed and has a large number of features, in particular built-in integration with 1C Enterprise, which makes this platform more attractive among its competitors. There are also many other benefits that can be found on the official website.

1. Basic concepts

In order to start developing a website on the platform 1C Bitrix you need to understand the basic concepts. Figure 1 shows the public (a) and administrative (b) parts of the site.

To switch the public and administrative parts, use tabs 1 and 2, respectively.

Figure 1 - Administrative control panel 1C Bitrix

In the public part of the site, you can create and change pages and sections; for this, use the corresponding buttons in the top control panel. A page in Bitrix consists primarily of components. Component - this is a logically complete code designed to extract information from infoblocks and other sources and convert it into HTML code for display as fragments of web pages. Components can be complex or simple. A complex component consists of several simple components. The components are available in the visual editor when editing a page in the public part of the site (Figure 2).


Figure 2 - Visual editor 1C Bitrix

In the administrative part of the site, on the Content tab, there is a built-in file manager, where you can also create and edit files and folders. 1C Bitrix To make it easy for site content managers to manipulate dynamic data by developers information block technology was developed. - Information blocks is a module that allows you to catalog and manage various types of homogeneous information

  1. . Using information blocks, the publication of various types of dynamic information can be realized. Information blocks are built according to the following structure: information block type
  2. - used to group information blocks; information block
  3. - block of homogeneous information; chapter
  4. information block element- directly information placed in information blocks.

Figure 3 shows the structure of the Product Catalog information block in one of the online stores. Figure 4 shows the display of this information block in the public part by the Catalog component.


Figure 3 - Structure of the information block in 1C Bitrix


Figure 4 - Output of the information block in the public part

Pages in the public section of the site are displayed based on site design templates. Design template - This is the appearance of the site, which determines the arrangement of various elements on the site, the artistic style and the way pages are displayed. Includes HTML program code, graphic elements, style sheets, additional files for displaying content. May also include component templates, ready-made page templates And snippets. In general, a site template sets the page frame, and Visual components are responsible for displaying dynamic information. Design templates are divided into site and component templates. A website template can be linked to a page, to a folder on the server, to a PHP conditional expression. Most often, and this is good design practice, one site has one site template, which contains component templates.

2. File structure of the 1C Bitrix platform

File structure framework" 1C Bitrix has the following form:

  • /bitrix/- system directory framework;
    • templates/- directory with site templates;
      • .default/- default site template;
      • <шаблон сайта>/ - custom website template;
        • components/- component templates;
        • images/- intended for template images (which do not depend on the page being viewed);
        • include_areas/- contains included areas of the template;
        • lang/- contains files of language messages;
        • page_templates/- for page templates and editable areas;
        • snippets/- contains snippets - small fragments of html code to speed up the work of a content manager in creating frequently occurring code blocks;
        • header.php- part of the template BEFORE the content;
        • footer.php- part of the template AFTER the content;
        • description.php- name and description of the template;
        • .styles.php- descriptions of styles for the visual page editor;
        • template_styles.css- template styles (styles used in the site design template itself);
        • styles.css- styles for content and included areas. These styles can be applied in the visual editor;
    • components/- user and system components;
    • modules/- platform modules;
    • php_interface/- auxiliary service directory, it includes the following directories and files;
      • dbconn.php- connection parameters to the database;
      • init.php- additional portal parameters, this file is called on each page;
      • after_connect.php- connects immediately after creating a connection to the database;
      • dbconn_error.php- connects if there is an error when creating a connection to the database;
      • dbquery_error.php- connects when there is an error while executing an SQL query;
      • /site ID/init.php- additional site parameters; the file is connected immediately after defining a special constant with the site identifier - SITE_ID;
    • header.php- a standard file that in turn includes a specific prologue of the current site template; this file must be used on all pages of the public part;
    • footer.php- a standard file that in turn includes a specific epilogue of the current site template; this file must be used on all pages of the public part;
  • /index.php- index file of the main page of the public part of the site;
  • /urlrewrite.php- contains expressions for CNC (human-like URLs);
  • /.<тип меню>.menu.php- site menu type<тип меню>;
  • /.<тип меню>.menu_ext.php- extension for dynamic menu;
  • /.access.php- a file with access rights to the public part of users;
  • /404.php- this page is called if the user navigates to a non-existent page.

This list contains only the main files and directories; a detailed description of all directories and files can be found in the official courses 1C Bitrix , .

Also worth noting are the main global objects of the main platform classes:

  1. $APPLICATION - object of the main module of the site of the CMain class;
  2. $USER - object of the current user of the CUser class;
  3. $DB is an object for working with a database of the CDBResult class.

You can read more about these and other important classes and their methods in the documentation for the API (Application Programming Interface) 1C Bitrix .

3. Website development procedure

The development sequence of any website on any platform consists of the following mandatory steps:

  1. website design development;
  2. layout of pages according to design;
  3. transfer of layout to the platform.

After completing the first and second points, you should proceed to development on 1C Bitrix. Website development on the platform 1C Bitrix starts with creating a site template in a folder /bitrix/templates/ and connecting this template in the administrative part of the site in Administration/Settings/Product Settings/Sites/List of Sites, where you need to select a site from the list and in the Site template item connect the created template, as shown in Figure 5.


Figure 5 - Connecting a site template

After creating the template, you should create the files described in point 2 in its directory. In the file .description.php You should write a description of the template, which will be displayed in the administrative part of the site. Next, you need to evaluate the layout and highlight the common parts on all pages, and if there is no element on one page, but the developer is sure that it will be on all the others, then this is not yet a reason to create a separate website template, in such cases it is acceptable to write a condition, and in this condition, output this block. For example, the breadcrumb component is found on all pages except the main page. After highlighting the common parts of the site, this part of the layout should be transferred to files header.php(top part) and footer.php(bottom part). In file header.php after the body tag, you should call the $APPLICATION->ShowPanel() method so that when an administrator is authorized on the site, the administrative panel is displayed. Styles associated with header.php And footer.php, should be placed in a file template_styles.css, and the general styles that will be used by the content manager when filling the site should be placed in the file styles.css, the remaining styles should be located in component templates. Typical File Structure header.php as follows:

1. 2. DOCTYPE html> 3. <html lang="ru" > 4. <head > 5. <meta charset ="utf-8" /> 6. ShowHead(); ?> 7.<title >ShowTitle() ?>title > 8. <meta http-equiv ="X-UA-Compatible" content ="IE=edge" /> 9. <meta name = "viewport" content = "width=device-width, initial-scale=1.0" /> 10. head > 11. <body > 12. ShowPanel() ?> 13.<header > 14. <div class ="wrapper clearfix" > 15. <a href = "/" class = "logo" style = "background-image: url(/images/logo.png);"> a > 16. IncludeComponent("bitrix:menu" , "top_menu" , Array ("ROOT_MENU_TYPE" => "top" , "MAX_LEVEL" => "1" ,));?> 17.div > 18. header > 19. GetCurPage(false) ! == "/" ) ( 21. $APPLICATION-> IncludeComponent("bitrix:breadcrumb" , "" , Array ()); 22. ) 23. ?>

1. 2. <footer > 3. IncludeComponent("bitrix:main.include" ,"" ,Array ("AREA_FILE_SHOW" => "file" , "EDIT_TEMPLATE" => "phones.php" ));?> 4.footer > 5. body > 6. html >

Some lines in these files should be noted separately. First line of the file header.php prohibits calling this file if the system kernel has not been called. The $APPLICATION->ShowHead() method on line 6 displays service meta tags, for example keywords, description. The $APPLICATION->ShowTitle() method displays the page title, which can be set anywhere on the page using the $APPLICATION->SetTtitle() method. Line 15 uses the SITE_TEMPLATE_PATH constant, which contains the path to the site template. Line 16 calls the menu component with the template top_menu and type top. On line 19, the above situation with breadcrumbs is executed. In file footer.php on the third line the included area with the file is connected phones.php. This design will allow the content manager to edit phone numbers from the visual editor without editing the file footer.php. All areas that the content manager is allowed to edit should be included in included areas.

This is what a standard website template looks like. Next, you need to divide the layout into Bitrix components, and determine which components are needed for a particular block. Often components can be used for other purposes, changing only the template, for example, to create an image slider, where images are taken from information block elements, you can use the news list component, which displays information from information blocks.

1. SetTitle("Home" ); ?> 3.IncludeComponent("bitrix:news.list" ,"slider" ,array ("IBLOCK_ID" => "1" ));?> 4.

Between file connections header.php And footer.php useful content of the page is placed, most often this is the connection of components, as in this case, the connection of a component news.list with template slider, the third parameter passes an array of component parameters; in this case, we indicate that the data must be taken from the information block with identifier 1.

4. Component structure

1C Bitrix system components are located in the directory /bitrix/components/bitrix/, editing them in this folder is strictly prohibited, since all changes will be lost after a system update and the edited component will lose technical support. Your components should be created in their own namespace, for this purpose in the folder /bitrix/components/ you need to create a folder with the name of your namespace.

The component folder contains the following main subfolders and files:

In folder templates contains folders with component templates, the name of the folder corresponds to the name of the template. The default template is called .default. The template folder may contain the following folders and files:

  • /lang- template language files;
  • result_modifier.php- can modify data received from the component before passing it to the template;
  • template.php- mandatory, contains a display of data received from the component;
  • component_epilog.php- called after the template is output and does not end up in the CACHE;
  • .parameters.php- can supplement component parameters;
  • style.css- the file containing the template styles is included automatically;
  • script.js- a file with JavaScript scripts, connected automatically.

The classic diagram of the component's operation is shown in Figure 6.

Figure 6 - Component operation diagram

The figure shows that the component receives data from the page in the $arParams array, the file component.php Based on the received parameters, it processes the data and puts the result in the $arResult variable. These variables are passed to the file result_modifier.php, if it exists, after which the data goes to the file template.php, which contains the html code from the layout with php inserts for data output. In file template.php There should be no service logic, only information output. Next, the generated data is cached so that subsequent calls do not repeat processing, but take data from the Cache, and then the file is called component_epilog.php. Then the generated html is sent to the page on which the component was called.

Since the files in the directory /bitrix/components/bitrix/ cannot be edited, then in order to create your own component template you need to copy the folder with the template from the component folder to the folder components/<пространство имен>/<название компонента> site template and rename it. For example, to customize a component template news.list you need to copy the folder /bitrix/components/bitrix/ news.list/ templates/ .default to a folder /bitrix/templates/<шаблон сайта>/components/bitrix/news.list/ and rename it, for example to slider. When connecting a component, the Bitrix core first looks for a template in the connected site template folder, if not found there, it looks in the default template folder /bitrix/templates/.default/components/, if it is not found there, it looks in the component template folder, and if it is not found there, then an error is displayed.

It should be noted that if it is necessary to add custom css, this must be done using the methods $APPLICATION->SetAdditionalCss("my.css") or $this->addExternalCss("my.css") , then these files will go to the general css collector and the client will receive one file instead of several, which reduces the load on the server, while the data is cached. Similar methods for javascript are $APPLICATION->AddHeadScript("my.js") or $this->addExternalJS("my.js") . As noted above, the style.css and script.js files in the component template are included automatically, but if this folder contains their minimized copies with the names style.min.css And script.min.js, then these files will have a higher priority than their full copies.

This is the bare minimum that is required to start developing a website on the platform 1C Bitrix, but there are many more interesting features and capabilities in this framework"e, which can be found in the official course on the website 1C Bitrix .

Bibliography:

  1. Description of 1C Bitrix: https://www.1c-bitrix.ua/ products / cms/
  2. 1C Bitrix developer course - Components: https://dev.1c-bitrix.ru/ learning/ course/ index.php? COURSE_ID=43& CHAPTER_ID=04565
  3. 1C Bitrix content manager course - Basic concepts: https://dev.1c-bitrix.ru/ learning /course /index.php? COURSE_ID=34& LESSON_ID=1881
  4. 1C Bitrix developer course - Website template: https://dev.1c-bitrix.ru/learning/ course/ ?COURSE_ID=43& LESSON_ID=2820 https://dev.1c-bitrix.ru/ learning/
  1. Code syntax highlighting in HTML: http://markup.su/ highlighter/
  2. Archive of free vector icons: http://www.flaticon.com/
  3. Creating a website template on 1C Bitrix: http://alexvaleev.ru/sozdaem-shablon-bitrix/
  4. Creating a Bootstrap-based template:

In this video we’ll talk about the template, and in particular “ site page structure"on 1C Bitrix. Where the information is placed on it, and how the template itself is formed.

From the video you will learn:

  • What is (header, work area, footer)
  • What remains the same from template to template
  • What information is edited through the visual editor

Page structure– each page of a site on 1C Bitrix is ​​formed dynamically by connecting three components (header, work area, footer).

And so, let's get started, and we will start with the most visual part of the site page. The entire website page is created Dynamically based on the template itself, and those pages that are connected to it, as well as the components that contribute to the formation of the page play an important role. How static and dynamic information is formed was described in more detail in the previous lesson.

Creating website templates and placement of components on it is carried out by programmers or specialists who are well versed in this, but nevertheless, the content manager must have an idea of ​​how the entire site page on 1C Bitrix is ​​structured.

For example, consider our page with ready-made solutions.

In most cases, the entire website page is formed in this way.

As you noticed, the design structure is divided into three parts:

Top part, circled in blue, is called header. This part is connected as a separate file to the site template itself. Includes the top and left part of the site with static information such as (logo, name, slogan, etc.), the top horizontal menu, and the vertical menu that we see in our case, as well as dynamic information materials, as presented on our site this is authorization, bread crumbs and much more.

Main work area circled in green is called work area. This is the working area of ​​the page itself, in which the actual information materials of the site are located. This is the area we have to work with the most, where we edit our content, news, photos, in general, everything that we are used to doing. Both a physical file and dynamic code created by the system based on complex components can be connected as the Main workspace.

If a physical file is connected as the Main workspace, we know this from the previous lesson, then such a page is called static. If dynamic code is included, then such a page is called dynamic.

Bottom of the site, circled in red, is called footer. This part, like the header, is connected as a separate file to the site template itself. Includes static information that may contain (contact information, information about the author and owner of the site, telephone numbers, and so on), in other templates there may be a horizontal menu and a right menu, unless of course they are in the site design. May also include information materials.

All these three parts header, work area, footer can occupy a different area, have a different shape, radically different from the demo version. There is only one thing that remains constant for them: their order. These parts are located only in this order and cannot be presented in another on the site.

All information at the top and bottom of the site design is formed based on the template. Those. The information displayed in these areas is determined by the site template settings.

When we talk about editing a site page, most of us mean changing the contents of the Main work area. Here the content manager can place any information: text, news list, product catalog, voting form, in general, whatever he wants.

In addition, in the website template, the upper and lower parts of the design may provide additional inclusion areas in which we can also place any information. In our case, this is clearly visible in the upper part on the social buttons, and in the lower part in the contact information blocks.

The included areas can be configured:

  • to view all pages of the site;
  • for pages of a specific section of the site;
  • for a separate page;
  • subject to any other program conditions.

For more information on working with included areas, see the following video lessons.

If you have any questions or something is not clear from the video, write in the comments.

About CMS 1C-Bitrix

The system is focused on corporate websites, information and reference portals, social networks, online stores, media sites, and is suitable for creating other types of web resources.

A relational DBMS is used to store site data. The following DBMSs are supported: Oracle, MS SQL. The product runs on Microsoft Windows and UNIX-like platforms, including GNU/Linux.

“1C-Bitrix: Site Management” is sold in one of seven editions compiled by the developer (Start, Standard, Expert, Small Business, Business, Portal, Large Business), which determine the set of modules and functionality of the system. Today, the system has 26 modules available: Main module, Structure management, Information blocks, Search, Social networks, Proactive protection, Compression, Web forms, Forums, Subscription, Mailing lists, Polls, Blogs, Photo gallery 2.0, Web analytics, Advertising , Technical support, Mail, Training, Testing, Translation, Currencies, Web services, Trade catalogue, Online store, Document flow, AD/LDAP, Performance monitor.

To work correctly with this management system, users without knowledge of HTML and PHP languages ​​must first configure the system (creating a template based on graphic design, creating a structure of sections and pages, as well as connecting system modules). This opportunity is provided by the company’s partners 1C-Bitrix.

The ideology of the system represents the division of logic into modules and components. Modules in “1C-Bitrix: Site Management” are a set of software components responsible for working with various types of databases, as well as providing a unified system API. The components serve to connect the final presentation of information on the website with the software core of the system. They use the API created by the modules to organize retrieval, modification, and management of information in the database. Components are much simpler than modules, so changing the logic of the site is quite simple. At the same time, the provided API functionality is quite flexible and each component can use it in its own way. For example, on the basis of the “Infoblocks” module, you can organize any catalogs: news, product catalog, partner catalog, photo gallery. To organize a separate type of directory, its own component is responsible, although the module is the same.

The first version of the system was released in 2001. More than 20,000 websites have been created on the system. In Russia and the CIS, sites on 1C-Bitrix are developed by more than 3,000 web studios.

Currently version 8.0.3 is available.

About the corporate portal 1C-Bitrix

“1C-Bitrix: Corporate Portal” is a software product for creating an internal corporate information resource that solves the communication, organizational and HR tasks of the company. Which includes 23 modules for managing content, structure, forums, advertising and other site features.

Disadvantages of the system

List of changes in 1C-Bitrix module versions

Module versions (as of 05/09/2009)

MODULE - VERSION - CHANGE
Main module - 8.0.4 - 04/21/2009
Proactive defense - 8.0.5 - 04/21/2009
Structure management - 8.0.3 - 04/14/2009
Information blocks - 8.0.2 - 04/22/2009
Search - 8.0.2 - 04/20/2009
Compression - 8.0.0 - 04/07/2009
Web Forms - 8.0.2 - 04/07/2009
Forum - 8.0.8 (beta) - 05/05/2009 (new)
Subscription, mailings - 8.0.1 - 04/20/2009
Polls, voting - 8.0.2 - 04/23/2009
Blogs - 8.0.3 - 04/23/2009
Photo gallery 2.0 - 8.0.0 - 04/07/2009
Social network - 8.0.3 - 04/23/2009
Statistics - 8.0.1 - 04/21/2009
Advertising, banners - 8.0.4 - 05/06/2009 (new)
Technical support - 8.0.1 - 04/21/2009
Mail - 8.0.1 - 04/21/2009
Training - 8.0.1 - 04/21/2009
Translation - 8.0.1 - 04/21/2009
Currencies - 8.0.1 - 04/21/2009
Web services - 8.0.0 - 03/27/2009
Trade catalog - 8.0.1 - 04/21/2009
Online store - 8.0.1 - 04/21/2009
Document flow - 8.0.2 - 04/21/2009
AD/LDAP integration - 8.0.0 - 04/07/2009
Performance Monitor - 8.0.0 - 03/28/2009

see also

Links

Information from the developer

  • www.1c-bitrix.ru - website of the development company.
  • dev.1c-bitrix.ru - developer support center.

Articles and programming examples for 1C-Bitrix

Opinions about 1C-Bitrix

  • “1C-Bitrix”: 6 million hits - How much load will the site withstand?

Notes

Wikimedia Foundation.

2010.

  • Books 1C-Bitrix. Corporate portal. Increasing the efficiency of the company, Robert Basyrov, The book tells how to increase the efficiency of the company using the product “1C-Bitrix: Corporate Portal”. A new product will help your company organize teamwork,… Category: Programs, Publisher: Peter eBook