Открыть главное меню

Система управления порталом (ЦМС)

Версия от 13:33, 26 января 2017; Алексей Петрик (обсуждение | вклад) (Краткий пример по разворачиванию ЦМС)

Система управления порталом или ЦМС (от англ. CMS — Content Management System) — система управления сайтом, позволяющая обычному пользователю обновлять содержимое без привлечения программиста.

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

Содержание

Модуль «Система управления порталом» в Nemo.Travel

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

Упрощенная структура CMS Nemo.Travel

 

Функционально CMS состоит из 2-х частей:

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

Фронт-энд, в свою очередь, отвечает за формирование потока HTML для просмотра его браузером конечного пользователя.


Административная панель CMS

Административная часть CMS состоит из 2-х независимых функциональных блоков:

Также здесь присутствует блок настроек для связи CMS с другими системами.

Функции CMS

Основной конечной функцией CMS является формирование законченных HTML-документов определенной структуры, наполненных произвольным контентом и доступных для просмотра с помощью WEB-браузера.

Для обеспечения данной функциональности CMS реализует следующие функции:

  • Организация закрытого административного раздела в рамках системы Nemo.Travel;
  • Механизм привязки CMS к определенному агентству;
  • Настройки сайта и интеграция с системой Nemo.Travel;
  • Создание и редактирование пользовательского контента;
  • Создание и редактирование структуры сайта, блоков контента;
  • Создание и редактирование шаблонов;
  • Формирования выходного потока в формате HTML на основе структуры сайта и пользовательского контента.

Доступ пользователей

Полным доступом к управляющей части CMS обладает менеджер агентства. Также существует возможность предоставления доступа к разделам редактирования содержательной части сайта (контента) произвольным пользователям, зарегистрированных в данном агентстве.

Распределением доступа занимается менеджер агентства.

Последовательность предоставления доступа к CMS следующая:

  1. Необходимо войти в систему под учетной записью менеджера агентства.
  2. С помощью административной панели «Аккаунт менеджмент» → «Агенты и пользователи» → «Управление» создать нового пользователя, для которого планируется предоставлять доступ.
  3. Перейти в раздел CMS «Управление сайтом» → «Nemo CMS» → «Менеджеры контента», а данном разделе отображается список пользователей, которым разрешено изменять контент сайта агентства.
  4. Нажать кнопку «Добавить пользователя» и перейти по ссылке «Выбрать».
  5. Во всплывающем окне нажать мышью на учетной записи пользователя, созданного в п. 2. (незарегистрированным пользователям и группам доступ не предоставляется).
  6. Нажать кнопку «Создать» в форме добавления пользователя.

На этом процесс распределения доступа завершен. Чтобы проверить работоспособность, необходимо выйти из системы и зайти под учетной записью пользователя, созданного в п.2 и использованного в п.5 соответственно. При переходе в административную панель пользователь получает доступ к разделам CMS «Управление сайтом» → «Nemo CMS» → «Менеджер файлов» для редактирования файлового хранилища сайта агентства и «Управление сайтом» → «Nemo CMS» → «Модули» для управления контентом.

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

Сокращение путей

Для вывода содержимого контента по переменной можно использовать ссылки такого формата:

http://domain/?go=content&page=1&article=2

где «page=1» — указание макета страницы, «article=2» — вывод статьи с ID=2 (имя переменной article задается в свойствах элемента, отвечающего за вывод).

Однако можно использовать и следующий равнозначный формат:

http://domain/1__article__2.html

где «1» — ID макета страницы, «2» — значение переменной article.

Внимание! Использовано двойное нижнее подчеркивание.

Если определен макет страницы по умолчанию и нет необходимости добавлять его в адрес, то можно вместо

http://domain/?go=content&article=1

использовать

http://domain/article__1.html

При работе с модулем «Страницы контента» можно использовать алиасы для короткого именования страниц. Предположим, имеется страница с алиасом (псевдонимом) about. Тогда для вывода этой страницы можно использовать или полную форму:

http://domain/?go=frontend&page=about

или сокращенную

http://domain/about.html

Сокращение путей страниц с выводом системы бронирования

Для вывода на странице контента элемента движка и произвольного контента необходимо использовать URL определенного вида.

http://domain/?go=search/index&source=frontend&page=home

Здесь:

  • «search/index» — имя контроллера и действия системы бронирования (форма поиска авиабилетов);
  • «source=frontend» — переменная, указывающая на то, что необходимо использовать функционал модуля контентных страниц;
  • «page=home» — алиас контентной страницы (можно также указать ее ID, например page=123);

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

Для страницы с алиасом home и формой поиска авиабилетов на ней можно использовать короткую ссылку вида

http://domain/avia_home

где «home» — алиас страницы контента.

Внимание! Вместо алиасов допускается использовать ID страниц контента.

Внимание! Для страниц с формой поиска отелей можно использовать префикс hotel_

Краткий пример по разворачиванию ЦМС

1) В разделе "Управление сайтом - Nemo CMS - Шаблоны" создаем шаблон блока. https://drive.google.com/file/d/0B2geuk8VO4nOdjd1VDFQcDU1YWs/view?usp=sharing

block.generic.tpl

{foreach from=$elements item=element}{cms_render_element id=$element.id}{/foreach}

2) В разделе "Управление сайтом - Nemo CMS - Блоки элементов" создаем 3 блока: блок шапки, блок контента и блок подвала. Для всех блоков используется "Шаблон блока", пример: https://drive.google.com/file/d/0B2geuk8VO4nOYkp2bmhPTlFqR3c/view?usp=sharing

3) В разделе "Управление сайтом - Nemo CMS - Шаблоны" создаем шаблон страницы. https://drive.google.com/file/d/0B2geuk8VO4nON2h0RnVRM1NUVE0/view?usp=sharing

page.generic.tpl

{foreach from=$global item=item key=key}{assign var=$key value=$item}{/foreach}
{if $go == 'search/index' || $go == 'search/view_results'}
	<div class="nemo-common-pageWrapper">
		{cms_render_block id=1}
		{cms_render_block id=2}
	</div>
	{cms_render_block id=3}
{else}
	<div class="{if $go != "poffice/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/show" &&
	$go != 'poffice/finances' && 
	$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}">
		{cms_render_block id=1}
		{if $go != "poffice/bookinfo" && 
		$go != "poffice/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/show" &&
		$go != 'poffice/finances' && 
		$go != 'poffice/finances_log' && 
		$go != "base/user_settings" && 
		$go != "base/mini_agency_settings"}
			{assign var=needWrapper value=true}
		{/if}
		{if $needWrapper}<div class="pro-wrapper">{/if}
			{cms_render_block id=2}
		{if $needWrapper}</div>{/if}
	</div>
	{cms_render_block id=3}
{if}

См. также

'