0

ユーザーがページへのリンクを指定できるようにしたい。したがって、グループが使用されます。この例は、フィールド「関連」に基づいています。残りは複数のエントリ用に構成されているため、ユーザーも複数のリンクを設定できる必要があります。逆クエリは必要ありません。

これは私がそれを行う方法です:

ここでは、入力フィールド「リンク」をロードします。

$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' => 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;

1 つだけ欠けていることがあります。ページ ID を音声 URL に変換するにはどうすればよいですか?

今、私はcascavalの助けを借りてそれを管理しました:

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

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

0 に答える 0