TYPO3 4.6 включает плагин extbase с опечаткой - PullRequest
1 голос
/ 06 января 2012

У меня TYPO3 4.6, в шаблоне tempvoila у меня есть путь к объекту Typoscript 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'
);

и в шаблоне Typoscript у меня есть это:

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

Но ничего не отображается, может кто-нибудь посоветовать, где у меня ошибка или если что-то изменилось в extbase 1.4, включенном в TYPO3 4.6?

Ответы [ 2 ]

1 голос
/ 09 января 2012

Я думаю, что проблема в твоих действиях. Действительно ли в вашем контроллере есть функция randomPhotoSlideShowAction? Также проверьте правильность указанного имени плагина.

Пожалуйста, попробуйте указать свой индекс или список действий и посмотреть, что произойдет.

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

Если ваше действие правильное, убедитесь, что вы действительно что-то возвращаете из своего действия!

public function randomPhotoSlideShowAction(...) { 

    // [...]

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

    return $this->view->render();
}
0 голосов
/ 07 января 2012

Ваш код выглядит хорошо, единственное, чего не хватает, это части Controller (согласно соглашению об именах) в

controller = PhotoController
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...