本文整理汇总了PHP中TYPO3\CMS\Extbase\Mvc\Controller\ActionController类的典型用法代码示例。如果您正苦于以下问题:PHP ActionController类的具体用法?PHP ActionController怎么用?PHP ActionController使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ActionController类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: initializeView
/**
* Initializes the view before invoking an action method.
*
* Override this method to solve assign variables common for all actions
* or prepare the view in another way before the action is called.
*
* @param \TYPO3\CMS\Extbase\Mvc\View\ViewInterface $view The view to be initialized
* @return void
* @api
*/
protected function initializeView(\TYPO3\CMS\Extbase\Mvc\View\ViewInterface $view)
{
$this->contentObject = $this->configurationManager->getContentObject();
$this->contentObjectData = $this->contentObject->data;
$this->data['parent'] = $this->contentObjectData;
$view->assign('data', $this->data);
if ($this->settings['region']['htmlTag_langKey']) {
$this->region = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode('_', $this->settings['region']['htmlTag_langKey']);
$this->region = $this->region[1];
} else {
$this->region = $this->settings['region']['default'];
}
$view->assign('region', $this->region);
parent::initializeView($view);
if (count($this->settings['javascript']['load']) > 0) {
foreach ($this->settings['javascript']['load'] as $key => $value) {
if ($value['enable']) {
$src = $value['src'];
if ($key == 'googleMapsApi') {
$src .= '&language=' . ($this->settings['region']['htmlTag_langKey'] ? $this->settings['region']['htmlTag_langKey'] : $this->settings['region']['default']);
}
if ($key == 'googleMapsApi' && '' != $this->settings['general']['google']['apikey']) {
$src .= '&key=' . $this->settings['general']['google']['apikey'];
}
$this->response->addAdditionalHeaderData($this->wrapJavascriptFile($src));
}
}
}
}
示例2: initializeView
/**
* Initializes the module view.
*
* @param ViewInterface $view The view
* @return void
*/
protected function initializeView(ViewInterface $view)
{
$extPath = $this->getRelativeExtensionPath() . 'Resources/Public/CSS/';
// Skip, if view is initialized in non-backend context
if (!$view instanceof BackendTemplateView) {
return;
}
parent::initializeView($view);
if ($this->actionMethodName === 'indexAction') {
$view->getModuleTemplate()->getPageRenderer()->addCssFile($extPath . 'fullcalendar.min.css');
$view->getModuleTemplate()->getPageRenderer()->addCssFile($extPath . 'scheduler.min.css');
$view->getModuleTemplate()->getPageRenderer()->addCssFile($extPath . 'index.css');
$view->getModuleTemplate()->getPageRenderer()->loadRequireJsModule('TYPO3/CMS/Sessions/Contrib/fullcalendar');
$view->getModuleTemplate()->getPageRenderer()->loadRequireJsModule('TYPO3/CMS/Sessions/Contrib/scheduler');
$view->getModuleTemplate()->getPageRenderer()->addRequireJsConfiguration(['paths' => ['sightglass' => $this->getRelativeExtensionPath() . 'Resources/Public/JavaScript/Contrib/sightglass'], 'shim' => ['TYPO3/CMS/Sessions/Contrib/scheduler' => ['deps' => ['TYPO3/CMS/Sessions/Contrib/fullcalendar']], 'TYPO3/CMS/Sessions/Contrib/rivets' => ['deps' => ['sightglass']]]]);
}
if ($this->actionMethodName === 'manageAction') {
$view->getModuleTemplate()->getPageRenderer()->addCssFile($extPath . 'manage.css');
$view->getModuleTemplate()->getPageRenderer()->loadRequireJsModule('TYPO3/CMS/Sessions/Contrib/uri-templates');
}
if (!in_array($this->actionMethodName, $this->actionsWithoutMenu)) {
$this->generateModuleMenu();
$this->generateModuleButtons();
}
}
示例3: callActionMethod
/**
* Calls the specified action method and passes the arguments.
*
* If the action returns a string, it is appended to the content in the
* response object. If the action doesn't return anything and a valid
* view exists, the view is rendered automatically.
*
* @return void
* @api
*/
protected function callActionMethod()
{
parent::callActionMethod();
if (isset($this->feedFormats[$this->request->getFormat()])) {
$this->sendHeaderAndFilename($this->feedFormats[$this->request->getFormat()], $this->request->getFormat());
}
}
示例4: initializeView
/**
* Initializes the module view.
*
* @param ViewInterface $view The view
* @return void
*
* @throws
*/
protected function initializeView(ViewInterface $view)
{
// Skip, if view is initialized in non-backend context
if ($view instanceof TemplateView) {
parent::initializeView($view);
}
}
示例5: initializeView
/**
* Set up the doc header properly here
*
* @param ViewInterface $view
*/
protected function initializeView(ViewInterface $view)
{
/** @var BackendTemplateView $view */
parent::initializeView($view);
// Disable Path
$view->getModuleTemplate()->getDocHeaderComponent()->setMetaInformation([]);
}
示例6: initializeView
/**
* Initialize the view
*
* @param ViewInterface $view The view
* @return void
*/
public function initializeView(ViewInterface $view)
{
/** @var BackendTemplateView $view */
parent::initializeView($view);
$this->registerDocheaderButtons();
$view->assign('copyright', BackendUtility::TYPO3_copyRightNotice());
}
示例7: initializeActionMethodValidators
/**
* Adds the needed validators to the Arguments:
*
* - Validators checking the data type from the @param annotation
* - Custom validators specified with validate annotations.
* - Model-based validators (validate annotations in the model)
* - Custom model validator classes
* - Validators from framework configuration
*
* @return void
*/
protected function initializeActionMethodValidators()
{
parent::initializeActionMethodValidators();
$frameworkConfiguration = $this->configurationManager->getConfiguration(ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK);
$actionArgumentValidation = !empty($frameworkConfiguration['mvc']['validation'][$this->request->getControllerName()][$this->request->getControllerActionName()]) ? $frameworkConfiguration['mvc']['validation'][$this->request->getControllerName()][$this->request->getControllerActionName()] : array();
// Dynamically add argument validators
foreach ($actionArgumentValidation as $argumentName => $validators) {
try {
$argumentValidator = $this->arguments->getArgument($argumentName)->getValidator();
} catch (NoSuchArgumentException $e) {
continue;
}
$validatorConjunction = $this->validatorResolver->createValidator('TYPO3.CMS.Extbase:Conjunction');
foreach ($validators as $validatorConfiguration) {
if (isset($validatorConfiguration['type'])) {
$validatorType = $validatorConfiguration['type'];
$validatorOptions = isset($validatorConfiguration['options']) ? $validatorConfiguration['options'] : array();
$validator = $this->validatorResolver->createValidator($validatorType, $validatorOptions);
$validatorConjunction->addValidator($validator);
}
}
if (count($validatorConjunction)) {
$argumentValidator->addValidator($validatorConjunction);
}
}
}
示例8: CacheUtility
/**
* ViewController constructor.
*/
function __construct()
{
parent::__construct();
$this->cacheUtility = new CacheUtility('bwrk_resources_slider');
$this->pid = $GLOBALS['TSFE']->id;
$this->cacheIdentifier = $this->getCacheIdentifier();
}
示例9: invokeModuleController
/**
* Call a sub-module's controller
*
*/
protected function invokeModuleController()
{
$activeModuleDescription = $this->moduleManager->getModuleDescription($this->activeModuleName);
$request = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Mvc\\Web\\Request');
/* @var Request $request */
$request->setControllerExtensionName(ucfirst($activeModuleDescription['extensionKey']));
$request->setControllerName($activeModuleDescription['controller'] . 'Module');
$request->setControllerActionName('index');
if (!is_null($this->site)) {
$request->setArgument('site', $this->site);
}
$request->setPluginName($this->request->getPluginName());
if ($this->request->hasArgument('moduleAction')) {
// TODO check whether action is registered/allowed
$request->setControllerActionName($this->request->getArgument('moduleAction'));
}
// transfer additional parameters
foreach ($this->request->getArguments() as $argumentName => $argumentValue) {
if (in_array($argumentName, array('module', 'moduleAction', 'controller'))) {
// these have been transferred already
continue;
}
$request->setArgument($argumentName, $argumentValue);
}
$response = $this->objectManager->get('TYPO3\\CMS\\Extbase\\Mvc\\Web\\Response');
/* @var Response $response */
while (!$request->isDispatched()) {
try {
$this->activeModule->processRequest($request, $response);
} catch (StopActionException $ignoredException) {
}
}
$this->view->assign('moduleContent', $response->getContent());
}
示例10: initializeView
/**
* Set up the doc header properly here
*
* @param ViewInterface $view
*/
protected function initializeView(ViewInterface $view)
{
if ($view instanceof BackendTemplateView) {
/** @var BackendTemplateView $view */
parent::initializeView($view);
$view->getModuleTemplate()->getDocHeaderComponent()->setMetaInformation([]);
$uriBuilder = $this->objectManager->get(UriBuilder::class);
$uriBuilder->setRequest($this->request);
$this->view->getModuleTemplate()->getPageRenderer()->loadRequireJsModule('TYPO3/CMS/Documentation/Main');
$menu = $this->view->getModuleTemplate()->getDocHeaderComponent()->getMenuRegistry()->makeMenu();
$menu->setIdentifier('DocumentationModuleMenu');
$isListActive = $this->request->getControllerActionName() === 'list' ? true : false;
$uri = $uriBuilder->reset()->uriFor('list', array(), 'Document');
$listMenuItem = $menu->makeMenuItem()->setTitle($this->getLanguageService()->sL('LLL:EXT:documentation/Resources/Private/Language/locallang.xlf:showDocumentation'))->setHref($uri)->setActive($isListActive);
$menu->addMenuItem($listMenuItem);
if ($this->getBackendUser()->isAdmin()) {
$isDownloadActive = $this->request->getControllerActionName() === 'download' ? true : false;
$uri = $uriBuilder->reset()->uriFor('download', array(), 'Document');
$downloadMenuItem = $menu->makeMenuItem()->setTitle($this->getLanguageService()->sL('LLL:EXT:documentation/Resources/Private/Language/locallang.xlf:downloadDocumentation'))->setHref($uri)->setActive($isDownloadActive);
$menu->addMenuItem($downloadMenuItem);
}
$this->view->getModuleTemplate()->getDocHeaderComponent()->getMenuRegistry()->addMenu($menu);
$this->view->getModuleTemplate()->setFlashMessageQueue($this->controllerContext->getFlashMessageQueue());
}
}
示例11: addFlashMessage
/**
* @param string $messageBody
* @param string $messageTitle
* @param int $severity
* @param bool $storeInSession
*/
public function addFlashMessage($messageBody, $messageTitle = '', $severity = AbstractMessage::OK, $storeInSession = true)
{
if (null === $this->controllerContext) {
$this->controllerContext = $this->buildControllerContext();
}
parent::addFlashMessage($messageBody, $messageTitle, $severity, $storeInSession);
}
示例12: mapRequestArgumentsToControllerArguments
/**
* Maps arguments delivered by the request object to the local controller arguments.
*
* @return void
*/
protected function mapRequestArgumentsToControllerArguments()
{
try {
parent::mapRequestArgumentsToControllerArguments();
} catch (\Exception $e) {
$this->throwStatus(404, null, ucfirst($this->resourceArgumentName) . ' not found.');
}
}
示例13: initializeView
/**
* Initializes the view before invoking an action method.
* Override this method to solve assign variables common for all actions
* or prepare the view in another way before the action is called.
*
* @param \TYPO3\CMS\Extbase\Mvc\View\ViewInterface $view The view to be initialized
* @return void
*/
protected function initializeView(\TYPO3\CMS\Extbase\Mvc\View\ViewInterface $view)
{
$cObjData = $this->configurationManager->getContentObject()->data;
$view->assign('newsItem', $cObjData);
//$view->assign('contentObjectData', $this->configurationManager->getContentObject()->data);
$view->assign('emConfiguration', EmConfiguration::getSettings());
parent::initializeView($view);
}
示例14: __construct
public function __construct()
{
parent::__construct();
$GLOBALS['LANG']->includeLLFile('EXT:viewpage/Resources/Private/Language/locallang.xlf');
$this->pageRenderer = $GLOBALS['TBE_TEMPLATE']->getPageRenderer();
$this->pageRenderer->addInlineSettingArray('web_view', array('States' => $GLOBALS['BE_USER']->uc['moduleData']['web_view']['States']));
$this->pageRenderer->addInlineLanguageLabelFile('EXT:viewpage/Resources/Private/Language/locallang.xlf');
}
示例15: initializeAction
public function initializeAction()
{
parent::initializeAction();
$this->userSession = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('Bjr\\BjrLend\\Utility\\UserSession');
$this->basketRepository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('Bjr\\BjrLend\\Domain\\Repository\\BasketRepository');
$this->articleRepository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('Bjr\\BjrLend\\Domain\\Repository\\ArticleRepository');
$this->orderRepository = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('Bjr\\BjrLend\\Domain\\Repository\\OrderRepository');
}