PDA

Просмотр полной версии : Контент по умолчанию


tihon
25.08.2005, 03:13
Этот вопрос уже обсуждался здесь
http://www.typo3.ru/evelopment+M54e69927a0f.html

был дан совет использовать такую конструкцию:

marks.CONTENT < styles.content.get
marks.CONTENT.ifEmpty.cObject < styles.content.get
marks.CONTENT.ifEmpty.cObject.select.pidInList = {$firstpage.pid}

но она почему то не работет...
если не трудно объясните почему.
Кстати я не очень понял зачем здесь нужнен cObject я имею ввиду после ifEmpty

Спасибо.

Andreas Schwarzkopf
25.08.2005, 12:23
firstpage.pid = 1

нужно вставить это в CONSTANTS. Цифру заменить на ту, где хранятся заготовки контента.

ifEmpty - нужно в том случае, если контент импортируется только если на данной страницы контента нет.

Если импортированный контент должен быть виден всегда и находится на определенной странице, скажем id=50 то пример можно упростить, скажем для правой колонки (styles.content.getRight):

marks.CONTENT < styles.content.getRight
marks.CONTENT.select.pidInList = 50

tihon
29.08.2005, 23:38
про ifEmpty понятно, мне не понятно было зачем нужнj писать cObject... это же тип...
вот то что у меня сейчас:

LOGO < styles.content.getBorder
LOGO.ifEmpty < styles.content.getBorder
LOGO.ifEmpty.select.pidInList = {$fp.pid}

если контент в поле Border есть, то выводит его, если нет, то ничего не выводит... в поле Border страници с pid = {$fp.pid} находится картинка...

Andreas Schwarzkopf
30.08.2005, 00:21
Смысл был примерно такой - грузи getBorder (объект типа CONTENT). Если объект пустой, грузи другой объект (ifEmpty.cObject). У тебя же объект грузится просто в условие, то есть синтактически не правильно. Не удивительно, что ничего не показывает.

Кстати, в примере с самого начала была ошибка. Сейчас посмотрел, как там на самом деле - это должно быть так:

LOGO < styles.content.getBorder
LOGO.stdWrap.ifEmpty.cObject < styles.content.getBorder
LOGO.stdWrap.ifEmpty.cObject.select.pidInList = {$fp.pid}

tihon
01.09.2005, 03:11
так работает....
но все равно не оч. понятно :(

может ссылку про условия а ?
:)

Andreas Schwarzkopf
01.09.2005, 12:08
Как и все остальное ключик лежит в основном справочнике TSRef:
http://typo3.org/documentation/document-library/doc_core_tsref/stdWrap/

tihon
01.09.2005, 18:38
спасибо
вроде там и читал...

щас перечитаем :))

ibmed
08.09.2005, 23:32
А для сайта, который сделан с использованием темплавиола как быть? :)

ibmed
09.09.2005, 00:56
Все, разобрался..
Правда тыком к сожалению. Но один фиг - если вдруг кому-то поможет - то у меня заработало так:

Идем в список. В папку-хранилище с DS. Щелкаем на DS. Выбираем правку. Находим в XML-коде нужный контент-элемент, в нем находим ячейку <TypoScript>

Внутри нее ставим такой код:
10= RECORDS
10.tables = tt_content
10.source.current=1
10.source.ifEmpty=2

Где 2 в данном случае - id того контент-элемента, который должен быть по умолчанию.

На правильность, разумеется, не претендую :) Если есть более правильные методы - прошу описать.

relax..
10.12.2005, 05:38
Этот вопрос уже обсуждался здесь
http://www.typo3.ru/evelopment+M54e69927a0f.html

был дан совет использовать такую конструкцию:

marks.CONTENT < styles.content.get
marks.CONTENT.ifEmpty.cObject < styles.content.get
marks.CONTENT.ifEmpty.cObject.select.pidInList = {$firstpage.pid}

но она почему то не работет...
если не трудно объясните почему.
Кстати я не очень понял зачем здесь нужнен cObject я имею ввиду после ifEmpty

Спасибо.

Тут забыли дописать ".stdWrap". Работать будет так:

marks.CONTENT < styles.content.get
marks.CONTENT.stdWrap.ifEmpty.cObject < styles.content.get
marks.CONTENT.stdWrap.ifEmpty.cObject.select.pidIn List = {$firstpage.pid}