将标记添加到tt_news,将链接保存到另一个页面

时间:2012-01-10 19:38:25

标签: typo3 marker tt-news

我希望用户可以指定页面的链接。因此使用一组。该示例基于“相关”字段。由于其余部分的结构不仅仅是条目,因此用户也应该能够设置多个链接。不需要反向查询。

我就是这样做的:

这里我加载输入字段“link”:

$TCA['tt_news'] = Array (
    'ctrl' => $TCA['tt_news']['ctrl'],
    'interface' => Array (
        'showRecordFieldList' => 'title,hidden,datetime,starttime,archivedate,category,author,author_email,short,image,imagecaption,links,related,news_files,link'
    ),

这里我定义了“link”字段

    'link' => Array (
        'label' => 'Link to another page',
        'config' => Array (
            'type' => 'group',
            'internal_type' => 'db',
                'allowed' => 'tt_news,pages',
                'MM' => 'tt_news_link_mm',
            'size' => '3',
            'autoSizeMax' => 10,
            'maxitems' => '200',
            'minitems' => '0',
            'show_thumbs' => '1',
            'wizards' => array(
                'suggest' => array(
                    'type' => 'suggest'
                )
            )
        )
    ),

我使用“相关”字段作为样本。

这里我定义了后端的位置:

'types' => Array (
    '0' => Array('showitem' =>
        'hidden, type;;;;1-1-1,title;;;;2-2-2,short,bodytext;;2;richtext:rte_transform[flag=rte_enabled|mode=ts];4-4-4,
        --div--;LLL:EXT:tt_news/locallang_tca.xml:tt_news.tabs.special, datetime;;;;2-2-2,archivedate,author;;3;; ;;;;2-2-2,
            keywords;;;;2-2-2,sys_language_uid;;1;;3-3-3,
        --div--;LLL:EXT:tt_news/locallang_tca.xml:tt_news.tabs.media, image;;;;1-1-1,imagecaption;;5;;,links;;;;2-2-2,news_files;;;;4-4-4,link;;;;3-3-3,
        --div--;LLL:EXT:tt_news/locallang_tca.xml:tt_news.tabs.catAndRels, category;;;;3-3-3,related;;;;3-3-3,
        --div--;LLL:EXT:tt_news/locallang_tca.xml:tt_news.tabs.access, starttime,endtime,fe_group,editlock,
        --div--;LLL:EXT:tt_news/locallang_tca.xml:tt_news.tabs.extended,
        '),

现在该字段按预期显示。我可以选择一个页面,它会出现在选择列表中。在表tt_news中的字段中,值仅从0更改为1.同样在表tt_news_related_mm中,现在有一个条目。我通过使用一个单独的表来达到这个目的。

CREATE TABLE `tt_news_link_mm` (
  `uid_local` int(11) NOT NULL default '0',
  `uid_foreign` int(11) NOT NULL default '0',
  `sorting` int(11) NOT NULL default '0',
  `tablenames` varchar(255) NOT NULL default '',
  KEY `uid_local` (`uid_local`),
  KEY `uid_foreign` (`uid_foreign`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

只缺少一件事:如何将网页ID转换为发言网址?

现在我在cascaval的帮助下管理了它:

            $typolink_conf = array(
                "title" => $title,
                "ATagParams" =>'',
                "no_cache" => 0,
                "parameter" => $data['uid'],
                "useCacheHash" => 1
            );

            $link = $this->cObj->typolink('linkname', $typolink_conf);

1 个答案:

答案 0 :(得分:0)

您可以按照以下方式在TYPO3中创建通用标记:

http://typo3techie.blogspot.in/2014/04/how-to-create-own-market-in-ttnews.html

按照上面的链接。