TYPO3从类中呈现正文。访问lib.parseFunc_RTE时出错
我有一个用于tt_内容的自定义cType,其中来自普通tt_内容的标题和正文字段被重用。目标是拥有一个定制的tt_内容cType,它只以正常方式显示标题和正文。但是我需要从php而不是TS来完成,因为我必须在返回文本之前处理文本 我可以将标题和正文作为原始文本输出,但无法使用pi_RTEcssText格式化正文。我每次尝试都失败了。无法访问parseFunc_RTE的内容 关于如何使用自定义类(不是前端插件)正确输出格式为bodytext的其他好主意。我已经尝试将tslib包含在$this->hObj中并将其存储在$this->cObj中,还尝试了使用相同result的普通$this->cObjTYPO3从类中呈现正文。访问lib.parseFunc_RTE时出错,typo3,Typo3,我有一个用于tt_内容的自定义cType,其中来自普通tt_内容的标题和正文字段被重用。目标是拥有一个定制的tt_内容cType,它只以正常方式显示标题和正文。但是我需要从php而不是TS来完成,因为我必须在返回文本之前处理文本 我可以将标题和正文作为原始文本输出,但无法使用pi_RTEcssText格式化正文。我每次尝试都失败了。无法访问parseFunc_RTE的内容 关于如何使用自定义类(不是前端插件)正确输出格式为bodytext的其他好主意。我已经尝试将tslib包含在$this->h
require_once(PATH_tslib . 'interfaces/interface.tslib_content_cobjgetsinglehook.php');
require_once(PATH_tslib . 'class.tslib_pibase.php');
class tx_cObj_ogProcessTtContent implements tslib_content_cObjGetSingleHook {
protected $cObj;
public function getSingleContentObject($contentObjectName, array $configuration, $TypoScriptKey, tslib_cObj &$parentObject) {
$this->cObj =& $parentObject;
// access to pibase
$this->hObj = new tslib_pibase(); // <-- did try with cObj with same result
// content from current tt_content element
$headerOfCE = $this->cObj->data['header'];
$bodytextOfCE = $this->cObj->data['bodytext'];
// header
$content = '<h1>'.$headerOfCE.'</h1>'; // <-- is there a wrap as header func?
// add bodytext (not possible since no access to lib.parseFunc_RTE)
$content .= $this->hObj->pi_RTEcssText($bodytextOfCE);
return $content;
}
}
require_once(路径_tslib.'interfaces/interface.tslib_content_cobjgetsinglehook.php');
require_once(路径_tslib.'class.tslib_pibase.php');
类tx_cObj_ogProcessTtContent实现tslib_content_cObjGetSingleHook{
受保护的$cObj;
公共函数getSingleContentObject($contentObjectName,数组$configuration,$TypoScriptKey,tslib_cObj和$parentObject){
$this->cObj=&$parentObject;
//访问pibase
$this->hObj=new tslib_pibase();//cObj->data['header'];
$bodytextOfCE=$this->cObj->data['bodytext'];
//标题
$content=''.$headerOfCE.';//hObj->pi_RTEcssText($bodytextOfCE);
返回$content;
}
}
对于这种简单的情况,不需要使用cObject钩子
您可以在typo3conf/extTables.php(AdditionalConfiguration.php)中注册一个新插件:
然后,您可以使用Page TSconfig将内容类型添加到“新建内容元素向导”:
mod.wizards.newContentElement.wizardItems {
mycontent {
icon = path/to/my_icon.gif
}
common.show := addToList(mycontent)
}
mod.wizards.newContentElement.wizardItems.common.elements.mycontent {
icon = path/to/my_icon.gif
title = My content
description = The description
tt_content_defValues {
CType = mycontent
}
}
然后你需要一些打字脚本来正确呈现内容。如果要使用tt_内容的渲染作为基础,请使用
tt_content.mycontent < tt_content.text
tt\u content.mycontent
然后,您可以(例如)操纵标题的呈现:
# delete the stdheader
tt_content.mycontent.10 >
tt_content.mycontent.10 = TEXT
tt_content.mycontent.10.field = header
tt_content.mycontent.10.wrap = <h1>|</h1>
#删除stdheader
tt_content.mycontent.10>
tt_content.mycontent.10=文本
tt_content.mycontent.10.field=标题
tt_content.mycontent.10.wrap=|
“有”是一个非常糟糕的描述。如果它不起作用,我们需要的是准确的错误,而不是“有问题的东西”。很明显,“某物”不起作用:-)。
# delete the stdheader
tt_content.mycontent.10 >
tt_content.mycontent.10 = TEXT
tt_content.mycontent.10.field = header
tt_content.mycontent.10.wrap = <h1>|</h1>