1

我有 TYPO3 4.6,在 tempvoila 模板中我有打字稿对象路径lib.header,我想将插件的输出重定向到lib.header 我在 ext_localconf.php 中编写和配置的扩展库和插件,如下所示:

Tx_Extbase_Utility_Extension::configurePlugin(
   $_EXTKEY,
   'RandomPhotoSlideShow',
   array(
       'Photo' => 'randomPhotoSlideShow',
   ),
   // non-cacheable actions
    array(

        'Photo' => ''

    )
);

在 ext_tables.php 中像这样:

Tx_Extbase_Utility_Extension::registerPlugin(
    $_EXTKEY,
    'RandomPhotoSlideShow',
    'Gets random photos for slide show'
);

在打字稿模板中我有这个:

plugin.tx_gallery.widgets {
    papaWidget = USER
    papaWidget {
        userFunc = tx_extbase_core_bootstrap->run
       pluginName = RandomPhotoSlideShow
        extensionName = Gallery
        controller = Photo
        action = randomPhotoSlideShow
        switchableControllerActions {
                Photo {
                        1 = randomPhotoSlideShow
                }
        }

        settings =< plugin.tx_gallery.settings
        persistence =< plugin.tx_gallery.persistence
        view =< plugin.tx_gallery.view
        }
}

lib.header < plugin.tx_gallery.widgets.papaWidget

但是什么都没有显示,有人可以请教我哪里有错误,或者 TYPO3 4.6 中包含的 extbase 1.4 中是否有任何更改?

4

2 回答 2

1

我认为问题在于你的行为。您的控制器中真的有 randomPhotoSlideShowAction 吗?还要检查指定的 pluginName 是否正确。

请尝试指定您的索引或列表操作,看看会发生什么。

action = index
switchableControllerActions {
    Photo {
        1 = index
    }
}

如果您的操作是正确的,请确保您实际上从您的操作中返回了一些东西!

public function randomPhotoSlideShowAction(...) { 

    // [...]

    $this->view->assign('foo', 'bar');

    return $this->view->render();
}
于 2012-01-09T10:03:32.977 回答
0

您的代码看起来不错,唯一缺少的是其中的Controller部分(根据命名约定)

controller = PhotoController
于 2012-01-06T23:13:19.583 回答