Архив за ‘TypoScript'ing’ Category

Постраничный листер средствами TS без PHP и доп. расширений

Задача: Реализовать постраничное перелистование табличных данных, с навигационными кнопками «вперед», «назад», используя только средства typoscript
Реализация: Посредством контент элементов CONTENT, TEXT, LOAD_REGISTER, так же будут использованы функции stdWrap, if, select

Страница как картинка

Задача: вывести рендомносгенеренную страницу как картинку, адрес картинки будет http://example.com/img-page/, в настройке шаблона обязательно указать очистку всего TS-кода (Очистить: Constants Setup)

Вывод содержимого определенного TV-поля (типа content)

includeLibs.something = path/to/file/class.getTVContent.php
lib.tvRightCol = RECORDS
lib.tvRightCol {
source.cObject = USER
source.cObject{
userFunc = user_getTVContent->byCol
#Конфигурация
colName = col_right #Название поля как в DS
[...]

Удобный CONTENT

в этом примере я покажу как удобней всего (по мне так) организовать CONTENT объект при этом отделив данные от вида.

Динамический getText

Порой нужно в объекте типа getText (см. TSref стр. 9) вставить динамические данные. Например: есть замечательный, скажем так «getText» (поправьте если есть другое обозначение) – DB:
DB: Value from database, syntax is [tablename] :
[uid] : [field]. Any record from a table in TCA can be
selected here. Only marked-deleted records does not
return a value here
С помощью него [...]

LOAD_REGISTER = переменная ? Пример выборки списка системных страниц.

includeLibs.myFunc = path/to/your/func.php
 
page.1 = LOAD_REGISTER
page.1{
storage_pids.cObject = USER
storage_pids.cObject{
userFunc = user_func->getCurrentSysFolders
}
}
 
page.5 = TEXT
page.5.data = register:storage_pids
 
page.10 = TEXT
page.10.value = <br /><br />
 
page.15 = TEXT
page.15.dataWrap = <b>{register:storage_pids}</b>

IE ‘Не удалось открыть узел’, правильный baseurl

Проблема:
при определенных условиях IE6 выдает ошибку «Ну удалось открыть узел [url]» Операция прервана.

Решение:

[browser = msie6]
config.headerComment (
This is to allow IE6 to see Flash
–>
<base href="[url]"></base>
<!–
)
[else]
config.baseURL = [url]
[end]

Где [url] адрес вашего сайта.
Альтернативный вариант: решает проблему с прокси:

<base href="http://example.org/"><!–[if IE 6]></base><![endif]–>

Склоняем age для давности записи

Вот заморочился по поводу склонения age, может кому понадобится.
Если есть варианты оптимизации пишите ответом.

Сглаженное скругление углов для изображений

10 = IMAGE
10.file = GIFBUILDER
10.file{
XY = [10.w], [10.h]
 
10 = IMAGE
10.file = [путь до "скругляемого" файла]
 
20 = IMAGE
20.file = [путь до файла скругленного угла]
20.offset = 0,0
 
30 = IMAGE
30.file = [путь до файла скругленного угла]
30.file.params = -rotate 90
[...]

Настройки admPanel для работы с внешним редактором. Отключаем всё кеширование в режиме администратора

В своей работе я использую внешний редактор PSPAD, у него есть 2a очень не маловажных плюса:
1. Быстро открывается
2. Есть подсветка TS кода
Проблема в том что typo3 кеширует страницы, и здесь можно выделить 2 уровня кэширования:
1.На уровне контента (запись сгенерированного контента в таблице БД)
2.На уровне ts-шаблона (При первом обращение к узлу страницы с шаблоном, typo3 преобразует [...]