2015-12-03 1 views
0

Я создал новый CommandController в одном из моих расширений, и теперь мне нужно добавить дополнительное поле, в котором пользователь может вставить некоторые данные, которые могут использоваться внутри CommandController ,typo3 extbase: как определить дополнительные значения в CommandController

Я попытался Google это и что я нашел что-то о additionalFields и fieldProdiver, но я не нахожу ничего, что связано с Extbase CommandController функциональностью.

Буду очень благодарен за любые намеки на то, как этого достичь.

+1

может быть, это помогает (его немецкий извините): http://www.codesnip.de/snippets/beispiel-fuer-einen-commandcontroller.html – brandelizer

+0

код форматирование – lalibi

ответ

0

Среднее значение «AdditionalFields» Если у меня возникли вопросы, вам нужно больше полей, чтобы получить дополнительную информацию от админа.

В Extbase:

шаг 1: добавить поля в расширении SQL файл
Добавление полей в файле ext_tables.sql, расположенном в

YOUR_EXTENSION/ext_tables.sql

CREATE TABLE tx_YOUREXTENSION_domain_model_TABLENAME (
    /**your existing fields... **/ 
    newfield varchar(255) DEFAULT '' NOT NULL, // add new 
); 

Шаг 2: Сравните базу данных и обновите ее в инструменте установки
Перейти на серверную программу> установить инструмент> «Сравнить текущую базу данных со спецификацией» и обновить ее.

шаг 3: TCA

YOUR_EXTENSION/Configuration/TCA/Command.php

добавить имя поля в массиве

1. "showRecordFieldList" => "newfield" 
2. "showitem" => "newfield" 

Теперь у вас есть для настройки вашего поля:

'newfield' => array(
    'exclude' => 1, 
    'label' => 'YOUR_LABLE', 
    'config' => array(
     'type' => 'input', 
     'size' => 30, 
     'eval' => 'trim' 
    ), 
), 

Для получения дополнительной конфигурации поля, см TCA Reference

шаг 4: Модель [получить набор метод]

YOUR_EXTENSION/Классы/домен/Модель/Command.php

/** 
* newfield 
* 
* @var string 
*/ 
protected $newfield = ''; 

/** 
* Returns the newfield 
* 
* @return string $newfield 
*/ 
public function getNewfield() { 
    return $this->newfield; 
} 

/** 
* Sets the newfield 
* 
* @param string $newfield 
* @return void 
*/ 
public function setNewfield($newfield) { 
    $this->newfield= $newfield; 
} 

Этап 5: Очистить кэш
Последний и самый важный;) очистить кэш установить инструмент