«Шаблоны основного сайта shgpi edu ru. Пояснения»



Скачать 94.38 Kb.
Дата16.09.2014
Размер94.38 Kb.
ТипАнализ
«Шаблоны основного сайта shgpi.edu.ru. Пояснения»


О шаблонах в TYPO3 1

Управление шаблонами 1

Анализ шаблонов основного сайта shgpi.edu.ru 3

Код шаблона defTemplate1-3-1 (раздел - Абитуриенту) 8

Код шаблона phpContent: (страница погоды) 9




О шаблонах в TYPO3

В CMS TYPO3, как и во почти всех CMS есть четкое разделение на содержание сайта и визуальное отображение сайта – есть контент, есть шаблон (или шаблоны) его отображения.


Шаблон в TYPO3 очень похож общим принципом на xml файлы, но с большим количеством возможностей – по определенному принципу (с помощью TypoScript) описывается какая-либо структура.

Возможностей управления сайтом или порталом в этом языке масса – но, чтоб его эффективно использовать, надо много знать (в этом вам помогут документы rus_manual-doc_core_tsref_4-0-0.sxw – (далее в тексте TSR) и Modern_template_building__Part_1.sxw).

Шаблоны – это очень гибкая возможность управления видом сайта – есть возможность определять шаблон в зависимости от внешних условий (ip-адреса, браузера клиента, наличия на странице плагина, времени суток и т.д.), есть возможность создавать динамические элементы контента, подгружать файлы и управлять модулями CMS.

Шаблоны в TYPO3, благодаря иерархичности страниц наследуемые. То есть – если странице не задан шаблон – она наследует шаблон страницы-родителя.

Для подразделов или особых страниц можно задать полностью оригинальный шаблон – по желанию администратора сайта.

Управление шаблонами

Шаблоны можно создавать для каждой страницы с помощью пункта WEB>Template или WEB>List добавляя их там в виде элемента контента страницы.

Редактировать шаблон полностью можно с помощью пункта WEB>Template и нажав Edit the whole template record или WEB>List, нажав на карандаш у элемента template данной страницы.
Рассмотрим появившуюся форму управления шаблоном.


  1. Вкладка General – на ней определяется название шаблона, заголовок сайта и собственно его отображение и описание шаблона.

Самые важные поля на данной вкладке – Constants и Setup.

Constants -собственно, раздел объявления констант, которые можно использовать в поле Setup.

Setup – здесь и задаются все настройки отображения сайта( Различные условия, параметры, файлы и т.д.)

  1. Вкладка Options – здесь определяются параметры наследования у данного шаблона.
    Раздел Clear – поставленная галочка уберет все унаследованные от старницы родителя опции в разделах Setup или Constants, ну и заодно определяется – будет ли этот шаблон считаться «корневым» - «rootlevel» (если да, то меню будет состоять только из страниц этого раздела).

  2. Вкладка Includes – здесь подключаются, так называемые «статические шаблоны» - шаблоны CMS или модулей в которых заданы их параметры отображения. В корневом шаблоне сайта необходимо обязательно добавить – в разделе Include static - content(default), и в разделе Include static (from extensions) - CSS Styled Content TYPO3 (css_styled_content). Если эти статические шаблоны не подключить - никакой контент в самодельных шаблонах выводиться не будет.

  3. Также, для корректной работы модуля tt_news необходимо подключить один из его шаблонов отображения (в данном случае table-based tmpl(tt_news)). Иначе, опять же, новости выводиться не будут.


Остальные вкладки не столь значительны и не будут рассматриваться здесь (подробней о них можно прочитать в встроенной помощи TYPO3)


Анализ шаблонов основного сайта shgpi.edu.ru



Код шаблона shgpi_main (General>Setup):
В TypoScript (TS) знак комментария обозначается как #
# CMS не будет автоматически формировать title страницы

config.noPageTitle = true


# Данные 3 строчки обеспечивают работу расширения CoolURI, которое создает читаемые

# адреса страниц. Также для корректной работы данного расширения необходимы

# некоторые опции в файле .htaccess (указаны в документе aboutCoolURI.doc)

config.baseURL = http://www.shgpi.edu.ru/

