Инструкция по первичной настройке Nemo CMS: различия между версиями
(→Установка соответствия между макетами страниц и страницами системы) |
(→Создание шаблонов) |
||
Строка 5: | Строка 5: | ||
'''1)''' В разделе "Управление сайтом - Nemo CMS - Шаблоны" создаем шаблон блока: | '''1)''' В разделе "Управление сайтом - Nemo CMS - Шаблоны" создаем шаблон блока: | ||
Нажмите кнопку “Создать шаблон”. | Нажмите кнопку “Создать шаблон”. | ||
− | В поле “Файл шаблона” укажите block.generic.tpl | + | * В поле “Файл шаблона” укажите block.generic.tpl |
− | В поле “Заголовок шаблона” введите “Шаблон блока”. | + | * В поле “Заголовок шаблона” введите “Шаблон блока”. |
− | В поле “Шаблон” вставьте код шаблона | + | * В поле “Шаблон” вставьте код шаблона |
<div class="toccolours mw-collapsible mw-collapsed" style="margin-bottom:10px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="margin-bottom:10px;"> | ||
'''код шаблона блока''' | '''код шаблона блока''' | ||
Строка 18: | Строка 18: | ||
'''2)''' В разделе "Управление сайтом - Nemo CMS - Блоки элементов" создайте 3 блока: блок шапки, блок контента и блок подвала. | '''2)''' В разделе "Управление сайтом - Nemo CMS - Блоки элементов" создайте 3 блока: блок шапки, блок контента и блок подвала. | ||
− | Для этого нажмите “Создать блок элементов страницы”. | + | * Для этого нажмите “Создать блок элементов страницы”. |
− | Введите заголовок. | + | * Введите заголовок. |
− | В списке “Шаблон” выберите ранее созданный нами шаблон блока. | + | * В списке “Шаблон” выберите ранее созданный нами шаблон блока. |
− | Активируйте параметр “Включено”. | + | * Активируйте параметр “Включено”. |
− | Нажмите кнопку “Сохранить”. | + | * Нажмите кнопку “Сохранить”. |
Аналогично создаем блоки контента и подвала. | Аналогично создаем блоки контента и подвала. | ||
'''3)''' Перейдите в раздел "Управление сайтом - Nemo CMS - Шаблоны". | '''3)''' Перейдите в раздел "Управление сайтом - Nemo CMS - Шаблоны". | ||
− | В поле “Файл шаблона” укажите значение page.generic.tpl | + | * В поле “Файл шаблона” укажите значение page.generic.tpl |
− | В поле “Заголовок шаблона” введите “Шаблон страницы”. | + | * В поле “Заголовок шаблона” введите “Шаблон страницы”. |
− | В поле шаблон вставьте код шаблона страницы, приведенный ниже | + | * В поле шаблон вставьте код шаблона страницы, приведенный ниже |
<div class="toccolours mw-collapsible mw-collapsed" style="margin-bottom:10px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="margin-bottom:10px;"> | ||
'''код шаблона страницы''' | '''код шаблона страницы''' | ||
Строка 105: | Строка 105: | ||
В них значения элемента cms_render_block по умолчанию (1, 2 и 3) нужно заменить на соответствующие идентификаторы блоков, которые вы создали в шаге 2 в разделе “Управление сайтом - Nemo CMS - Блоки элементов”. | В них значения элемента cms_render_block по умолчанию (1, 2 и 3) нужно заменить на соответствующие идентификаторы блоков, которые вы создали в шаге 2 в разделе “Управление сайтом - Nemo CMS - Блоки элементов”. | ||
− | Блок с идентификатором 1 соответствует блоку шапки. Замените значение 1 на идентификатор блока шапки. | + | * Блок с идентификатором 1 соответствует блоку шапки. Замените значение 1 на идентификатор блока шапки. |
− | Блок с идентификатором 2 соответствует блоку контента. Замените значение 2 на идентификатор блока контента. | + | * Блок с идентификатором 2 соответствует блоку контента. Замените значение 2 на идентификатор блока контента. |
− | Блок с идентификатором 3 соответствует блоку подвала. Замените значение 3 на идентификатор блока подвала. | + | * Блок с идентификатором 3 соответствует блоку подвала. Замените значение 3 на идентификатор блока подвала. |
{{Attention|В Nemo CMS используется компилирующий обработчик шаблонов Smarty. Пример smarty-тэга вы можете увидеть ниже. Не вносите изменения в структуру smarty-тэгов без крайней необходимости, поскольку это может повлиять на корректность отображения элементов страниц вашего сайта (или страниц в целом).}} | {{Attention|В Nemo CMS используется компилирующий обработчик шаблонов Smarty. Пример smarty-тэга вы можете увидеть ниже. Не вносите изменения в структуру smarty-тэгов без крайней необходимости, поскольку это может повлиять на корректность отображения элементов страниц вашего сайта (или страниц в целом).}} | ||
Строка 114: | Строка 114: | ||
'''4)''' В разделе "Управление сайтом - Nemo CMS - Шаблоны" создадим шаблон шапки. | '''4)''' В разделе "Управление сайтом - Nemo CMS - Шаблоны" создадим шаблон шапки. | ||
− | В поле “Файл шаблона” укажите значение module.textsystem.single.header.tpl | + | * В поле “Файл шаблона” укажите значение module.textsystem.single.header.tpl |
− | В поле “Заголовок шаблона” введите “Шаблон шапки”. | + | * В поле “Заголовок шаблона” введите “Шаблон шапки”. |
− | В поле шаблон добавьте код шаблона шапки, указанный ниже: | + | * В поле шаблон добавьте код шаблона шапки, указанный ниже: |
<div class="toccolours mw-collapsible mw-collapsed" style="margin-bottom:10px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="margin-bottom:10px;"> | ||
Строка 470: | Строка 470: | ||
'''5)''' В разделе "Управление сайтом - Nemo CMS - Шаблоны" создадим шаблон подвала. | '''5)''' В разделе "Управление сайтом - Nemo CMS - Шаблоны" создадим шаблон подвала. | ||
− | В поле “Файл шаблона” укажите значение module.textsystem.single.footer.tpl | + | * В поле “Файл шаблона” укажите значение module.textsystem.single.footer.tpl |
− | В поле “Заголовок шаблона” введите “Шаблон подвала”. | + | * В поле “Заголовок шаблона” введите “Шаблон подвала”. |
− | В поле шаблон внесите код шаблона подвала, указанный ниже: | + | * В поле шаблон внесите код шаблона подвала, указанный ниже: |
<div class="toccolours mw-collapsible mw-collapsed" style="margin-bottom:10px;"> | <div class="toccolours mw-collapsible mw-collapsed" style="margin-bottom:10px;"> |
Текущая версия на 17:31, 28 апреля 2020
Первичная настройка Nemo CMS, необходима для того, чтобы начать работу по стилизации вашего агентства.
Все шаги по первичной настройке Nemo CMS указаны ниже.
Содержание
Создание шаблонов
1) В разделе "Управление сайтом - Nemo CMS - Шаблоны" создаем шаблон блока: Нажмите кнопку “Создать шаблон”.
- В поле “Файл шаблона” укажите block.generic.tpl
- В поле “Заголовок шаблона” введите “Шаблон блока”.
- В поле “Шаблон” вставьте код шаблона
код шаблона блока
{foreach from=$elements item=element}{cms_render_element id=$element.id}{/foreach}
2) В разделе "Управление сайтом - Nemo CMS - Блоки элементов" создайте 3 блока: блок шапки, блок контента и блок подвала.
- Для этого нажмите “Создать блок элементов страницы”.
- Введите заголовок.
- В списке “Шаблон” выберите ранее созданный нами шаблон блока.
- Активируйте параметр “Включено”.
- Нажмите кнопку “Сохранить”.
Аналогично создаем блоки контента и подвала.
3) Перейдите в раздел "Управление сайтом - Nemo CMS - Шаблоны".
- В поле “Файл шаблона” укажите значение page.generic.tpl
- В поле “Заголовок шаблона” введите “Шаблон страницы”.
- В поле шаблон вставьте код шаблона страницы, приведенный ниже
код шаблона страницы
{foreach from=$global item=item key=key}{assign var=$key value=$item}{/foreach} {if $go == 'search/index' || $go == 'search/view_results' || $isNewHotels} <div class="nemo-common-pageWrapper"> {cms_render_block id=1} {cms_render_block id=2} </div> {cms_render_block id=3} <div class="nemo-global-loader js-global-loader"></div> {elseif $go == 'exare_exchange/search_form'} <div class="nemo-common-pageWrapper"> {cms_render_block id=2} </div> {else} <div class="{if $go != "poffice/table" && $go != "poffice/train_table" && $go != 'poffice/exare_table' && $go != "pomessage/inbox" && $go != 'pomessage/create' && $go != 'pomessage/fromtpl' && $go != 'pomessage/index' && $go != 'pomessage/reply' && $go != 'pomessage/search' && $go != 'pomessage/show' && $go != 'pomessage/sent' && $go != 'pomessage/from_orders' && $go != 'pomessage/agency_messages' && $go != "poffice/my_passengers" && $go != 'poclaim/list' && $go != 'poclaim/create' && $go != "poclaim/show" && $go != 'poffice/finances' && $go != 'poffice/finance_documents' && $go != 'poffice/finances_log' && $go != "base/user_settings" && $go != "base/mini_agency_settings"}pro-wrapper js-pageWrapper pro-wrapper_wide{else} nemo-common-pageWrapper nemo-common-po{/if}{if $booking && $booking->getType() == 'TRAINS' || $current_component == 'TRAINS'} nemo-trains-wrapper{/if}"> {cms_render_block id=1} {if $go != "poffice/bookinfo" && $go != "poffice/table" && $go != "poffice/train_table" && $go != "poffice/exare_table" && $go != 'pomessage/inbox' && $go != 'pomessage/create' && $go != 'pomessage/fromtpl' && $go != 'pomessage/index' && $go != 'pomessage/reply' && $go != 'pomessage/search' && $go != 'pomessage/show' && $go != 'pomessage/sent' && $go != 'pomessage/from_orders' && $go != 'pomessage/agency_messages' && $go != "poffice/my_passengers" && $go != 'poclaim/list' && $go != 'poclaim/create' && $go != "poclaim/show" && $go != 'poffice/finances' && $go != 'poffice/finance_documents' && $go != 'poffice/finances_log' && $go != "base/user_settings" && $go != "base/mini_agency_settings"} {assign var=needWrapper value=true} {/if} {if $needWrapper}<div class="{if $booking && $booking->getType() == 'TRAINS' || $current_component == 'TRAINS'}nemo-common-pageWrapper nemo-trains{else}pro-wrapper{/if}">{/if} {cms_render_block id=2} {if $needWrapper}</div>{/if} </div> {cms_render_block id=3} {/if}
В них значения элемента cms_render_block по умолчанию (1, 2 и 3) нужно заменить на соответствующие идентификаторы блоков, которые вы создали в шаге 2 в разделе “Управление сайтом - Nemo CMS - Блоки элементов”.
- Блок с идентификатором 1 соответствует блоку шапки. Замените значение 1 на идентификатор блока шапки.
- Блок с идентификатором 2 соответствует блоку контента. Замените значение 2 на идентификатор блока контента.
- Блок с идентификатором 3 соответствует блоку подвала. Замените значение 3 на идентификатор блока подвала.
Внимание! В Nemo CMS используется компилирующий обработчик шаблонов Smarty. Пример smarty-тэга вы можете увидеть ниже. Не вносите изменения в структуру smarty-тэгов без крайней необходимости, поскольку это может повлиять на корректность отображения элементов страниц вашего сайта (или страниц в целом).
{foreach from=$global item=item key=key}...{/foreach}
4) В разделе "Управление сайтом - Nemo CMS - Шаблоны" создадим шаблон шапки.
- В поле “Файл шаблона” укажите значение module.textsystem.single.header.tpl
- В поле “Заголовок шаблона” введите “Шаблон шапки”.
- В поле шаблон добавьте код шаблона шапки, указанный ниже:
код шаблона шапки
{foreach from=$global item=item key=key}{assign var=$key value=$item}{/foreach} {* Loading registration forms *} {registrationForms} {getCurrencyConverterData} <div class="nemo-common-mobileControl nemo-common-mobileControl_links js-nemo-mobileControl js-nemo-mobileControl_links"> <div class="nemo-common-mobileControl__pseudoHeader"> <div class="nemo-common-mobileControl__pseudoHeader__close js-nemo-mobileControl__close"></div> <div class="nemo-common-mobileControl__pseudoHeader__options js-nemo-mobileControl__toOptions"></div> <div class="nemo-common-mobileControl__pseudoHeader__title js-nemo-mobileControl__title"></div> </div> <div class="nemo-ui-subContainer nemo-common-mobileControl__sideblock"> <div class="nemo-common-mobileControl__sideblock__user"> {if $info_user_status == 'gst'} <button class="nemo-ui-button nemo-ui-button_common nemo-common-mobileControl__sideblock__user__button js-header-auth_adaptive"> {'new-header-enter'|language} </button> {if isset($registrationFormsData.b2c) && !$is_sirena_rail} <button class="nemo-ui-button nemo-ui-button_common nemo-common-mobileControl__sideblock__user__button js-header-register_adaptive"> {'new-header-registration'|language} </button> {/if} {else} <div class="nemo-common-mobileControl__sideblock__user__name"> {$info_name} {$info_surname} {$info_login} {if $info_user_status !== 'usr'} ({$info_user_status|language}) {/if} </div> {strip} {if !$hide_poffice} <a class="nemo-ui-button nemo-ui-button_common nemo-common-mobileControl__sideblock__user__button" href="/{url controller="poffice" action="table"}">{'new-header-privateOffice'|language}</a> {/if} <a class="nemo-ui-button nemo-ui-button_common nemo-common-mobileControl__sideblock__user__button" href="/{url controller="settings" action="dashboard"}" target="_blank">{'new-header-settings'|language}</a> <a class="nemo-ui-button nemo-ui-button_common nemo-common-mobileControl__sideblock__user__button" href="/{go_and_back controller='authorization' action='logout'}">{'new-header-logout'|language}</a> {/strip} {/if} {if $show_booking_status_check && !$is_sirena_rail} <a href="/{url controller='booking' action='status'}" class="nemo-ui-button nemo-ui-button_common nemo-common-mobileControl__sideblock__user__button js-header-checkOrder_adaptive"> {'new-header-checkBookStatus'|language} </a> {/if} </div> {if in_array('FLIGHTS', $enabled_components)} {if $current_component != 'FLIGHTS'} <a class="nemo-common-mobileControl__sideblock__componentLink" href="/"> {'header.components_menu--flights'|language} </a> {else} <span class="nemo-common-mobileControl__sideblock__componentLink nemo-common-mobileControl__sideblock__componentLink_active">{'header.components_menu--flights'|language}</span> {/if} {/if} {if in_array('HOTELS', $enabled_components)} {if $current_component != 'HOTELS'} <a class="nemo-common-mobileControl__sideblock__componentLink" href="/hotels"> {'header.components_menu--hotels'|language} </a> {else} <span class="nemo-common-mobileControl__sideblock__componentLink nemo-common-mobileControl__sideblock__componentLink_active">{'header.components_menu--hotels'|language}</span> {/if} {/if} {if in_array('TRAINS', $enabled_components)} {if $current_component != 'TRAINS'} <a class="nemo-common-mobileControl__sideblock__componentLink" href="/trains"> {'header.components_menu--trains'|language} </a> {else} <span class="nemo-common-mobileControl__sideblock__componentLink nemo-common-mobileControl__sideblock__componentLink_active">{'header.components_menu--trains'|language}</span> {/if} {/if} </div> </div> <div class="nemo-common-mobileControl nemo-common-mobileControl_options js-nemo-mobileControl js-nemo-mobileControl_options"> <div class="nemo-common-mobileControl__optionsInner"> <div class="nemo-common-mobileControl__optionsBlock js-nemo-mobileControl__optionsBlock js-nemo-mobileControl__optionsBlock_selector"> {assign var=locale_up value=$locale|upper} <div class="nemo-ui-subContainer nemo-common-mobileControl__optionsBlock__options"> <div class="nemo-common-mobileControl__optionsBlock__option" data-block="userInfo"> <span class="nemo-common-mobileControl__optionsBlock__option__value"> {strip} <a href="/profile"> {if $info_name} {$info_name} {elseif $info_surname} {$info_surname} {else} {$info_login} {/if} </a> {/strip} {if $info_user_status !== 'usr'} ({$info_user_status|language}) {/if} </span> </div> <div class="nemo-common-mobileControl__optionsBlock__option js-nemo-mobileControl__optionsBlock__selector" data-block="language"> <span class="nemo-common-mobileControl__optionsBlock__option__additional">{'new-header-mobileOptions__change'|language}</span> <span class="nemo-common-mobileControl__optionsBlock__option__value"> {'lang_'|cat:$locale_up|language} </span> </div> <div class="nemo-common-mobileControl__optionsBlock__option js-nemo-mobileControl__optionsBlock__selector" data-block="currency"> <span class="nemo-common-mobileControl__optionsBlock__option__additional">{'new-header-mobileOptions__change'|language}</span> <span class="nemo-common-mobileControl__optionsBlock__option__value js-nemo-mobileControl__currency__selected">{'currency_'|cat:$currencyConverter.defaultCurrency|language}</span> </div> </div> <div class="nemo-ui-button nemo-ui-button_common nemo-common-mobileControl__optionsBlock__cancel js-nemo-mobileControl__close">{'new-header-mobileOptions__close'|language}</div> </div> <div class="nemo-common-mobileControl__optionsBlock js-nemo-mobileControl__optionsBlock js-nemo-mobileControl__optionsBlock_language" style="display: none;"> <div class="nemo-ui-subContainer nemo-common-mobileControl__optionsBlock__options"> {foreach item=lang from=$agency_langs key=lang_code} {if $locale != $lang_code} <div class="nemo-common-mobileControl__optionsBlock__option js-nemo-header-dropmenu__drop__language" data-language="{$lang_code}"> {$lang} </div> {/if} {/foreach} </div> <div class="nemo-ui-button nemo-ui-button_common nemo-common-mobileControl__optionsBlock__cancel js-nemo-mobileControl__optionsBlock__selector" data-block="selector">{'new-header-mobileOptions__cancel'|language}</div> </div> <div class="nemo-common-mobileControl__optionsBlock js-nemo-mobileControl__optionsBlock js-nemo-mobileControl__optionsBlock_currency" style="display: none;"> <div class="nemo-ui-subContainer nemo-common-mobileControl__optionsBlock__options"> {foreach from=$currencyConverter.rates item=oneCur key=key} <div class="nemo-common-mobileControl__optionsBlock__option js-nemo-mobileControl__currency__option" data-currency="{$key}"> {'currency_'|cat:$key|language} </div> {/foreach} </div> <div class="nemo-ui-button nemo-ui-button_common nemo-common-mobileControl__optionsBlock__cancel js-nemo-mobileControl__optionsBlock__selector" data-block="selector">{'new-header-mobileOptions__cancel'|language}</div> </div> </div> </div> <header class="nemo-common-pageHeader"> <div class="nemo-common-pageHeader__inner"> <div class="nemo-common-pageHeader__mobileControl nemo-common-pageHeader__mobileControl_links js-nemo-mobileControl__toggler" data-control="links"></div> <div class="nemo-common-pageHeader__mobileControl nemo-common-pageHeader__mobileControl_options js-nemo-mobileControl__toggler" data-control="options"></div> <a href="/" class="nemo-common-pageHeader__logo"> <img class="nemo-common-pageHeader__logo__image" src="/templates/wurst/f2.0/img/nemo.travel.svg" alt=""> </a> <div class="nemo-common-pageHeader__inner__headerLinks"> {if $test_mode} {'system_test_mode'|language} {/if} {strip} <div class="nemo-common-pageHeader__inner__headerRight__componentsLinks"> {if in_array('FLIGHTS', $enabled_components)} {if $current_component != 'FLIGHTS'} <a href="/" class="nemo-ui-link nemo-common-pageHeader__inner__headerRight__componentsLinks__avia"> {'header.components_menu--flights'|language} </a> {else} <span class="nemo-common-pageHeader__inner__headerRight__componentsLinks__avia nemo-common-pageHeader__inner__headerRight__componentsLinks_active"> {'header.components_menu--flights'|language} </span> {/if} {/if} {if in_array('HOTELS', $enabled_components)} {if $current_component != 'HOTELS'} <a href="/hotels" class="nemo-ui-link nemo-ui-link nemo-common-pageHeader__inner__headerRight__componentsLinks__hotels"> {'header.components_menu--hotels'|language} </a> {else} <span class="nemo-common-pageHeader__inner__headerRight__componentsLinks__hotels nemo-common-pageHeader__inner__headerRight__componentsLinks_active"> {'header.components_menu--hotels'|language} </span> {/if} {/if} {if in_array('TRAINS', $enabled_components)} {if $current_component != 'TRAINS'} <a href="/trains" class="nemo-ui-link nemo-common-pageHeader__inner__headerRight__componentsLinks__trains"> {'header.components_menu--trains'|language} </a> {else} <span class="nemo-common-pageHeader__inner__headerRight__componentsLinks__trains nemo-common-pageHeader__inner__headerRight__componentsLinks_active"> {'header.components_menu--trains'|language} </span> {/if} {/if} </div> {/strip} </div> <div class="nemo-common-pageHeader__inner__headerRight"> {if $info_user_status == 'gst'} {if $show_booking_status_check && !$is_sirena_rail} <a href="/{url controller='booking' action='status'}" class="nemo-ui-pseudoLink nemo-common-pageHeader__checkBook js-header-checkOrder"> {'new-header-checkBookStatus'|language} </a> {include file='checkBooking_popup.tpl'} {/if} <a href="/{go_and_back controller='authorization' action='auth_client'}" class="nemo-ui-button nemo-ui-button_common nemo-ui-button_medium nemo-common-pageHeader__inner__headerLinks__item nemo-common-pageHeader__auth js-header-auth {if isset($registrationFormsData.b2c) && !$is_sirena_rail} nemo-common-pageHeader__auth__borderRight {/if}"> {'new-header-enter'|language} </a> <div class="js-header-restorepass" style="display: none;"></div> {include file='authorization_popup.tpl'} {include file='authorization_passRecovery_popup.tpl'} {if isset($registrationFormsData.b2c) && !$is_sirena_rail} <a href="/{url controller='authorization' action='registration' get=''}" class="js-header-register nemo-common-pageHeader__inner__headerLinks__item nemo-ui-button nemo-ui-button_common nemo-common-pageHeader__registration"> {'new-header-registration'|language} </a> <div class="js-registration-formcontainer_b2c" style="display: none;"> {include file="registration_inline.tpl" form=$registrationFormsData.b2c} </div> {/if} {else} {if !$hide_poffice} <a href="/{url controller="poffice" action="table"}" class="nemo-ui-button nemo-ui-button_common nemo-common-pageHeader__myOffice"> {'new-header-privateOffice'|language} </a> {/if} <div class="nemo-ui-dropMenu nemo-common-pageHeader__dropMenu nemo-common-pageHeader__dropMenu_user"> <div class="nemo-ui-dropMenu__main"> <div class="nemo-ui-select js-common-pseudoSelectHeader"> <div class="nemo-ui-select__toggle js-common-pseudoSelectHeader__toggle nemo-common-pageHeader__dropMenu_user_label {if !$hide_poffice} nemo-common-pageHeader__dropMenu_user_label_borderLeft {/if}"> {$info_logged_in_as} </div> <ul class="nemo-ui-select__dropdown js-common-pseudoSelectHeader__dropdown"> {if !$hide_poffice} <li class="nemo-ui-select__dropdown__item"> <a href="/profile"> {'tab_my_profile'|language} {if $info_user_status !== 'usr'} ({$info_user_status|language}) {/if} </a> </li> {/if} <li class="nemo-ui-select__dropdown__item"> <a href="/settings__dashboard"> {'new-header-settings'|language} </a> </li> <li class="nemo-ui-select__dropdown__item"> <a href="/{go_and_back controller='authorization' action='logout'}"> {'new-header-logout'|language} </a> </li> </ul> </div> </div> </div> {/if} <div class="nemo-ui-dropMenu js-nemo-header-dropmenu nemo-common-pageHeader__dropMenu nemo-common-pageHeader__dropMenu_language {if count($currencyConverter.rates) > 1 && $currencyConverter.conversionEnabled} nemo-common-pageHeader__dropMenu nemo-common-pageHeader__dropMenu_language_borderRight {/if} "> <div class="nemo-ui-dropMenu__main"> <button class="nemo-ui-button nemo-ui-button_common nemo-common-pageHeader__dropMenu__button js-nemo-header-dropmenu__button"> <span class="nemo-common-pageHeader__langSelectImage flag flag-{if isset($country_codes_by_languages[$locale])}{$country_codes_by_languages[$locale]|upper}{else}{$locale|upper}{/if}"></span> </button> </div> <div class="nemo-ui-dropMenu__drop js-nemo-header-dropmenu__drop nemo-common-pageHeader__droplist nemo-common-pageHeader__droplist_language"> <span class="nemo-common-pageHeader__droplist__header">{'new-header-siteLang'|language}</span> {foreach item=lang from=$agency_langs key=lang_code} {if $locale != $lang_code} <div class="nemo-common-pageHeader__droplist__option js-nemo-header-dropmenu__drop__option js-nemo-header-dropmenu__drop__language" data-language="{$lang_code}"> <div class="nemo-common-pageHeader__droplist__option__icon"> <span class="nemo-common-pageHeader__langSelectImage flag flag-{if isset($country_codes_by_languages[$lang_code])}{$country_codes_by_languages[$lang_code]|upper}{else}{$lang_code|upper}{/if}" > </span> </div> <span class="nemo-common-pageHeader__droplist__option__text"> {$lang} </span> </div> {/if} {/foreach} </div> </div> {if count($currencyConverter.rates) > 1 && $currencyConverter.conversionEnabled} <div class="nemo-ui-dropMenu js-nemo-header-dropmenu nemo-common-pageHeader__dropMenu nemo-common-pageHeader__dropMenu_currency"> <div class="nemo-ui-dropMenu__main"> <button class="nemo-ui-button nemo-ui-button_common nemo-common-pageHeader__dropMenu__button js-nemo-header-dropmenu__button"> {if $currencyConverter.defaultCurrency == "RUB"} <money><currency type="symbol" currency="RUB">RUB</currency></money> {else} {"currency_"|cat:$currencyConverter.defaultCurrency|cat:"_symbol"|language} {/if} </button> </div> <div class="nemo-ui-dropMenu__drop js-nemo-header-dropmenu__drop nemo-common-pageHeader__droplist"> <span class="nemo-common-pageHeader__droplist__header">{'new-header_currency_for'|language}</span> {foreach from=$currencyConverter.rates item=oneCur key=key} <div class="nemo-common-pageHeader__droplist__option js-nemo-header-dropmenu__drop__option js-nemo-header-dropmenu__drop__currency" data-currency="{$key}"> <div class="nemo-common-pageHeader__droplist__option__icon"> {if $key == "RUB"} <money><currency type="symbol" currency="RUB">RUB</currency></money> {else} {"currency_$key"|cat:"_symbol"|language} {/if} </div> <span class="nemo-common-pageHeader__droplist__option__text"> {"currency_$key"|language} </span> <span class="js-nemo-header-dropmenu__drop__currency__text" style="display: none;"> {if $key == "RUB"} <money><currency type="symbol" currency="RUB">RUB</currency></money> {else} {"currency_$key"|cat:"_symbol"|language} {/if} </span> </div> {/foreach} </div> </div> {/if} </div> </div> {include file="authenticationWarning.tpl"} {include file="header_scripts.tpl"} </header>
5) В разделе "Управление сайтом - Nemo CMS - Шаблоны" создадим шаблон подвала.
- В поле “Файл шаблона” укажите значение module.textsystem.single.footer.tpl
- В поле “Заголовок шаблона” введите “Шаблон подвала”.
- В поле шаблон внесите код шаблона подвала, указанный ниже:
код шаблона подвала
<footer class="nemo-common-footer"> <div class="nemo-common-footer__footerInner"> <div class="nemo-common-footer__copyRight"> © nemo.travel </div> <div class="nemo-common-footer__footerMenu"> <a href="#" class="nemo-common-footer__footerMenu__item"> Помощь </a> <a href="#" class="nemo-common-footer__footerMenu__item"> Обратная связь </a> </div> </div> </footer>
Создание системного текста
Перейдите в раздел "Управление сайтом - Nemo CMS - Модули - Системные тексты".
- Нажмите “Создать категорию текстов”.
- В поле “Заголовок” укажите значение "Служебные".
- Нажмите “Создать новую запись”.
- Далее перейдите в созданную категорию.
- Нажмите “Создать текстовую статью”.
- В поле “заголовок” укажите"Служебный текст”.
- Поле “Содержание” оставьте пустым.
- Активируйте параметр “Включено”.
Создание макетов страниц
1) Перейдите в раздел "Управление сайтом - Nemo CMS - Макеты страниц".
- Нажмите “Создать новый макет страницы”.
- В поле “Заголовок” введите любое название, например “Поиск авиабилетов”.
Внимание! Указанное название макета будет использовано как значение тэга title в элементе head. Для страниц с формой поиска и результатами поиска значение тэга title в элементе head можно указать в разделе Языковые ресурсы. Для этого необходимо перейти в раздел настроек “Управление сайтом - Языковые ресурсы”, найти переменные FlightsSearch и FlightsResults, после чего изменить их значение на нужное. Более подробная информация о работе с разделом “Языковые ресурсы” доступна в соответствующей статье.
- В выпадающем списке “Родитель” оставьте значение “Не определено”.
- В списке “Шаблон” выберите “Шаблон страницы”.
- В списке “Режим создания элементов страницы” выберите “Наследовать далее”.
- Активируйте параметр “Включено”.
2) Нажмите на название макета. Создадим элемент макета для вывода содержимого шаблона шапки.
- Нажмите “Создать элемент страницы”.
- В поле “Заголовок” внесите “Шапка”
- В списке “Информационный блок” выберите “Блок шапки”
- В списке “Режим создания объекта” выберите “Наследовать далее”
- В списке “Экземпляр модуля” выберите “Служебные”
- Нажмите кнопку “Применить”.
- В списке “Режим отображения содержимого” выберите “Определенный текст”
- Нажмите кнопку “Применить”.
- В списке “Произвольная статья” выберите “Служебный текст”
- В списке “Шаблон” выберите “Шаблон шапки”
- Активируйте параметр “Включено”.
- Нажмите кнопку “Сохранить”.
Далее создадим аналогичным образом элементы для движка и подвала сайта.
3) Нажмите “Создать элемент страницы”.
- В поле “Заголовок” внесите “IBE” (Internet Booking Engine)
- В списке “Информационный блок” выберите “Блок контента”
- В списке “Режим создания объекта” выберите “Наследовать далее”
- В списке “Экземпляр модуля” выберите “Системные функции”
- Нажмите кнопку “Применить”.
- В списке “Режим отображения содержимого” выберите “Внедренный объект системы”
- Активируйте параметр “Включено”.
- Нажмите кнопку “Сохранить”.
4) Нажмите “Создать элемент страницы”.
- В поле “Заголовок” внесите “Подвал”
- В списке “Информационный блок” выберите “Блок подвала”
- В списке “Режим создания объекта” выберите “Наследовать далее”
- В списке “Экземпляр модуля” выберите “Служебные”
- Нажмите кнопку “Применить”.
- В списке “Режим отображения содержимого” выберите “Определенный текст”
- Нажмите кнопку “Применить”.
- В списке “Произвольная статья” выберите “Служебный текст”
- В списке “Шаблон” выберите “Шаблон подвала”
- Активируйте параметр “Включено”.
- Нажмите кнопку “Сохранить”.
Для всех настроек, которые не были упомянуты выше, оставьте уже заданное в них значение по умолчанию.
В итоге у вас окажется 3 элемента макета с параметрами, установленными так, как показано на приложенных скриншотах.
Установка соответствия между макетами страниц и страницами системы
Зададим соответствие между страницами системы и макетами, которые должны быть использованы для этих страниц. Для этого перейдите в раздел "Управление сайтом - Nemo CMS - Настройки сайта" и выберите созданный нами ранее макет в соответствующих пунктах (в зависимости от того, какой компонент или компоненты системы Nemo.Travel вы используете).
Добавление дополнительных CSS и Javascript
В разделе "Управление сайтом - Настройка внешнего вида" вы можете добавить дополнительный код в <head>, CSS стили и код Javascript.