Контроллер регистров расширений Typo3 Fluidcontent

Я использую Typo3 6.2 LTS и пытаюсь создать контроллер для своего плагина Fluidcontent. Я использовал EXT:builder для создания моего расширения, а внутри папки Resources/Private/templates/Content я создал файл HTML, содержащий мое определение FCE. Это работает хорошо. Я могу выбрать его в бэкэнде, чтобы создать собственный элемент контента. Теперь мне нужно манипулировать некоторыми значениями, которые пользователь ввел в бэкэнд-форму. Насколько я знаю, для этого я должен использовать Classes/Controller/Content.php. Этот контроллер определяется следующим образом:

<?php

class ContentController extends \FluidTYPO3\Fluidcontent\Controller\AbstractContentController {

    public function initializeView(ViewInterface $view) {
        parent::initializeView($view);
    }

    public function textBackgroundImageAction() {
        $this->view->assign('special', 'Test');
    }
}

Это всего лишь небольшой тест. Мой файл шаблона — Resources/Private/Templates/Content/TextBackgroundImage.html, поэтому имя действия должно быть в порядке. Но если я попытаюсь вывести это в своей основной части моего файла шаблона, ничего не отобразится. Я также попытался переопределить метод initializeView(ViewInterface $view).

<div class="container">
    {special}
</div>

Я ничего не менял в ext_tables.php. Это мой контент:

<?php
if (!defined('TYPO3_MODE')) {
    die ('Access denied.');
}

TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'FCEs');

\FluidTYPO3\Flux\Core::registerProviderExtensionKey('fce_sanifair', 'Content');

Теперь мне интересно, почему ничего не отображается, если я назначаю представление новой переменной. Есть ли у кого-нибудь информация об этом?

Я благодарю вас заранее.


person anisie    schedule 08.12.2014    source источник


Ответы (1)


У меня такая же проблема. После создания файла в папке расширения в => Migrations/Code/ClassAliasMap.php с этим кодом

<?php
return array (
    'Tx_Extkey_Controller_ContentController' => 'YourVendorName\\Extkey\\Controller\\ContentController',
);

метод действия в ContentController вызывается успешно.

Это также задокументировано здесь.

Моя проблема после решения этой проблемы - зарегистрировать собственный PageController ;-(

person Christian Sonntag    schedule 14.01.2015