1

我正在使用collective.transmogrifier 进行内容迁移,并且正在使用transmogrify.filesystem 从文件系统中读取文件。我不想“按原样”导入文件,而是将它们导入到 Plone 中的子目录中。修改_path的最简单方法是什么?

例如,如果存在以下情况:

  • /var/www/html/bar/index.html

我想导入到:

  • /Plone/foo/bar/index.html

换句话说,将“baz”的内容导入到子目录“foo”。我看到两个选项:

  • 在collective.transmogrifier 中使用一些蓝图来破坏_path。
  • 编写一些蓝图来破坏_path。

我错过了更容易的事情吗?

4

1 回答 1

4

使用标准inserter蓝图生成路径;它接受 python 表达式并且可以就地替换键:

[manglepath]
blueprint = collective.transmogrifier.sections.inserter
key = string:_path
value = python:item['_path'].replace('/var/www/html', '/Plone/foo')

value因此,这需要python 表达式的输出(它使用该项目_path并将其存储回相同的键下。

于 2011-07-30T18:12:55.640 回答