linkhandler

Extension Key: linkhandler

Copyright 2000-2002, Daniel Pötzinger, <nospam@nospam.de>

This document is published under the Open Content License

available from http://www.opencontent.org/opl.shtml

The content of this document is related to TYPO3

- a GNU/GPL CMS/Framework available from www.typo3.com

Table of Contents

linkhandler	1

Introduction	1

What does it do?	1

Screenshots	2

Users manual	2

FAQ	2

Adminstration	2

Configuration	2

Reference Tsconfig	3

Reference Typoscript	3

Tutorial	4

Known problems	4

To-Do list	4

Changelog	4

Important guidelines	5

Issues with Open Office documentation for TYPO3	5

Inserting images	5

Paragraph styles	5

Linking	6

Meta data and updates	6

Introduction

What does it do?

This extension enables you to link to any record you want. For that reasons it does two things:

1.) Possibility to add as many additional TABS to the linkbrowser in the BE

2.) Possibility to configure typolink setting to any records.

This extension is optimized for TYPO3 4.2.*

But it includes a patch to work also for 4.1.x !

Screenshots

Users manual

- For editors the use is straightforward: They just need to make a link with the linkwizard (linkbrowser). Then they can click on a Tab like “News” and select the news they want to link to ...

FAQ

Adminstration

To use the extension you have to do this steps:

be sure to have PHP5 and at least TYPO3 4.1.x

Install the extension. If you use TYPO3 < 4.2 set the checkbox in the extension manager to activate the patch.

Add static template if you want (has tt_news linkhandler setting)

Then you need to configure the tabs:

Available Tabs in BE: use (page)-TSConfig

Linkgeneration for the FE: Use typoscript.

Configuration

Reference Tsconfig

You can configure as many tabs as you want. See example above.

TSConfig Configuration path:

mod.tx_linkhandler is used for normal linkbrowser

RTE.default.tx_linkhandler is used for RTE linkbrowser

Property:	Data type:	Description:	Default:
*	linkhandler-tabconfig	Set as many tab configurations you want	

[linkhandler tsconfig]

Property:	Data type:	Description:	Default:
label	String	Speaking name for the tab (displayed in linkbrowser)	
listTables	List	* or comma list of tables which should be listed for that tab	
onlyPids	List	List of integers. If set only the rootlines to this pids are shown in the tree for the tab.	
recursive	Integer	Define that the Tree browser should show the “onlyPids” recursively	0
previewPageId	Integer	Page where the preview of record should be generated. This parameter is optional, as default the root page is used.	Root page of the installation.
overwriteHandler	string	Overwrite the default “typolinkLinkHander” of type “record” with the configured value. Example: footnote:tx_aoefootnote_item:8	
omitOverlays	Integer	Hide overlay record in the DB-list.	0
noAttributesForm	Integer	If is set to true the attributes for will not appear in the linkbrowser field.	0
LinkClassName	String	If the previous setting “noAttributesForm” is set to true an additional class tag cann be added to the link. This will only happened if the context is RTE.	

[linkhandler tabconfig]

Example / Default TSConfig:

RTE.default.tx_linkhandler {
tt_news {
label = News
listTables = tt_news
onlyPids = 2
onlyPids.recursive = 1
previewPageId = 12
overwriteHandler = footnote
}
}
mod.tx_linkhandler {
tt_news {
label =News
listTables =tt_news
onlyPids = 2
onlyPids.recursive = 1
previewPageId = 12
overwriteHandler = footnote
}
}

Reference Typoscript

Property:	Data type:	Description:	Default:
*	Typolink for record “*”	For each table you can and have to configure a typolink. The trick is that the tsobject is loaded with the data row of the linked record. So you can access uid and any field. plugin.tx_linkhandler { tt_news { parameter={$linkhandler.newsSinglePid} additionalParams=&tx_ttnews[tt_news]={field:uid} additionalParams.insertData=1 useCacheHash=1 } }	
forceLink	Integer	Force the creation of an typolink to a page also when the linked record are not available for the current fe_user.	0

[plugin.tx_linkhandler]

Example/Default Typoscript:

plugin.tx_linkhandler {

tt_news {

# force link generation also when the tt_news record are hidden or deleted

forceLink = 0

# typolink settings

parameter = {$linkhandler.newsSinglePid}

additionalParams = &tx_ttnews[tt_news]={field:uid}

additionalParams.insertData = 1

useCacheHash = 1

}

}

Tutorial

This is possible:

use typoscript for different pages to link to different single pids

use the title of the record as alt text for the link

use typoscript conditions to build the link different depending on certain conditions...

use complex CASE objects to build fancy links...

Known problems

In 4.1 it works with a patch

PHP 5 is required

To-Do list

Changelog

29-07-2009 Michael Klapper <michael.klapper@aoemedia.de>

* Improve added feature #3800

* Minor code change

* Update documentation

29-07-2009 Michael Klapper <michael.klapper@aoemedia.de>

* Add Feature #3800: Change the "applyPatch" from ext_conf_template to version_compare in ext_localconf.php

27-07-2009 Michael Klapper <michael.klapper@aoemedia.de>

* Add Feature #3414: Use linkhandler for backend record "view" button

05-06-2009 Michael Klapper <michael.klapper@aoemedia.de>

* Fix bug #3452: link handler should respect blindLinkOptions configuration of TCA

* Minor code indention

21-04-2009 Michael Klapper <michael.klapper@aoemedia.de>

* fix Bug #3143

17-04-2009 Michael Klapper <michael.klapper@aoemedia.de>

* Update Documentation

08-04-2009 Michael Klapper <michael.klapper@aoemedia.de>

* fix Bug #2626, #3057, #3058, #1488, #1244, #2675

* Add some PHPDoc

* Code indention

23-01-2009 Stefano Cecere <stefano.cecere@krur.com>

* fix Bug #1342 (rtehtmlarea hook name has changed)

07-09-17 Daniel PÃ¶tzinger <poetzinger@aoemedia.de>

* Initial release

linkhandler - 5

linkhandler

Kasper Skårhøj

2002-11-01T00:32:00

Michael Klapper

Kasper Skårhøj