TYPO3 добавляет настраиваемые поля ввода в News Extension
Я пытаюсь расширить расширение новостей, включив в него настраиваемые поля ввода. Я уже создал модель предметной области:
<?php
namespace PegasusWerbeagenturGmbh\NewsExtend\Domain\Model;
/**
* News model for default news
*
* @package TYPO3
* @subpackage tx_news
*/
class NewsExtend extends \GeorgRinger\News\Domain\Model\NewsDefault
{
/**
* @var string
*/
protected $address;
/**
* @var string
*/
protected $price;
/**
* @var int
*/
protected $roomNr;
/**
* @var int
*/
protected $bedNr;
/**
* @var int
*/
protected $bathroomNr;
/**
* Get address
*
* @return string
*/
public function getAdress()
{
return $this->address;
}
/**
* Set address
*
* @param string $address address
*/
public function setAdress($address)
{
$this->address = $address;
}
/**
* Get price
*
* @return string
*/
public function getPrice()
{
return $this->price;
}
/**
* Set price
*
* @param string $price price
*/
public function setPrice($price)
{
$this->price = $price;
}
/**
* Get roomNr
*
* @return int
*/
public function getRoomNr()
{
return $this->roomNr;
}
/**
* Set roomNr
*
* @param int $roomNr roomNr
*/
public function setRoomNr($roomNr)
{
$this->roomNr = $roomNr;
}
/**
* Get bedNr
*
* @return int
*/
public function getBedNr()
{
return $this->bedNr;
}
/**
* Set bedNr
*
* @param int $bedNr bedNr
*/
public function setBedNr($bedNr)
{
$this->bedNr = $bedNr;
}
/**
* Get bathroomNr
*
* @return int
*/
public function getBathroomNr()
{
return $this->bathroomNr;
}
/**
* Set bathroomNr
*
* @param int $bathroomNr bathroomNr
*/
public function setBathroomNr($bathroomNr)
{
$this->bathroomNr = $bathroomNr;
}
}
и расширили структуру базы данных, как показано ниже:
CREATE TABLE tx_news_domain_model_news (
address varchar(255) DEFAULT '' NOT NULL,
price varchar(255) DEFAULT '' NOT NULL,
roomNr int(8) DEFAULT 0 NOT NULL,
bedNr int(8) DEFAULT 0 NOT NULL,
bathroomNr int(8) DEFAULT 0 NOT NULL
);
создал настраиваемые поля ввода в бэкэнде (который отлично работает)
'address' => [
'exclude' => false,
'label' => 'Adresse',
'config' => [
'type' => 'input',
'size' => 30,
]
],
'price' => [
'exclude' => false,
'label' => 'Preis',
'config' => [
'type' => 'input',
'size' => 30,
]
],
'roomNr' => [
'exclude' => false,
'label' => 'Zimmer Anzahl',
'config' => [
'type' => 'input',
'size' => 30,
]
],
'bedNr' => [
'exclude' => false,
'label' => 'Betten Anzahl',
'config' => [
'type' => 'input',
'size' => 30,
]
],
'bathroomNr' => [
'exclude' => false,
'label' => 'Badezimmer Anzahl',
'config' => [
'type' => 'input',
'size' => 30,
]
],
'types' => [
// default news
'0' => [
'showitem' => '
--palette--;;paletteCore,title,--palette--;;paletteSlug,teaser,
--palette--;;paletteDate,
bodytext,
--palette--;;ApartmentDetails,
'ApartmentDetails' => [
'showitem' => '
address, price, roomNr, bedNr, bathroomNr
',
],
и, наконец, отредактировал мой setup.typoscript
plugin.tx_news {
persistence {
classes {
GeorgRinger\News\Domain\Model\NewsDefault {
subclasses {
0 = PegasusWerbeagenturGmbh\NewsExtend\Domain\Model\NewsExtend
}
}
PegasusWerbeagenturGmbh\NewsExtend\Domain\Model\NewsExtend {
mapping {
tableName = tx_news_domain_model_news
recordType = 0
}
}
}
}
}
Я потратил часы, пытаясь понять, почему пользовательские поля ввода не отображаются во внешнем интерфейсе, к сожалению, безуспешно.
любая помощь будет оценена.
2 ответа
не могли бы вы предоставить точный журнал ошибок и какие шаги вы выполнили, чтобы опубликовать полную трассировку, чтобы любой мог вам помочь
To add your extension typoscript to the list of selectable typoscript templates add the following to your EXT:news_extend/ext_tables.php
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'News Extend');
очистить typo3temp, которая вызовет и этот ожидаемый результат. Надеюсь, что нет механизма кеширования, если отключите его на некоторое время.
В TYPO3 v10 конфигурация классов сохраняемости Extbase изменилась:
См. Также примеры в к документацииновостям : (в настоящее время вы следуете подходу «нестандартного типа»)
Примечание: селектор версии в этой документации может ввести в заблуждение - выберите «master» для TYPO3v10 + v11.