config.tx_cooluri_enable = 1
config.redirectOldLinksToNew = 1
# Здесь задан набор свойств конфигурации – в основном, задана только правильная

# кодировка – подробнее можно почитать в TSR


config {

sys_language_uid = 0

language = ru

locale_all = ru_RU.UTF-8

forceCharset = utf-8

metaCharset = utf-8

renderCharset = utf-8

}

# Создание объекта типа PAGE. Это необходимый объект – подробнее в TSR


page = PAGE

page.typeNum = 0


# Создание объекта типа COA. С помощью этого объекта я создаю заголовки/

# Создание под-объекта под номером 1 типа TEXT

page.headerData.1 = COA

page.headerData.1.1 = TEXT


# Вытаскивание из БД заголовка первой страницы сайта

page.headerData.1.1.data = fullRootLine : 0, title


# Заключение этого значения в теги title, вертикальная черта – зарезервированный знак в

# TS обозначающий текущее значение объекта

page.headerData.1.1.wrap = |
# Создание под-объекта под номером 2 типа TEXT

# Следующей строкой подключаются стили.

page.headerData.2 = TEXT

page.headerData.2.value =

# Создание под-объекта под номером 5 типа FILE
# Указание пути к файлу. Содержимое файла будет

# выведенно. Php файлы так подключать нельзя – не будут работать.

page.5 = FILE

page.5.file = fileadmin/template/s1.txt


# Здесь вставляется картинка и ссылка из левого верхнего угла сайта. В последующих

# шаблонах она будет заменяться названием раздела и ссылкой на его первую страницу.

page.6 = TEXT

page.6.value = шгпи


shgpi.edu.ru

# закрытие тегов для корректного отображения названия раздела (или ссылки на главную)

page.6.wrap = |


# HMENU (hierarchical menu) спец объект через который отображаются все меню сайта, т.е. данный объект отображает какое то количество уровней дерева страниц.


page.7 = HMENU
# TMENU (text menu) – спец объект для отображения одного уровня дерева страниц. В данном случае отображается первый подуровень от корня дерева страниц (от страницы с заголовком ШГПИ)

page.7.1 = TMENU


# Свойства page.7.1 = TMENU
page.7.1 {

# noBlur = 1 – убирает подсветку с «текущего» пункта

noBlur = 1

# expAll = 0 – свойство, которое определяет отображать ли в меню подстраницы текущих

# страниц в виде подменю (если для них задано отображение) сразу развернутыми (если

# expAll = 1) или подменю отображаются только у «текущего» пункта. Для отображения

# подменю необходимо, чтобы существовало отображение данного подменю. (т.е. в

# данном случае, существовал бы page.7.2 = TMENU с какими либо свойствами).

# Подробнее в TSR

expAll = 0


# collapse = 0 – свойство, с помощью которого устанавливается - сворачивать ли

# развернутые подменю по нажатию «предка» этих подстраниц (если collapse = 1) или не

# сворачивать (если collapse = 0). В данном шаблоне, значение задано для дефолта.

collapse = 0


# заключает неактивные пункты меню в

NO.linkWrap =

  |


# включает отображение разделителей (spacers)

SPC = 1
# заключает их в

(для выравнивания в меню).

SPC.allWrap =

|

}
# заключает все меню в css теги menu.
page.7.wrap =


# Секция, срабатывающая по условию – если клиент заходит со КПК, смартфона и т.д.

# разберем только новые ключи.

# в квадратных скобках записывается условие – в данном случае – срабатывает

# php-функция, записаная в localconf.php

[userFunc = user_isMobile()]

page.5 = TEXT

page.5.value =

page.6 = TEXT

page.6.value = шгпи

page.6.wrap = |


page.7 = HMENU

page.7.1 = TMENU

page.7.1 {

noBlur = 1

expAll = 0

collapse = 0

SPC = 0
# Очистка wrap’ов переопределением

NO.allWrap = |

CUR.allWrap = |

NO {
# Не создавать ссылку этому пункту автоматически – я создам её вручную, потому что

# она будет одним из пунктов select’а

doNotLinkIt = 1

stdWrap.cObject = COA

stdWrap.cObject {

10 = TEXT

10.value =

}

}
# Все делается аналогично для текущего пункта меню, только он еще выбирается при этом



CUR = 1

CUR {


doNotLinkIt = 1

stdWrap.cObject = COA

stdWrap.cObject {

10 = TEXT

10.value =

}

}



}
# создается select и функция перехода

