我实现了两个钩子(processDatamap_afterDatabaseOperations和processDatamap_postProcessFieldArray)来保存后操纵任何记录。
我的问题是: 每次复制或创建记录时,我都会进入钩子并获得参数" status"这总是"新"无论记录是新的还是现有记录的副本。 似乎TYPO3将副本作为新记录处理。
如何检查记录是实际上是副本还是新记录?
我目前正在使用 TYPO3 Version 8.7.9
。
答案 0 :(得分:2)
您可以使用 t3_origuid 。
应将其添加到您的extbase域模型中。
处理"复制"命令将原始记录的id复制到该字段中。
所以在钩子里: 您可以访问 processDatamap_preProcessFieldArray 或 processDatamap_postProcessFieldArray 。
像:
static double[] array_product(double[] a, double[] b) {
int n = a.length - b.length + 1;
double[] result = new double[n];
for (int i = 0; i < n; ++i) {
for (int j = 0; j < b.length; ++j) {
result[i] += a[i + j] * b[j];
}
}
return result;
}
public static void main(String[] args) {
double[] array1 = new double[] {1, 2, 3, 4};
double[] array2 = new double[] {10, 20};
double[] result = array_product(array1, array2);
System.out.print(Arrays.toString(result));
}