1

我在 Movable Type 设置 (4.23) 上有大约 2,000 个条目,这些条目当前分配了主/父类别,例如“苹果、梨、香蕉、葡萄”。我想将它们保留为子类别,然后通过一些神奇的批量解决方案为它们分配一个新的父类别“水果”。

它在 MySQL 数据库上运行,所以我的第一直觉是去那里,但每个条目的表不包含修改类别的字段。这些是通过一个名为 mt_placement 的表分配的,进入那里有点像杜鹃。

4

2 回答 2

1

添加父类别:您的 MT 已经很老了。在新的 MT 中,您可以使用拖放界面将类别移动为子类别。

你可能没有这个,(否则你不会问)所以你必须大量使用数据库。创建(使用 MT 界面)一个名为“fruit”的新类别,记下其 id。
然后在数据库中,在“mt_category”表中,对于您想成为其子目录的每个类别,将“category_parent_id”值设置为水果类别的 id。

除了将类别添加到具有其子项之一的每个条目之外:您需要将行添加到“mt_placement”,正如 Francios 所说。您可以使用 Perl 脚本(迭代现有位置并创建新位置)或使用一些花哨的 SQL 来完成。(在插入中选择?我对此一无所知)

于 2013-06-30T13:05:50.993 回答
0

我不知道任何魔法,但 Perl 和 MT API 就足够了。下面是在 Perl 中设置条目类别的方法:

my $place = MT::Placement->new;
$place->entry_id( $entry->id );
$place->blog_id( $entry->blog_id );
$place->category_id( $fruit_cat_id );
$place->is_primary(1);
$place->save
    or die $place->errstr;

您需要遍历条目,$fruit_cat_id 是上下文中博客中“水果”的数字类别 ID(类别是每个博客,即您可以在两个不同的博客中有一个“水果”类别,但它们会有不同的类别 ID)。

于 2013-06-29T00:19:42.423 回答