page.7.wrap =

Навигация:


[end]
# создается select и функция перехода – добавляется пункт сервисы (телефоны и т.д.)

[userFunc = user_isMobile()] && [treeLevel = 1]

page.7.wrap =

Навигация:


[end]
# Создание объекта типа CONTENT который будет отображать содержимое страницы

page.10 = CONTENT
# опция (функция), которая отображает весь контент страницы
page.10.table = tt_content
page.10.wrap =

|

# задание свойств «виду отображения» list в модуле новостей tt_news

plugin.tt_news.displayList {

# формирование даты новостей.
date_stdWrap.strftime= %d.%m.%Y:

# стирание обычных для tt_news тегов обрамляющих вывод

title_stdWrap >
# обрезка после 512 символов title новости и замена последующих на …

# Это сделано из-за того, что tt_news расширении версии 2.5.2 максимальная длинна title

# при добавлении новости ограничена.

title_stdWrap.crop = 512 | ... | 1

}
На этом анализ основного шаблона закончен – далее рассмотрим дополнительные шаблоны сайта – шаблоны подразделов и шаблон с интегрированным php-скриптом.
Шаблоны для подразделов рассмотрим на примере самого простого – все они отличаются лишь тем, что title строится из разного количества уровней (кроме шаблона для раздела Абитуриенту – он особенный).
Код шаблона defTemplate1-2
Основные отличия данного шаблона:


  1. Он неполный – он наследует корневой шаблон и перегружает несколько его объектов.

  2. Поставлена галочка у свойства rootlevel – таким образом, меню строится для текущего подраздела

# Переопределение секции, которая находится над меню – замена ссылки на главную,

# текстовой ссылкой на главную страницу данного раздела.

page.6 = TEXT

page.6 {
# Свойство data – позволяет вытаскивать с помощью спец аргументов различные значения

# из БД. В данном случае вытаскивается заголовок страницы 0го для данного раздела

# уровня (т.е. той страницы, которой принадлежат текущие подстраницы).

data = leveltitle : 0

typolink {
# ссылка на главную страницу данного раздела

parameter.data = leveluid : 0


# по названию думаю понятно. Подробней в TSR

ATagBeforeWrap = 1

wrap = |

}

}


# Переопределение отображения свойства headerData

page.headerData.1 = COA


# Формирование заголовка из заголовков страниц от корня до текущей.

# Вытаскивается заголовок страницы на 2 уровня выше, затем на 1, затем текущий

page.headerData.1.1 = TEXT

page.headerData.1.1.data = fullRootLine : -1, title

page.headerData.1.1.wrap = | > </p> <p>page.headerData.1.2 = TEXT</p> <p>page.headerData.1.2.data = fullRootLine : 0, title </p> <p>page.headerData.1.2.wrap = | ></p> <p>page.headerData.1.3 = TEXT </p> <p>page.headerData.1.3.data = fullRootLine : 1, title</p> <p>page.headerData.1.3.wrap = |


Код шаблона defTemplate1-3-1 (раздел - Абитуриенту)

# рассмотрим только отличия от базового.

# Переопределение отображения меню

page.7 = HMENU

page.7.1 = TMENU

page.7.1 {

noBlur = 1

expAll = 0


# данное свойство означает, что подменю будут сворачиваться.

collapse = 1


# IFSUB = 1 – указание, что для страниц имеющих подстраницы будут использованы

# отдельные свойства.

# linkWrap – обрамление ссылки в меню. В данном случае подгружается изображение

# плюсика.

IFSUB = 1

IFSUB {


linkWrap =
развернуть |

ATagBeforeWrap = 1

}
# ACTIFSUB = 1 – указание, что для страницы имеющей подстраницы и являющейся

# «текущей» будут использованы отдельные свойства.

# linkWrap – обрамление ссылки в меню. В данном случае подгружается изображение

# минуса.

ACTIFSUB = 1

ACTIFSUB {

linkWrap =
развернуть |

ATagBeforeWrap = 1

}
NO.linkWrap =
|

SPC = 1


SPC.allwrap =
|

}
# Создание объекта для отображения 2го уровня меню. И задание стиля для ссылок

# данного подменю

page.7.2 = TMENU

page.7.2.noBlur = 1

page.7.2.NO.linkWrap =

|



Код шаблона phpContent: (страница погоды)

# Страница не кешируется. Необходимо для функ-ия

# данного способа подключения php скриптов.

config.no_cache = 1


# Убираем отображение контента для данной страницы.

page.10 = TEXT

page.10.value =  

page.28 = TEXT

page.28.value =


# Создаем объект типа PHP_SCRIPT – подробнее в TSR

page.30 = PHP_SCRIPT


# подключение скрипта. *.php должны быть заменены на *.inc или *.txt

page.30.file = fileadmin/informers/meteo/cm.inc


# wrap не работает для такого объекта .

page.38 = TEXT

page.38.value =


Сам php-скрипт для корректной работы должен быть приведен к виду.

Class ClassName {

function func1()

{

……………..



return $result;

}

}



$content = ClassName:: func1();

?>
Если обобщить:



  1. Должен быть класс и функция в нем, которая выводит что либо с помощью return.

  2. Должна быть определена переменная $content, которая и будет выводиться.

  3. Расширение файла должно быть .inc(.txt)



Похожие:

«Шаблоны основного сайта shgpi edu ru. Пояснения» iconИнструкция: «Азы работы в cms typo3 на shgpi edu ru»
Для того чтобы добавить, редактировать или удалить новость, страницу или подраздел Вы должны зарегистрироваться в административном...
«Шаблоны основного сайта shgpi edu ru. Пояснения» iconИнструкция: «Разделы и страницы в cms typo3 на shgpi edu ru»
Для того чтобы управлять содержимым портала, Вы должны зарегистрироваться в административном интерфейсе портала shgpi edu ru сейчас...
«Шаблоны основного сайта shgpi edu ru. Пояснения» iconТехническое Задание на разработку виртуального сайта
Все страницы и шаблоны разрабатываются согласно утвержденным эскизам. Эскизы предоставляются Исполнителем
«Шаблоны основного сайта shgpi edu ru. Пояснения» iconВопросы к экзамену по курсу "Основы программирования на C++"
Шаблоны функций. Вывод параметров шаблонов функций. Инстанцирование. Шаблоны и перегрузка функций
«Шаблоны основного сайта shgpi edu ru. Пояснения» iconЛабораторная работа №2 Изучение текстового процессора ms office Word Марков Д. А. Группа: 09-итд
Создаю шаблон нового документа – меню→создать→шаблоны→мои шаблоны→новый новый шаблон
«Шаблоны основного сайта shgpi edu ru. Пояснения» iconОсновные правила набора и оформления текста
Текст необходимо строить по определенной схеме. Обычно какой-либо документ или статья состоит из заголовка и основного текста, разбитого...
«Шаблоны основного сайта shgpi edu ru. Пояснения» iconУстав. Конституция. Закон. Правила. Alania23 Имя сайта. Имя сайта
Имя сайта «Alania23» – является неприкосновенным и может использоваться только с разрешения администрации, руководства или владельцев...
«Шаблоны основного сайта shgpi edu ru. Пояснения» iconОбщее описание сайта Содержание сайта На сайте отражается «своя» и «импортируемая»
Цель: привести внешний вид и функционал сайта в соответствие требованиям
«Шаблоны основного сайта shgpi edu ru. Пояснения» iconОбщее описание сайта Содержание сайта На сайте отражается «своя» и «импортируемая»
Цель: привести внешний вид и функционал сайта в соответствие требованиям
«Шаблоны основного сайта shgpi edu ru. Пояснения» iconБриф на разработку Веб-сайта Клиент: журнал «Досуг Moscow»
Пожелания к дизайну сайта: цветовая схема сайта должна быть выдержана в 4-х цветах
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org