TYPO3从类中呈现正文。访问lib.parseFunc_RTE时出错

TYPO3从类中呈现正文。访问lib.parseFunc_RTE时出错,typo3,Typo3,我有一个用于tt_内容的自定义cType,其中来自普通tt_内容的标题和正文字段被重用。目标是拥有一个定制的tt_内容cType,它只以正常方式显示标题和正文。但是我需要从php而不是TS来完成,因为我必须在返回文本之前处理文本 我可以将标题和正文作为原始文本输出,但无法使用pi_RTEcssText格式化正文。我每次尝试都失败了。无法访问parseFunc_RTE的内容 关于如何使用自定义类(不是前端插件)正确输出格式为bodytext的其他好主意。我已经尝试将tslib包含在$this->h

我有一个用于tt_内容的自定义cType,其中来自普通tt_内容的标题和正文字段被重用。目标是拥有一个定制的tt_内容cType,它只以正常方式显示标题和正文。但是我需要从php而不是TS来完成,因为我必须在返回文本之前处理文本

我可以将标题和正文作为原始文本输出,但无法使用pi_RTEcssText格式化正文。我每次尝试都失败了。无法访问parseFunc_RTE的内容

关于如何使用自定义类(不是前端插件)正确输出格式为bodytext的其他好主意。我已经尝试将tslib包含在$this->hObj中并将其存储在$this->cObj中,还尝试了使用相同result的普通$this->cObj

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>