Просмотр полной версии : Изменить значение элемента по uid
Использую css_style_content
В нем формируются и оформляются элементы контента для страницы.
На одной из страниц создана текстовая запись с header и bodytext.
Ее uid №503.
Как средствами typoscript можно обратится в css_style_content конкретно к данной записи и поменять к примеру обертку заголовка на другую, отличную от других?
Для меню видел что обращение к конкретному элементу делается как-то так: cobject.uid.343 (номер uid) = TEXT cobject.uid.343.value = Hellow.
И в данном пункте меню не производится далее формирование меню, а выводится Hellow.
Уточнение:
Вот код из EXT:css_styled_content/static/v4.6/
tt_content >
tt_content = CASE
tt_content.key.field = CType
tt_content.stdWrap {
innerWrap.cObject = CASE
...
...
...
...
...
Как можно обратится к элементу контента с uid 503 - и создать настройки именно под него?:confused:
Андрей Аксенов
24.10.2012, 12:23
Как-то все не туда...
А не проще выбрать эту запись при помощи TS и вывести как нужно?
http://typo3.org/documentation/document-library/core-documentation/doc_core_tsref/4.7.0/view/1/7/#id783193
То есть через SELECT или RECORD по id выбираете нужный объект, а потом уже переопределяете нужные свойства, а как они определены, можно глянуть в css_styled_content, и по образу и подобию tt_content.default переопределить выводимое.
tt_content.myconf = COA
tt_content.myconf < tt_content.default
tt_content.myconf {
...
}
lib.mycontent = RECORDS
lib.mycontent.tables = tt_content
lib.mycontent.source = {$mycontent_record_id}
lib.mycontent.conf.tt_content < tt_content.myconf
dmartynenko
24.10.2012, 12:23
обертку заголовка на другую, отличную от других
В каждом CE есть поле "тип заголовка" (section_frame), туда можно добавить свои варианты. А потом использовать значение поля для вывода других оберток.
В PageTS (именно PageTS!!!) добавляете например:
# for third 240px-width column
TCEFORM.tt_content.section_frame {
addItems.100 = Like a Plan
addItems.110 = Gray Rectangle
addItems.120 = Rounded Gray Rectangle
addItems.130 = Yellow Page
addItems.140 = Empty Rectangle
addItems.150 = Thick Rectangle Frame
}
Потом добавляете вывод в TS Setup:
# make content definition separatly for each column
temp.customRender = CASE
temp.customRender.key.field = colPos
temp.customRender.0 < tt_content
temp.customRender.1 < tt_content
temp.customRender.2 < tt_content
temp.customRender.3 < tt_content
temp.customRender.default < tt_content
tt_content >
tt_content < temp.customRender
tt_content.0.textpic.20 < tt_content.0.image.20
tt_content.0.textpic.20.text.20 < tt_content.0.text.20
tt_content.1.textpic.20 < tt_content.1.image.20
tt_content.1.textpic.20.text.20 < tt_content.1.text.20
tt_content.2.textpic.20 < tt_content.2.image.20
tt_content.2.textpic.20.text.20 < tt_content.2.text.20
tt_content.3.textpic.20 < tt_content.3.image.20
tt_content.3.textpic.20.text.20 < tt_content.3.text.20
tt_content.default.textpic.20 < tt_content.default.image.20
tt_content.default.textpic.20.text.20 < tt_content.default.text.20
# define special rendering for right column
tt_content.2.stdWrap {
dataWrap = <div class="ce layout-{field:header_layout}">|</div>
innerWrap.cObject {
default = TEXT
default.value = <div class="frame-plan">|</div>
100 = TEXT
100.value = <div class="frame-plan">|</div>
110 = TEXT
110.value = <div class="frame-rect-gray">|</div>
130 = TEXT
130.value = <div class="frame-page-yellow">|<div class="bottom"></div></div>
140 = TEXT
140.value = <div class="frame-empty">|</div>
150 = TEXT
150.value = <div class="frame-border">|</div>
}
}
В данном случае пример усложнен из-за того, что делается добавление новых типов заголовков только для "правой" колонки.
Но если вам нужно гллобально, или вы используете TV, то можете просто переопределять tt_content.stdWrap
Работает на vBulletin® версия 3.8.1. Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot