2012-01-10 7 views
0

ユーザーがページへのリンクを指定できるようにします。したがって、グループが使用されます。この例は、フィールド "related"に基づいています。残りはエントリ以上の構造になっているので、ユーザーは複数のリンクを設定できる必要があります。逆のクエリは必要ありません。リンクを別のページに保存するtt_newsにマーカーを追加します。

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

私は、入力フィールド "リンク" をロード:ここで私は、私が使用するフィールド "リンク"

'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' 
       ) 
      ) 
     ) 
    ), 

を定義

$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' 
    ), 

をフィールド "related"をサンプルとして使用します。ここで

私は、バックエンドでの位置を定義します。予想通り

'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); 
+0

1. **ページに1つだけ**複数ページにリンクできるようにしますか? 2.逆のクエリ=特定のページにリンクする検索ニュースを作成する必要がありますか? – tmt

+0

まず、私は1人で十分だろうと思った。複数の値を保持できる他の関連フィールドを作成したので、このフィールドも行う必要があります。だから:1. 1つ以上。逆のクエリは必要ありません。私はこの仕事を手に入れました。ほんの小さなものが欠けている(私の質問の最後の文を見てください)。 – testing

+2

Typoscriptでは、typolink関数(http://typo3.org/documentation/document-library/references/doc_core_tsref/4.5.1/view/1/5/#id2621840)を使用する必要があります。拡張機能では、 'tslib_pibase'クラスの' typolink'メソッドを呼び出さなければなりません。 – tmt

答えて

関連する問題