typo3 — включает содержимое скрипта php в typoscript

Я хочу включить вывод php-скрипта в typoscript, используя lib-объект …
Я с треском провалился 🙂

Я объявляю объект lib следующим образом:

TS:

includeLibs.bannerLib = fileadmin/banner/banner.php

lib.banner = USER
lib.banner{
userFunc = user_banner->user_showBanner
}

Затем мне нужно использовать переменную (?), Чтобы включить это в остальную часть TS:

{f:cObject(typoscriptObjectPath:lib.banner)}

Это наиболее вероятно, где это терпит неудачу. Я не использую жидкость, но я думаю, что f: cObject относится к шаблону жидкости?

Вот (очень простой) php-скрипт, который я использую:

class user_banner{

public $cObj;

/**
* Scans the files in the images folder
* for images and returns it, if present
*/

public function user_showBanner($content, $conf){

$images = scandir('images');
return implode(',', $images);

}
}

Что я делаю неправильно???
Я использую Typo3 4.6.x

[РЕДАКТИРОВАТЬ]

Страница была сделана каким-то треком T3, и весь контент обернут в некоторый lib-объект, а затем визуализирован с какой-то библиотекой (я думаю). Вот как это выглядит (частично):

lib{

markupBodyColumns {
1 >
2 {
value (
<div id="col2" class="col">

//here I try to insert my banner
<span class="bannerClass">{$lib.banner}</span>

<div class="pageTitle">
{renderLib:markupBodyPageTitle}
</div>
<div class="contentWraper">
<div class="content">
{renderLib:markupBody}
</div>
{renderLib:markupFooter}
</div>
</div>
)
}

}
[РЕДАКТИРОВАТЬ 2]

Хорошо, это сводит меня с ума … это действительно делает …

Первое исправление: я использую Typo3 4.6.x не так, как указано вначале 4.7.x

Я пытаюсь включить userFunc в typoscript, но он отказывается что-либо выкладывать.
PHP-функция (класс) сверху остается прежней. Функция в классе не вызывается вообще.

В опечатке я попробовал:

1-я попытка:

includeLibs.user_banner = fileadmin/banner/user_banner.php

lib.myBanner = USER_INT
lib.myBanner{
userFunc = user_banner->user_showBanner
}

page.100000 < lib.myBanner

Нет выхода вообще

2-я попытка:

page = PAGE
page.200000 = USER_INT
page.200000.userFunc = user_banner->user_showBanner

опять — не выводится …

Что, черт возьми, я делаю не так ???

0

Решение

Если вы не используете Fluid на своем веб-сайте, это не даст никакого результата, потому что

{f:cObject(typoscriptObjectPath:'lib.banner')}

является встроенной нотацией Fluid ViewHelper, которая может использоваться только в шаблонах Fluid.

С вашим TypoScript и userFunc вы получите возвращаемое значение showBanner, доступное в lib.banner. Вам просто нужно отобразить это где-то на сайте.

Если у вас есть объект PAGE на вашем веб-сайте, вы можете добавить его на свою страницу следующим образом:

page.20141031 < lib.banner

(Где 20141031 — это уникальный номер, который еще не используется для другой части вашего объекта PAGE.)

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]