我正在寻找一个在页面创建或页面更改后调用的钩子(Hook),例如“在导航中隐藏页面
”、“停用页面
”或“移动/删除页面
“
有人知道吗?
谢谢!
最佳答案
这些 Hook 位于 t3lib/class.t3lib_tcemain.php
以下只是其中一些:
- processDatamap_preProcessFieldArray
- processDatamap_postProcessFieldArray
- hook_processDatamap_afterDatabaseOperations
- processDatamap_afterAllOperations
就您而言,我认为您可以使用“processDatamap_postProcessFieldArray”。
如何将其包含在 ext_localconf.php 中的示例:
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = 'EXT:your_extension/hooks/class.tx_yourextension_tcemain.php:tx_yourextension_tcemain';
示例类:
<?php
class tx_yourextension_tcemain {
function processDatamap_postProcessFieldArray($status, $table, $id, &$fieldArray, &$pObj) {
if($table == 'pages' && $status =='new') {
// do some stuff
}
}
}
?>
使用$table,您可以检查哪个表被修改。 $status 允许您检索当前操作,例如“新建”、“更新”或“删除”。
TYPO3 > 6 的示例,其中 namespace 位于另一个钩子(Hook)上:
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/tslib/class.tslib_menu.php']['filterMenuPages']['YourExtension\\Hook\\FilterMenuPages'] = 'EXT:your_extension/Classes/Hook/FilterMenuPages.php:YourExtension\Hook\FilterMenuPages';
关于hook - TYPO3:创建或编辑页面后 Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13526428/