如何删除与页面没有任何连接的tt_content元素

时间:2014-07-29 10:09:28

标签: typo3

我想找到TYPO3安装中的所有tt_content元素,这些元素没有与页面的连接。你会怎么做?

1 个答案:

答案 0 :(得分:2)

每个tt_content记录都通过pid字段与页面建立连接,相反情况的唯一原因是手动操作tt_content记录(即通过某些外部脚本创建它们甚至添加使用phpMyAdmin进行DB。

对于通过TYPO3的后端(以及任何其他类型的记录)删除的页面中的永久删除内容,您可以使用Recycler扩展名 - 它是系统1,所以只需转到Extension Manager并启用它。然后选择树中的最高页面,选择深度无限,您将按类型找到所有软删除的记录,在Recycler中删除它们将完全从DB中删除它们。

如果由于某种原因你有这样的情况,根本不存在给定uid的pages记录,虽然tt_content使用它的pid,但Recycler不会找到它。这些只能通过SQL查询找到:

SELECT tt_content.uid, tt_content.pid, pages.uid page_uid 
FROM tt_content  LEFT JOIN pages  ON (tt_content.pid=pages.uid)
WHERE pages.uid IS NULL

免责声明:应尽可能避免手动操作数据库操作。 TYPO3的后端能够很好地维护已删除的记录,并首先尝试内置工具。我没有回复因手动更改DB而造成的任何损坏,为了您自己的安全,在删除/修改任何记录之前进行数据库备份。