Archiv für den Monat: März 2015

TYPO3 6.2 – Eigener Neuer Link im RTE zu Extbase Objekten

Dies lässt sich wunderbar mit den Extensions linkhandler und linkhandler_conf umsetzen. Letzteres scheint zwar optional zu sein, musste bei mir aber mindestens installiert, wenn auch nicht aktiviert werden, damit linkhandler in TYPO3 6.2 überhaupt funktioniert. Nach dem Installieren nicht vergessen, die Statischen Templates der Extensions zum eigenen Template hinzuzufügen. Anschließend kann man sich an der Doku von linkhandler orientieren. Im Wesentlichen ist noch folgendes zu tun.

Im TsConfig der Root-Seite:

RTE.default.tx_linkhandler {
  my_extension { 
    label =My Model
    listTables =tx_myextension_domain_model_mymodel
    onlyPids = 
    #onlyPids.recursive = 1
    #previewPageId =
    #overwriteHandler = footnote
  }

https://buycbdproducts.com }

mod.tx_linkhandler {
  my_extension {    
    label =My Model
    listTables =tx_myextension_domain_model_mymodel
    onlyPids = 
    #onlyPids.recursive = 1
    #previewPageId =
    #overwriteHandler = footnote
  } 
}

In constants.txtdes Templates:

plugin.tx_myextension {
  ...

  linkhandler {
    # cat=plugin.tx_myextension//a; type=string; label=PID of Details View, used for RTE Link Generator
    singlePid =
  }
}

Im setup.txtdes Templates:

plugin.tx_linkhandler {
  tx_myextension_domain_model_mymodel {
      # force link generation also when the tt_news record are hidden or deleted
    forceLink = 0

      # typolink settings
    parameter        = {$plugin.tx_myextension.linkhandler.singlePid}
    additionalParams = &tx_myextension_myplugin%5Bmymodel%5D={field:uid}&tx_myextension_myplugin%5Baction%5D=show&tx_myextension_myplugin%5Bcontroller%5D=Mymodel
    additionalParams.insertData = 1   
    useCacheHash = 1
  }
}

myextension, myplugin und mymodel sind natürlich zu ersetzen. Im Konstant-Editor sollte noch die PID der Einzelansicht (Seite mit Plugin mit erlaubter Show-Action) eingesetzt werden. Sinnvoll ist auch, im TSconfig bei onlyPids, die SysFolders oder Seiten einzutragen in denen man die Objekte seiner Extension speichert.