I added hook for defining WWW > Page > Page info and WWW > Info > Page overview
TYPO3_CONF_VARS']['SC_OPTIONS']['cms']['webInfoList']
Using that hook can define, how listing is handed. Note that I also added a new setup feature.
I added hooks for access of content elements (the same is used also in tm_shared_lib – don't define twice). Put the following hook call into ext_localconf.php:
$TYPO3_CONF_VARS['SC_OPTIONS']['cms']['recordAccess'][]='EXT:my_plugin_name/class.my_class_file_class_name.php:my_class_file_class_name';
Create related class-file and define class and class method (function) inside it.
Define the function 'recordAccess' so, that it returns true or false.
This function has been handled last and it will take precedence over other conditions.
I added hook for the main views of page modules:
$TYPO3_CONF_VARS['EXTCONF']['SC_OPTIONS']['cms']['addItemInformation']
$TYPO3_CONF_VARS['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['list_type_Info']
$TYPO3_CONF_VARS['SC_OPTIONS']['cms']['externalTables']['getFuncMenu_xxx']
$TYPO3_CONF_VARS['SC_OPTIONS']['cms']['web_layout_ttcontent_previewFuncObj'][...]
$TYPO3_CONF_VARS['SC_OPTIONS']['cms']['web_layout_ttcontent_BEFuncObj']['getRecord']
If some record type need special handling and function menuHooks are for handling special content types.
3. xxx = name of a table
4. xxx = Ctype.
These hooks methods gets as parameters needed data information and module configuration. Look the source code of 'class.ux_tx_cms_layout.php' and 'class.ux_sc_db_layout.php'.
For advanced page type handling has been added some hooks.
$TYPO3_CONF_VARS['SC_OPTIONS']['cms']['doktypeInfo']['specialdoktypePlugin_xxx']
$TYPO3_CONF_VARS['SC_OPTIONS']['cms']['specialdoktypeHandling_xxx']
1. xxx = name of the plugin, which a page might have. This has function with the same name as the hook item. That takes a parameter '$pageRecord' (indexed array of some fields in the table 'pages') and returns a string, which should give some information about the plugin.
2. xxx = number value of the doktype.
That has two functions. 'specialdoktypePreHandling_xxx', which defines some preconfiguration and
'specialdoktypeHandling_xxx', which takes many parameter, which relates the page type returns a string, which should give some information about the page type. Look at the source code of 'class.tx_tm_contentaccess_specialdoktypes.php'.
For Web > List module added hook to add new functionality links into top and into the advanced view:
$TYPO3_CONF_VARS['SC_OPTIONS']['typo3/class.db_list_extra.inc']['addIToptems']
$TYPO3_CONF_VARS['SC_OPTIONS']['typo3/class.db_list_extra.inc']['addItems']
<?
class tx_myclass {
// this is for adding new links into top– the order can't be controlled but new buttons goes to the end
// automatic support for the plugin 'a21belistbutton'
function addTopItems(&$theData,$thisVar,$disableListmoduleTopIcons) {
if (!$disableListmoduleTopIcons['mybutton']) {
$theData['up'][]=...
}
// this is for adding new links into advanced view
// the order can be controlled with TS Config 'web_list.listmoduleMainIconsOrder'
function addItems(&$cells,$disableListmoduleMainIcons,$thisVar,$table,$row,$SOBE=''){
if(!$disableListmoduleMainIcons['new_item']) // possibility to disable this item
// because use reference this will be automatic added among other items
// $thisVar,$table,$row,$SOBE are additional parameters for setting link
$cells['new_item']=...
return;
}
}
?>
For Web > List module added a hook to add handle relation tables when record on page has been deleted using the button 'Delete all records'.
$TYPO3_CONF_VARS['SC_OPTIONS']['typo3/class.db_list_extra.inc']['mm_xxx]
1. xxx= name of the table.
The hook takes as parameters the id of the page and module configuration for the Web > List module for setting TS Config for users/user groups using 'mod.web_list'.