我需要在PHP中构建一个Typoscript文件,然后执行该脚本以获取给定页面的内容。 这是我的代码:
if (!defined('PATH_typo3conf')) die ('Could not access this script directly!');
class ContentHandler extends tslib_cObj
{
var $conf;
public function __construct()
{
tslib_eidtools::connectDB();
}
public function main()
{
$this->createConf(16);
$code = $this->cObjGet($this->conf);
echo "<pre>";
print_r($this->conf);
echo "</pre>";
echo "<pre>";
echo "code: " . $code;
echo "</pre>";
}
protected function createConf($pid)
{
$this->conf = array(
'foo' => 'CONTENT',
'foo.' => array(
'table' => 'tt_content',
'select.' => array(
'pidInList' => $pid,
'languageField' => 0,
),
'renderObj' => 'COA',
'renderObj.' => array(
'stdWrap.' => array(
'wrap' => '<b>|</b>',
),
'10' => 'TEXT',
'10.' => array(
'field' => 'header',
'wrap' => '<h3>|</h3>',
),
'20' => 'TEXT',
'20.' => array(
'field' => 'bodytext',
'wrap' => '<b>|</b>',
),
),
)
);
}
}
我认为typosript很好,但我没有得到任何回报。我检查一个简单的mysql_query(),它返回内容。但我需要用typoscript来做这件事。
任何帮助表示赞赏!
编辑:这不是一个实际的扩展脚本,但它在EXT /文件夹中。
答案 0 :(得分:3)
您的TypoScript不正确。看看API(http://api.typo3.org/typo3v4/current/html/classtslib__c_obj.html#ab70d69a447f24f7416a85e7de1cb4ffb)。而不是“foo”,你必须定义一个数字键“10”。
$this->conf = array(
'foo' => 'CONTENT',
'foo.' => array(
应该做的。
顺便说一下: 你需要tslib_eidtools :: connectDB();只有,如果您使用的是eID脚本。