Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   TypoScript практикум (http://forum.typo3.ru/forumdisplay.php?f=27)
-   -   Влияние TS на отдельный контентный элемент записи (Pagecontent) (http://forum.typo3.ru/showthread.php?t=3377)

thebat 12.05.2007 00:40

Влияние TS на отдельный контентный элемент записи (Pagecontent)
 
Вот это влияет на всю страницу и на все записи на этой страницы.
Код:

[globalVar = TSFE:id=10]
tt_content.image.20.1.params >
[global]

Теперь вопрос:
Какой нужно написать TS, что бы можно было влиять на отдельный (определенный пользователем) контентный элемент (запись / Pagecontent).

Я написал вот это:
Код:

[globalVar = DB:tt_content:446]
tt_content.image.20.1.params >
[global]

К сожалению, не сработало.

Прошу помощи у сообщества в решении этой проблемы.

Заранее благодарю,
Василий Мосийчук
http://www.TYPO3.net.ua

void 12.05.2007 03:58

Попробуйте такой конструкцией...

temp.img < tt_content.image
tt_content.image = CASE
tt_content.image.key.field = uid
tt_content.image.446 = TEXT
tt_content.image.446.value = тут ничего нет
tt_content.image.default < temp.img

thebat 12.05.2007 13:15

Это не подойдет, потому, что эта запись TS для шаблонного маркера (идентификатора), а мне нужно, что-то похоже на это

Код:

[globalVar = TSFE:id=10, TSFE:id=11, TSFE:id=12, ........]
tt_content.image.20.1.params >
[global]

..., но только для контентных элементов

Код:

[globalVar =  элемент 1, элемент 2, элемент 3, ..........]
tt_content.image.20.1.params >
[global]

Контентный элемент вставлен на страницу, как контент, не через TS.

Василий Мосийчук
http://www.TYPO3.net.ua

Pavel Antonov 12.05.2007 14:10

Через условия (condition) это не сделать.

Через CASE вполне можно сделать как и написал void.

P.S.: Если спрашиваете, так хоть смотрите что отвечают... а то придумали какие то "шаблонные маркеры"! Написано же tt_content.image как и Вас!

thebat 12.05.2007 17:00

Павел, к чему такая злость, ведь перед тем, как обратится к обществу, я пробовал поискать решение в сети и решить эту проблему самостоятельно, но, к сожалению, ничего так и не нашел.

То, что предложил Алексей, я прочел и испытал, но это к решению моей проблемы так и не привело.

Конструкция Алексея повлияет только на один контетный элемент (в примере uid:446), а что если мне нужно влияние на несколько контентных элементов (к примеру, uid:446, uid:447, uid:446, и так далее) которые размещены на разных страницах и количество этих элементов современен, будет расти? Что для каждого контентного элемента создавать предложенную Алексеем конструкцию?

PhilD 12.05.2007 17:39

Ну а если таких контент-элементов много, то их можно выделить например в отдельный FCE и настроить рендеринг внутри DS. Если же работаете с MTB - ввести отдельный маркер. Или написать экстеншен для нового контент-элемента.

void 12.05.2007 19:59

Эта конструкция, конечно, не идеальна. Вообще говоря, изменять рендеринг элементов содержимого по их uid - плохая идея. Взгляните на экстеншен content wrapper. Используйте в качестве ключа изменения рендеринга не uid, а какое-либо другое поле, например, section_frame.
В этом случае конструкция CASE вполне применима.

Pavel Antonov 13.05.2007 01:42

Цитата:

Сообщение от thebat (Сообщение 11961)
Павел, к чему такая злость, ведь перед тем, как обратится к обществу, я пробовал поискать решение в сети и решить эту проблему самостоятельно, но, к сожалению, ничего так и не нашел.

То, что предложил Алексей, я прочел и испытал, но это к решению моей проблемы так и не привело.

Во-первых, где злость? Факты (то что вы не прочли ответ или не поняли его) к злости отношения не имеют.

Цитата:

Сообщение от thebat (Сообщение 11961)
Конструкция Алексея повлияет только на один контетный элемент (в примере uid:446), а что если мне нужно влияние на несколько контентных элементов (к примеру, uid:446, uid:447, uid:446, и так далее) которые размещены на разных страницах и количество этих элементов современен, будет расти? Что для каждого контентного элемента создавать предложенную Алексеем конструкцию?

Опять же слушайте void-a 8=)
Только надо посмотреть что бы небыло конфликтов с отрисовкой фреймов (tt_content.stdWrap.innerWrap.cObject)

thebat 13.05.2007 22:20

Из того, что я выше прочел, я понял, что одной записью TS , решить эту проблему, я не смогу?

Возможно, что, я неправильно задал вопрос или не разъяснил, какую задачу хочу решить?

Задача проста: Мне нужно к картине прицепить class, но проблема в том, что этот class для некоторых картинок совсем другой. Есть картинки с большим размером по горизонтали class=”1”, а есть картинки с большим размером по вертикали class=”2”. Если картинки с class=”1” в одном контентном элементе на разны страницах, то решение простое…
Пример:

Код:

[globalVar = TSFE:id=10,TSFE:id=11,TSFE:id=12,TSFE:id=13,TSFE:id=14]
tt_content.image.20.1.params = class=”1”
[global]

…, а если картинки с class=”2” в разных контетных элементах и на разных страницах, то решения пока нет…

То, что предложено выше членами общества для меня пока непонятно и очень сложно реализовать, поскольку нет подходящего примера, а некоторые предложения хотят отдельного программирования, что для меня очень сложно, поскольку я не программист.

Нужно очень простое решение, к примеру, того, что уже есть для всей страницы…

Код:

[globalVar = TSFE:id=10,TSFE:id=11,TSFE:id=12,TSFE:id=13,TSFE:id=14]
tt_content.image.20.1.params = class=”1”
[global]

…, но только для отдельных контентных элементов.

Если такое невозможно. Тогда, пожалуйста, предложите, другое решение, но с примерами.

Просто не верится, что решение моей задачи для всей страницы есть и к тому же очень простое, а вот для отдельно контентного элемента нет. Почему?

PhilD 14.05.2007 00:09

в ОДНОМ контент-элементе могут быть картинки разных классов? если нет, то и TS не нужен в принципе! задаете для нужных элементов рамку (вручную, для каждого элемента - все проще чем переписывать все номера в TS) и пишите css каскад. ВСЕ!

Ответ на вопрос - почему нет. Условия определены на уровне страницы. На уровне контент-элементов действуют другие правила, там нет conditions, зато есть CASE.


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

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