修复assets数据表

在Joomla 2.5(1.6以来,所有版本)有一个用户表# __assets,很大程度上是无形的,但如果资产值不当可能会导致严重的问题对你的网站。本文档是要给解释如何诊断一个资产问题然后一个方法解决它。这是最有可能发生由于从1.5版本升级过来的Joomla网站。

root
components
categories
articles

根应该记录1和具有parent_id 0,0级。应该是唯一一项具有parent_id 0,0。

组件应该parent_id 1(根是父母)和1水平。

类别可以嵌套,但你的顶级类别应该有一个匹配的parent_id asset_id组件的一部分。他们应该有一个水平的

子类应该父母类别作为父母,3,4,5之类的价值为您的类别结构是有意义的。

如果你有一个类别的小于2(0,1)那你的assets表将破损。

文章应该有一个水平的不少于3但实际上他们应该大于一个类别。如果你有一篇文章的水平小于3(0,1,2)你有一个破碎的assets表。

如果你有任何文章或类别的资产表然后你有一个破碎的assets表。

修复Assets表

如果你已经确定,assets表是不正确的,你可以采取以下步骤来修复。

遵循这个过程您希望使用批量处理部件管理器页面底部的文章。

去重建一个分类. 这将重建类别assets并确保任何正确嵌套的子类别。
看看你的内容,在做任何其他事情之前, 看看你的回收站中删除的文章. 请参见下面的note删除如果你有麻烦。
为每个分类,创建一个空分类调取临时category名称.
移动(do not copy) 这一类的文章到这个临时category名称 category.
(Note that you can change the number of items to All in the pagination drop down so that you can do this in one big step).

不要删除这个分类
当你所有的文章,把他们移回正确的类别。
在这一点上你的表应该是正确的,除非你有其他问题。

Troubleshooting

If you get a message that says you have duplicate aliases and therefore cannot copy it means just that—you have duplicate aliases. You will need to find them and make them unique. You can do this in your database or by trial and error.

If you have trashed items you cannot delete, check to see if they have asset ids (that their value of asset_id in the content table is in the assets table).

Here's the trick, which works in Joomla 2.5.1:

Create a temporary category for the trashed items.
Edit each item (open the item) and move it to the new category.
In the new category, change the state to published.
Then trash and delete.