页面/内容的 TYPO3 挂钩
TYPO3 Hook for Page/ Content
我找到了 this Answer here on Whosebug。
我需要一个 Hook,它在创建、删除、移动或更新页面和内容时执行。
我只找到这个钩子 processDatamap_postProcessFieldArray
但如果内容被创建、删除、移动或更新,它不会被执行。仅在创建或删除页面时执行。
我正在使用 TYPO3 版本 7.6.9。
是否有所有可用挂钩的列表?
你好。
查看 this answer。详细解释了如何设置删除记录时执行的钩子,一定能帮到你。
总而言之,您需要在 ext_tables.php
中注册您的钩子
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['YourHook'][] = 'YourVendor\YourExt\Hooks\YourHook';
并在以下位置声明挂钩本身:
/ext/your_ext/Classes/Hooks/yourHook.php
Here is a partial list of available hooks from the official Docs.
编辑
您正在寻找正确的 Member Function
。
老实说,我不确定您是否需要挂钩其中的多个,或者使用 processCmdmap_afterFinish
是否可以满足您的需要:
<?php
namespace YourVendor\YourExt\Hooks;
class ProcessCmdmap {
/**
* hook that is called when an element shall get deleted
*
* @param string $table the table of the record
* @param integer $id the ID of the record
* @param array $record The accordant database record
* @param boolean $recordWasDeleted can be set so that other hooks or
* @param DataHandler $tcemainObj reference to the main tcemain object
* @return void
*/
function processCmdmap_postProcess($command, $table, $id, $value, $dataHandler) {
/* Does this trigger at all for the actions you need? */
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($command);
die();
if ($command == 'delete' ||
$command == 'update' ||
$command == 'move' ||
$table == 'tx_yourext_domain_model_something') {
}
}
}
大部分代码来自this answer
我找到了 this Answer here on Whosebug。
我需要一个 Hook,它在创建、删除、移动或更新页面和内容时执行。
我只找到这个钩子 processDatamap_postProcessFieldArray
但如果内容被创建、删除、移动或更新,它不会被执行。仅在创建或删除页面时执行。
我正在使用 TYPO3 版本 7.6.9。
是否有所有可用挂钩的列表?
你好。
查看 this answer。详细解释了如何设置删除记录时执行的钩子,一定能帮到你。
总而言之,您需要在 ext_tables.php
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['YourHook'][] = 'YourVendor\YourExt\Hooks\YourHook';
并在以下位置声明挂钩本身:
/ext/your_ext/Classes/Hooks/yourHook.php
Here is a partial list of available hooks from the official Docs.
编辑
您正在寻找正确的 Member Function
。
老实说,我不确定您是否需要挂钩其中的多个,或者使用 processCmdmap_afterFinish
是否可以满足您的需要:
<?php
namespace YourVendor\YourExt\Hooks;
class ProcessCmdmap {
/**
* hook that is called when an element shall get deleted
*
* @param string $table the table of the record
* @param integer $id the ID of the record
* @param array $record The accordant database record
* @param boolean $recordWasDeleted can be set so that other hooks or
* @param DataHandler $tcemainObj reference to the main tcemain object
* @return void
*/
function processCmdmap_postProcess($command, $table, $id, $value, $dataHandler) {
/* Does this trigger at all for the actions you need? */
\TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($command);
die();
if ($command == 'delete' ||
$command == 'update' ||
$command == 'move' ||
$table == 'tx_yourext_domain_model_something') {
}
}
}
大部分代码来自this answer