Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Общие вопросы (http://forum.typo3.ru/forumdisplay.php?f=12)
-   -   Контент по умолчанию (http://forum.typo3.ru/showthread.php?t=202)

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

re: Контент по умолчанию
 
Цитата:

Сообщение от styx
Этот вопрос уже обсуждался здесь
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}


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

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