页面/内容的 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