Typo3 tx_新闻:使用第二个容器扩展$contentElements

Typo3 tx_新闻:使用第二个容器扩展$contentElements,typo3,tx-news,Typo3,Tx News,类型3 8.7.4 新闻6.0.0 是否可以用另一个容器在新闻扩展中扩展新闻?(如内容元素) 目标是将第二个容器放置在详细信息页面的相关内容中 有没有一个例子?这应该行得通。只需按照文档中的描述扩展新闻tca和模型,这应该是可行的。只需扩展文档中描述的新闻tca和模型是的,很简单。您需要向数据库中添加字段,在TCA中配置它,扩展新闻模型并调整细节模板 在news\u extend/ext\u tables.sql中添加: 创建表tx\u news\u domain\u model\u news(

类型3 8.7.4 新闻6.0.0

是否可以用另一个容器在新闻扩展中扩展新闻?(如内容元素) 目标是将第二个容器放置在详细信息页面的相关内容中


有没有一个例子?

这应该行得通。只需按照文档中的描述扩展新闻tca和模型,这应该是可行的。只需扩展文档中描述的新闻tca和模型

是的,很简单。您需要向数据库中添加字段,在TCA中配置它,扩展新闻模型并调整细节模板

  • 在news\u extend/ext\u tables.sql中添加:
  • 创建表tx\u news\u domain\u model\u news( 发送消息扩展内容元素第二文本 );
  • 在news\u extend/Configuration/TCA/Overrides/tx\u news\u domain\u model\u news.php中:
  • $newNewsColumns=[ “发送新闻扩展内容元素秒”=>[ //..此处从ext news“TCA”复制原始“content_elements”字段的配置。将标签更新为您的标签。 ]; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tx\u news\u domain\u model\u news',$newnewspolumns); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('tx\u news\u domain\u model\u news','tx\u news扩展内容元素\u second','after:content\u elements');
  • 在news\u extend/Resources/Private/Language/locallang\u db.xlf中添加:
  • ... 附加内容元素
  • news\u extend/Classes/Domain/Model/news.php:
  • 命名空间[我的供应商]\NewsExtend\Domain\Model; 类新闻扩展\GeorgRinger\News\Domain\Model\News{ //这里复制原始模型中contentElement字段的所有用法,仅将其命名为txNewsextendContentElementsSecond。 //观察它是否只是声明的属性和getter/setter(简单字段),或者在模型中做了更多的事情,并以与模型相同的方式执行。 //提示:请参阅getContentElementIdList()方法 }
  • 将您的扩展注册为新闻模型扩展类的提供程序: 在news\u extend/ext\u localconf.php中添加:
  • $GLOBALS['TYPO3_CONF_VARS']['EXT']['news']['classes']['Domain/Model/news'][]='news_extend';
  • 现在,您可以在模板中使用此选项:
  • {newsItem.txNewsExtendedContentElementsSecondList}
    如果您复制粘贴它,上面的内容可能不会起作用,我是从我的笔记中写出来的。但它将帮助您了解这个想法。祝您好运

    是的,很简单。您需要向数据库添加字段,在TCA中配置它,扩展新闻模型并调整详细信息模板

  • 在news\u extend/ext\u tables.sql中添加:
  • 创建表tx\u news\u domain\u model\u news( 发送消息扩展内容元素第二文本 );
  • 在news\u extend/Configuration/TCA/Overrides/tx\u news\u domain\u model\u news.php中:
  • $newNewsColumns=[ “发送新闻扩展内容元素秒”=>[ //..此处从ext news“TCA”复制原始“content_elements”字段的配置。将标签更新为您的标签。 ]; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tx\u news\u domain\u model\u news',$newnewspolumns); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('tx\u news\u domain\u model\u news','tx\u news扩展内容元素\u second','after:content\u elements');
  • 在news\u extend/Resources/Private/Language/locallang\u db.xlf中添加:
  • ... 附加内容元素
  • news\u extend/Classes/Domain/Model/news.php:
  • 命名空间[我的供应商]\NewsExtend\Domain\Model; 类新闻扩展\GeorgRinger\News\Domain\Model\News{ //这里复制原始模型中contentElement字段的所有用法,仅将其命名为txNewsextendContentElementsSecond。 //观察它是否只是声明的属性和getter/setter(简单字段),或者在模型中做了更多的事情,并以与模型相同的方式执行。 //提示:请参阅getContentElementIdList()方法 }
  • 将您的扩展注册为新闻模型扩展类的提供程序: 在news\u extend/ext\u localconf.php中添加:
  • $GLOBALS['TYPO3_CONF_VARS']['EXT']['news']['classes']['Domain/Model/news'][]='news_extend';
  • 现在,您可以在模板中使用此选项:
  • {newsItem.txNewsExtendedContentElementsSecondList}
    如果你复制粘贴它,上面的内容可能不管用,我是根据我的笔记写的。但这将帮助你了解这个想法。祝你好运

    非常感谢。我想缺少一个表(新tca中也有更改):tx_news_related_news_2模拟tx_news_related_news_2。没有此表,我不会将两个容器分开。非常感谢。我认为缺少一个表(新tca中也有更改):tx_news_related_news_2模拟tx_news_related_news。没有此表,我不会将两个容器分开。 CREATE TABLE tx_news_domain_model_news ( tx_newsextend_content_elements_second text ); $newNewsColumns = [ 'tx_newsextend_content_elements_second' => [ // .... here copy the original 'content_elements' field's config from ext news' TCA. update the label to yours. ]; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tx_news_domain_model_news', $newNewsColumns); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('tx_news_domain_model_news', 'tx_newsextend_content_elements_second', '', 'after:content_elements'); ... <trans-unit id="tx_news_domain_model_news.tx_newsextend_content_elements_second"> <source>Additional content elements</source> </trans-unit> namespace [my vendor]\NewsExtend\Domain\Model; class News extends \GeorgRinger\News\Domain\Model\News { // here copy all uses of contentElement field from original model, only name it txNewsextendContentElementsSecond. // watch whether it's only declared property and getter/setter (simple fields), or something more is done in the model and do it the same way as there. // tip: see getContentElementIdList() method } $GLOBALS['TYPO3_CONF_VARS']['EXT']['news']['classes']['Domain/Model/News'][] = 'news_extend'; <f:if condition="{newsItem.txNewsExtendContentElementsSecond}"> <!-- content elements second --> <f:cObject typoscriptObjectPath="lib.tx_news.contentElementRendering">{newsItem.txNewsExtendContentElementsSecondIdList}</f:cObject> </f:if>