[TYPO3] My own tt_news display item.
Mathias R. Wulff
mathias at RaWu.dk
Tue Aug 28 10:45:33 CEST 2007
Please let me know if my question is unclear!
- Mathias
Mathias R. Wulff skrev:
> Hi.
>
> I’m trying to make my own element in the tt_news list of what to display
> (In the list of latest, single, amenu, search, catmenu.....)
>
> I have succeeded in connecting with the hook in tt_news for this
> purpose, but tt_news expects some kind of object instead of a string as
> return value from my own script.
>
> so what have I done?:
>
> Created my own plugin in
> typo3conf/ext//mrw_newscal
>
> where
>
> the file
> typo3conf/ext//mrw_newscal/ext_tables.php
> contents
>
> <?PHP
> if (TYPO3_MODE=='BE') {
>
> $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['tt_news']['what_to_display'][] =
> array('LISTBYMONTH', 'LISTBYMONTH');
>
> }
> ?>
>
> seam to work correct. The element is shown in the list.
>
> ______________
>
> the file typo3conf/ext//mrw_newscal/ext_localconf.php
> contents
> <?php
> if (TYPO3_MODE!='BE')
> {
> require_once(t3lib_extMgm::extPath('mrw_newscal').'class.mrw_newscal.php');
> }
> $TYPO3_CONF_VARS['EXTCONF']['tt_news']['extraCodesHook'][] = 'mrw_newscal';
> ?>
>
> _____________
>
> Finally the file
> typo3conf/ext//mrw_newscal/class.mrw_newscal.php
> <?php
>
> require_once(PATH_tslib."class.tslib_pibase.php");
> class mrw_newscal extends tslib_pibase{
>
> function extraCodesProcessor($parentObject) {
> $content = "";
> switch($parentObject->theCode) {
> case "LISTBYMONTH":
> $content ="LISTBYMONTH works!";
> return $content;
> }
> }
> }
> ?>
>
> Where the return statement is a string.
>
> The output was suppose to be "LISTBYMONTH works!" but instead its an error:
>
> Fatal error: Call to a member function on a non-object in
> /typo3conf/ext/tt_news/pi/class.tx_ttnews.php on line 186
>
> hmm. The code in
>
> # line 182
> // Adds hook for processing of extra codes
>
> # line 183
> if
> (is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['tt_news']['extraCodesHook']))
> {
>
> # line 184
> foreach($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['tt_news']['extraCodesHook']
> as $_classRef) {
>
> # line 185
> $_procObj = & t3lib_div::getUserObj($_classRef);
>
> # line 186
> $content .= $_procObj->extraCodesProcessor($this);
>
> # line 187
> }
>
> # line 188
> } else {
>
>
> So the problem occurs in
> $content .= $_procObj->extraCodesProcessor($this);
>
> Probably because the line above
> $_procObj = & t3lib_div::getUserObj($_classRef);
>
> concatenates an existing object with the return from my
> extraCodesProcessor (a string).
>
> Does anybody know what kind of object to return?
>
>
> - Mathias
More information about the TYPO3-english
mailing list