Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   Доступ к TV field (http://forum.typo3.ru/showthread.php?t=7737)

romix 05.06.2009 05:27

Доступ к TV field
 
Господа, подскажите как реализовать?
есть структура страниц типа этой:

--level1.1 (menu)
|--level2.1 (TV-element [field=header,text,image])
|--level2.2 (TV-element [field=header,text,image])
|--level2.3 (TV-element [field=header,text,image])


Нужно сгенерить меню на первом уровне.
Но проблема в том что меню должно иметь картинки.
ОЧЕНЬ хорошо бы было чтобы картинку выбрать из ТВ поля.

Меню :
level2.1.FLEXIBLE_CONTENT(level2.1).field_image.

ТВ имеет вроде очень слабую возможность доступу извне и даже внутри проблема из контейнерами.

Ну вобщем можно нормально сделать в пейдж/ресоррсес добавить картинку и генерить меню но страниц много.

Кто что может подсказать ? Буду благодарен за ответы.

Pavel Antonov 07.06.2009 17:54

Цитата:

Сообщение от romix (Сообщение 24611)
Господа, подскажите как реализовать?
есть структура страниц типа этой:

--level1.1 (menu)
|--level2.1 (TV-element [field=header,text,image])
|--level2.2 (TV-element [field=header,text,image])
|--level2.3 (TV-element [field=header,text,image])


Нужно сгенерить меню на первом уровне.
Но проблема в том что меню должно иметь картинки.
ОЧЕНЬ хорошо бы было чтобы картинку выбрать из ТВ поля.

Меню :
level2.1.FLEXIBLE_CONTENT(level2.1).field_image.

ТВ имеет вроде очень слабую возможность доступу извне и даже внутри проблема из контейнерами.

Ну вобщем можно нормально сделать в пейдж/ресоррсес добавить картинку и генерить меню но страниц много.

Кто что может подсказать ? Буду благодарен за ответы.

Я бы рекомендовал крепить картинку к странице. Самый простой и эффективный метод.

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

void 07.06.2009 23:41

Рутлайн в любом случае кешируется, можно брать всё из кеша.

romix 09.06.2009 02:59

Сейчас есть около 1000 страниц, и вводить для каждой картинку мой напарник сильно бы не хотел))
потому просьба показать как это сделать на примере меню, если меню очень сложно то просто вывод картинок-ТВ из подстраниц. Пример можно глянуть тут
Спасибо.

Pavel Antonov 09.06.2009 16:05

Цитата:

Сообщение от void (Сообщение 24620)
Рутлайн в любом случае кешируется, можно брать всё из кеша.

Если бы еще все пункты меню попадали в рутлайн...
не вариант.

Pavel Antonov 09.06.2009 16:10

Цитата:

Сообщение от romix (Сообщение 24634)
Сейчас есть около 1000 страниц, и вводить для каждой картинку мой напарник сильно бы не хотел))
потому просьба показать как это сделать на примере меню, если меню очень сложно то просто вывод картинок-ТВ из подстраниц. Пример можно глянуть тут
Спасибо.

Я бы сделал так... выбрал бы все элементы через CONTENT и отобразил стандартными средствами TV, только для меню сделал бы свой TV-шаблон со своим типом (по аналогии с type=print).

romix 20.06.2009 05:26

Цитата:

Сообщение от Pavel Antonov (Сообщение 24638)
Я бы сделал так... выбрал бы все элементы через CONTENT и отобразил стандартными средствами TV, только для меню сделал бы свой TV-шаблон со своим типом (по аналогии с type=print).

Не сильно понимаю о чем речь, "выбрал бы все элементы через CONTENT"- это означает сделал слайс со все подстраниц на корневую через КБ_екст?
Дальше не понял, если можно то подробно. Можно со ссылками на ключевые вещи которые нужно знать.

Lucifer 20.06.2009 11:27

вот вырезка из какого то моего TS. Надеюсь, смысл понятен.
Код:


    1 = CONTENT
    1 {
    table = tt_content
    select {
      where="тип элемента и ПИД"
    }
  }
}


Pavel Antonov 20.06.2009 16:06

Цитата:

Сообщение от romix (Сообщение 24806)
Не сильно понимаю о чем речь, "выбрал бы все элементы через CONTENT"- это означает сделал слайс со все подстраниц на корневую через КБ_екст?
Дальше не понял, если можно то подробно. Можно со ссылками на ключевые вещи которые нужно знать.

Почитайте FTB. Здесь есть про то что такое тип в шаблона TV, на примере print version. Тип швблона означает что вы можете иметь несколько вариантов отображение одного и того же FCE: полная версия контента, отображение контента как строчка в меню и т.д.

Все это задается под-шаблонами основного шаблона, который может быть затем выбран при выводе FCE (в TS). Дополнительный тип шаблона TV создается через TSConfig, так как по умолчанию есть только один тип - "Print version".

Цитата:

Сообщение от Lucifer (Сообщение 24807)
вот вырезка из какого то моего TS. Надеюсь, смысл понятен.
Код:


    1 = CONTENT
    1 {
    table = tt_content
    select {
      where="тип элемента и ПИД"
    }
  }
}


Так, только тип относился к типу вложенного шаблона TV. Потребуется написать свой renderObj где указать в вызове TV нужный childTemplate.

Читайте тут:
http://accio.lv/en/services/for-typo...ndering-types/

romix 07.08.2009 06:29

lib.menu = CONTENT
lib.menu {
select {
pidInList = this
orderBy = sorting
}
table = tt_content
renderObj = USER
renderObj {
userFunc = tx_templavoila_pi1->main_record
ds = 2
to = 4
table = tt_content
}

подскажите какой же все таки должен быть ТС чтобы меню заработало.Исправте ошибки, если вобще это минамально по сути.
и еще как вывести весь контент с подстраниц типа слайд но в документации не нашел почему то.
Спасибо.


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

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