Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   Вопрос по шаблонизации Typo3 (http://forum.typo3.ru/showthread.php?t=10741)

mark2013 07.05.2013 18:16

Вопрос по шаблонизации Typo3
 
Добрый день всем участникам!

Я тут новый человек, с typo3 никогда вообще не работал. Но сейчас назрела необходимость внести изменения в вёрстке сайта на typo3. Сайт тестовый поэтому, к сожалению, не могу показать его. Суть в том, что мне человек сказал (с которым мы сотрудничаем) что шаблон находится по пути /fileadmin/template/main_template.tmpl.

Я глянул этот файл, сразу бросилось в глаза то, что на сайте много того, что в файле не прописано явно и нет шаблонных макросов. Обратился за разъяснениями, в результате посмотрел страницу "Шаблоны" в админке. Но там тупо настройки, а где всё-таки лежит html-код? Я сам программист поэтому понимаю, что шаблон генериться из воздуха не может, настройки настройками, но сам html где-то должен быть прописан.

Где же?

P.S. Да, не дописал, версия CMS 4.5.

-=UncleByte=- 07.05.2013 19:59

Вполне может быть что в TS шаблоне есть ответ на вопрос откуда что берется. Смотрите основной шаблон и подключаемые к нему дополнительные. И это может быть не в чистом виде html, но контент-элементы, описание подробное смотрите в TSRef, есть и русская версия и здесь на typo3.ru и на typo3.org.

mark2013 07.05.2013 20:12

Вы имеете в виду макросы типа <!--###TEMPLATE###--> ?

-=UncleByte=- 07.05.2013 20:26

Это не макрос - это метка для шаблонизатора, а в TS указано что выводится вместо этой метки.

mark2013 08.05.2013 13:15

Ну хорошо, вот абсолютно конкретный вопрос:

В коде страницы имеется:
Код:

<?xml version="1.0" encoding="utf-8"?>
в коде файла такого нет. И никаких псевдо-указаний там тоже нет. Чем объяснить?

mark2013 08.05.2013 13:35

Ещё одна вещь, которой я в упор не понимаю:

Есть код:

Код:

temp.mainTemplate {
  template = FILE
  template.file = fileadmin/template/main_template.tmpl

Но правка указанного файла ничего не даёт, и на сайте размещено совсем не то, что указано в файле. Я просто хочу понять причину...

Ивано++ 08.05.2013 18:02

Возможно если Вы выложите полный код - то Вам помогут быстрее.

mark2013 08.05.2013 18:04

Полный код чего конкретно?

Ивано++ 08.05.2013 18:05

Цитата:

Сообщение от mark2013 (Сообщение 36325)
Ещё одна вещь, которой я в упор не понимаю:

Есть код:

Код:

temp.mainTemplate {
  template = FILE
  template.file = fileadmin/template/main_template.tmpl

Но правка указанного файла ничего не даёт, и на сайте размещено совсем не то, что указано в файле. Я просто хочу понять причину...


Вот этого...
Typoscript

mark2013 08.05.2013 18:18

TypoScript:

Код:

config {
  doctype = xhtml_trans 
  index_enable = 1        # for pages
  index_externals = 0    # for documents
  no_cache = 0
  language = ru
  locale_all = ru_RU.UTF-8
  baseURL = http://url
  simulateStaticDocuments = 0
  tx_realurl_enable = 1
  admPanel = 1
}

page = PAGE
page.includeCSS {
  file1 = fileadmin/html/css/style.css
  file2 = fileadmin/html/css/paginator.css
  file3 = fileadmin/html/css/galleryview.css
  lightbox = fileadmin/html/css/lightbox.css
}

page.headerData.100 = TEXT
page.headerData.100.value = <script type="text/javascript" src="http://userapi.com/js/api/openapi.js?20"></script>

page.headerData.150 = TEXT
page.headerData.150.value = <!--[if gte IE 9]> <script type="text/javascript"> Cufon.set('engine', 'canvas'); </script> <![endif]-->

page.headerData.200 = TEXT
page.headerData.200.value = <script type="text/javascript" src="fileadmin/html/js/jquery.document.ready.js"></script>

page.headerData.300 = TEXT
page.headerData.300.value = <link rel="shortcut icon" href="favicon.ico" />

page.includeJS {
  file0 = http://userapi.com/js/api/openapi.js?20
  file1 = fileadmin/html/js/jquery-1.7.2.min.js
  file2 = fileadmin/html/js/cufon-yui.js
  file3 = fileadmin/html/js/BlissPro_400-BlissPro_700.font.js
  file4 = fileadmin/html/js/jquery.pngFix.js
  file5 = fileadmin/html/js/ddaccordion.js
  file6 = fileadmin/html/js/paginator.js
  file7 = fileadmin/html/js/jquery.easing.1.3.js
  file8 = fileadmin/html/js/jquery.galleryview-1.1.js
  file9 = fileadmin/html/js/jquery.timers-1.2.js
  // file10 = fileadmin/html/js/galleria.js
  file20 = fileadmin/html/js/loopedslider.js
  file21 = fileadmin/html/js/google-analytics.js
  lightbox =  fileadmin/html/js/lightbox.js
}


###
#  Top menu setup
###
temp.menu_1 = HMENU
temp.menu_1.excludeUidList = 40
  # First level menu-object, textual
temp.menu_1.1 = TMENU
temp.menu_1.1 {
  expAll = 1
  noBlur = 1
  wrap = <div class="main_menu"> | </div>
  ACT = 1
  IFSUB = 1
  ACTIFSUB = 1
  NO.allWrap = <div class="allmenu"> | </div>
  ACT.allWrap = <div class="allmenu active"> | </div>
  IFSUB.allWrap = <div class="headerbar"> | </div>
  ACTIFSUB.allWrap = <div class="headerbar active"> | </div>
}
  # Second level menu-object, textual
temp.menu_1.2 = TMENU
temp.menu_1.2 {
  noBlur = 1
  wrap = <ul class="submenu"> | </ul>
    # Normal state properties
  NO.allWrap = <li> | </li>
    # Enable active state and set properties:
  CUR = 1
  CUR.allWrap = <li class="active"> | </li>
 
  SPC = 1
  SPC {
  wrapItemAndSub = <li><hr /><div style="display:none">|</div></li>
  }
}

###
# Bottom menu setup
###

temp.menu_2 = HMENU
temp.menu_2.excludeUidList = 19, 20, 21, 22, 24, 290, 23
temp.menu_2.wrap = |
  # First level menu-object, textual
temp.menu_2.1 = TMENU
temp.menu_2.1 {
 
  expAll = 1
  noBlur = 1
  ACT = 0
  NO = 1
  NO.wrapItemAndSub = <div class="fl_left"> | </div>
    # Normal state properties
  NO.allWrap = <div class="footer_title"><b> | </b></div>
  IFSUB = 1
  IFSUB.wrapItemAndSub = <div class="fl_left"> | </div>
  IFSUB.allWrap = <div class="footer_title"><b> | </b></div> 
 
}
  # Second level menu-object, textual
temp.menu_2.2 = TMENU
temp.menu_2.2 {
  noBlur = 1
  wrap = <ul> | </ul>
    # Normal state properties
  NO.allWrap = <li> | </li>
    # Enable active state and set properties:
  CUR = 1
  CUR.allWrap = <li> | </li>
}

temp.menu_3 = HMENU
temp.menu_3.wrap = |
temp.menu_3.excludeUidList = 3, 10, 13, 25, 23, 40, 125
  # First level menu-object, textual
temp.menu_3.1 = TMENU
temp.menu_3.1 {
 
  expAll = 1
  noBlur = 1
  IFSUB = 0
  NO = 1
  NO.wrapItemAndSub = <div class="fl_left"> | </div>
  NO.allWrap = <div class="footer_title"><b> | </b></div>
  ACT < NO 
}

###
# Banners setup
###
plugin.tx_macinabanners_pi1.image.file.maxW = 10000
plugin.tx_macinabanners_pi1.image.file.maxH = 65

lib.banners < plugin.tx_macinabanners_pi1
lib.banners {
  # show banners with this attribute, default options are: "top, left, bottom, right", all  Descriptions of Banner Categories can be used
  placement = 1
  templateFile = fileadmin/template/banners.tmpl
  #mode to show banners. Options are: all, random
  mode = all

  # list of page IDs where the banners should be taken from (comma seperated. i.e.: 1,5,7)
  pidList = 32

  # levels of recursion to search for banners
  recursive = 0

  # Limit number of banners
  results_at_a_time = 2000
}

lib.banners2 < plugin.tx_macinabanners_pi1
lib.banners2 {
  # show banners with this attribute, default options are: "top, left, bottom, right", all  Descriptions of Banner Categories can be used
  placement = 4
        templateFile = fileadmin/template/banners.tmpl
  #mode to show banners. Options are: all, random
  mode = all

  # list of page IDs where the banners should be taken from (comma seperated. i.e.: 1,5,7)
  pidList = 32

  # levels of recursion to search for banners
  recursive = 0

  # Limit number of banners
  results_at_a_time = 2000
}

lib.banners3 < plugin.tx_macinabanners_pi1
lib.banners3 {
  # show banners with this attribute, default options are: "top, left, bottom, right", all  Descriptions of Banner Categories can be used
  placement = 5
  templateFile = fileadmin/template/banners_01.tmpl
  #mode to show banners. Options are: all, random
  mode = all
  image.file.maxW = 340
  image.file.maxH = 10000 
  # list of page IDs where the banners should be taken from (comma seperated. i.e.: 1,5,7)
  pidList = 32

  # levels of recursion to search for banners
  recursive = 0

  # Limit number of banners
  results_at_a_time = 2000
}

lib.partners < plugin.tx_macinabanners_pi1
lib.partners {
  # show banners with this attribute, default options are: "top, left, bottom, right", all  Descriptions of Banner Categories can be used
  placement = 2
        templateFile = fileadmin/template/banners.tmpl
  #mode to show banners. Options are: all, random
  mode = all

  # list of page IDs where the banners should be taken from (comma seperated. i.e.: 1,5,7)
  pidList = 32

  # levels of recursion to search for banners
  recursive = 0

  # Limit number of banners
  results_at_a_time = 2000
}

lib.ipartners < plugin.tx_macinabanners_pi1
lib.ipartners {
  # show banners with this attribute, default options are: "top, left, bottom, right", all  Descriptions of Banner Categories can be used
  placement = 3
        templateFile = fileadmin/template/banners.tmpl
  #mode to show banners. Options are: all, random
  mode = all

  # list of page IDs where the banners should be taken from (comma seperated. i.e.: 1,5,7)
  pidList = 32

  # levels of recursion to search for banners
  recursive = 0

  # Limit number of banners
  results_at_a_time = 2000
}

###
# Gallery setup
###
plugin.tx_jmgallery_pi1 {
pagebrowser.enable = 0
  list_pid = 125
  album_pid = 127
  #    single_pid = 13
  admin {
    repositoryRoot = 14
    basePath = fileadmin/gallery/
  }
  _LOCAL_LANG.default {
    pagesText = Перейти на страницу
    displayAll = все
  }
}
plugin.tx_wtgallery_pi1 {
  template.list = fileadmin/template/gal_list.html
  list {
    width = 285
    height = 189
    border = 0
    image.imageLinkWrap.enable = 0
  }
}

###
# News settings
###

plugin.tt_news.templateFile = fileadmin/template/news.tmpl
plugin.tt_news {
  singlePid = 33
  displayLatest.image {
    file.maxW = 282
    file.maxH = 0
  }
  displayList.image {
    file.maxW = 282
    file.maxH = 0
  }
}

###
# Events setup
###
plugin.tx_cal_controller.view.dateFormat = %d %B
plugin.tx_cal_controller {
  view.list.heading.1.strftime = %d %B
  view.list.event.dateFormat = %d %B
  view.dateFormat = %d %B %Y
  view.event.event.eventDateFormat = %d %B %Y
  view.event.event.dateFormat = %d %B %Y
}
temp.cominsoon = COA
temp.cominsoon {
  10 = RECORDS
  10.tables = tt_content
  10.source = 35
}

temp.toolate = COA
temp.toolate {
  10 = RECORDS
  10.tables = tt_content
  10.source = 34
}

temp.calendar = COA
temp.calendar {
  10 = RECORDS
  10.tables = tt_content
  10.source = 31
}

###
# Feedback setup
###

temp.newmember = COA
temp.newmember {
  10 = RECORDS
  10.tables = tt_content
  10.source = 37
}

temp.another_counters = COA
temp.another_counters {
  10 = RECORDS
  10.tables = tt_content
  10.source = 727
}

###
# search settings
###

plugin.tx_indexedsearch.templateFile = fileadmin/template/indexed_search.tmpl
temp.content = COA
temp.content {
  10 < styles.content.get
}
[PIDupinRootline = 49]
temp.content {
  20 = RECORDS
  20.tables = tt_content
  20.source = 413
}
[GLOBAL]

###
# main template setup
###

temp.mainTemplate = TEMPLATE
temp.mainTemplate {
  template = FILE
  template.file = fileadmin/template/main_template.tmpl
  workOnSubpart = MAINTEMPLATE
  subparts.MAINMENU < temp.menu_1
#  subparts.SEARCHFORM < plugin.tx_indexedsearch
#  subparts.CONTACTS < lib.contacts
  subparts.MIDCONTENT < temp.content
#  subparts.LEFTCONTENT < styles.content.getLeft
#  subparts.RIGHTCONTENT < styles.content.getRight
  subparts.BOTTOMMENU < temp.menu_2
  subparts.BOTTOMMENU1 < temp.menu_3
  subparts.BANNERS < lib.banners
  subparts.BANNERS2 < lib.banners2
  subparts.PARTNERS < lib.partners
  subparts.IPARTNERS < lib.ipartners
  subparts.COMINSOON < temp.cominsoon
  subparts.TOOLATE < temp.toolate
  subparts.CALENDAR < temp.calendar
  subparts.NEWMEMBERFORM < temp.newmember
  subparts.NEWMEMBERFORM >
  subparts.NEWMEMBERFORM = TEXT
  subparts.NEWMEMBERFORM.value =
  subparts.NEWBANNERS < lib.banners3
  subparts.webdev < {$webdev}
  subparts.ANOTHER_COUNTERS < temp.another_counters
}
#page.10 < temp.headerTemplate
page.10 < temp.mainTemplate
lib.stdheader.stdWrap.dataWrap = <div class="title csc-header csc-header-n{cObj:parentRecordNumber}">|</div>
lib.stdheader.stdWrap.dataWrap = <div class="csc-header csc-header-n{cObj:parentRecordNumber}">|</div>
plugin.tx_jmgallery_pi1.thumbnail.file.maxW = 120
plugin.tx_jmgallery_pi1.thumbnail.file.maxW = 285
plugin.tx_jmgallery_pi1.display.ALBUM.pagebrowser.enable = 0
plugin.tt_news.displayList.listImageMode = resize
plugin.tt_news.displayLatest.latestImageMode = resize
plugin.tx_jmgallery_pi1.display.ALBUM.pagebrowser.enable = 1
plugin.tx_jmgallery_pi1.pagebrowser = 1
plugin.tx_jmgallery_pi1.display.ALBUM.pagebrowser.limit = 10
plugin.tx_jmgallery_pi1.display.LIST.dateWrap.strftime = %e %B %Y
config.baseURL = http://url



Часовой пояс GMT +4, время: 21:08.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot