4

私のdiazoコントロールパネル>「パラメーター式」に入れたら

have_left_portlets = python:context and context.restrictedTraverse('@@plone').have_portlets('plone.leftcolumn',context)

ポータル ホームページを表示しているときにのみエラーが発生します。

2012-06-26 16:51:42 ERROR plone.transformchain Unexpected error whilst trying to apply transform chain
Traceback (most recent call last):
  File "/Users/vito/.buildout/eggs/plone.transformchain-1.0.2-py2.6.egg/plone/transformchain/transformer.py", line 48, in __call__
    newResult = handler.transformIterable(result, encoding)
  File "/Users/vito/.buildout/eggs/plone.app.theming-1.0-py2.6.egg/plone/app/theming/transform.py", line 257, in transformIterable
    params[name] = quote_param(expression(expressionContext))
  File "/Users/vito/.buildout/eggs/Zope2-2.13.13-py2.6.egg/Products/PageTemplates/ZRPythonExpr.py", line 48, in __call__
    return eval(self._code, vars, {})
  File "PythonExpr", line 1, in <expression>
  File "/Users/vito/.buildout/eggs/AccessControl-2.13.7-py2.6-macosx-10.6-x86_64.egg/AccessControl/ImplPython.py", line 675, in guarded_getattr
    v = getattr(inst, name)
AttributeError: 'FilesystemResourceDirectory' object has no attribute 'restrictedTraverse'

どうすればこれを解決できますか?

4

2 に答える 2

3

これはplone.app.themingのバグだと思います:コンテキストが正しく設定されていません。しかし、奇妙なことです。

于 2012-06-23T08:15:20.557 に答える
1

問題が発生していないことを確認するだけです。ほぼ同じトレースバックが表示されます。サイト自体は問題ないように見えますが、サイト内をクリックするたびに、インスタンス fg で次のトレースバックが表示されます。

2012-08-10 15:05:05 ERROR plone.transformchain Unexpected error whilst trying to apply transform chain
Traceback (most recent call last):
  File "/opt/etc/buildout/eggs/plone.transformchain-1.0.2-py2.6.egg/plone/transformchain/transformer.py", line 48, in __call__
    newResult = handler.transformIterable(result, encoding)
  File "/opt/etc/buildout/eggs/plone.app.theming-1.0-py2.6.egg/plone/app/theming/transform.py", line 257, in transformIterable
    params[name] = quote_param(expression(expressionContext))
  File "/opt/etc/buildout/eggs/Zope2-2.13.10-py2.6.egg/Products/PageTemplates/ZRPythonExpr.py", line 48, in __call__
    return eval(self._code, vars, {})
  File "PythonExpr", line 1, in <expression>
AttributeError: 'FilesystemResourceDirectory' object has no attribute 'Language'

これは、manifest.cfg に次の行があるためです (これは plone_control_panel のパラメーター行とほぼ同じです:

lang = python: context.Language()

私の場合、すべてのコンテンツ オブジェクトが Language() というインデックスを持っているわけではないので、これはある程度論理的です。

しかし、この場合の「コンテキスト」は、明らかに「FileSystemResourceDirectory」を参照しており、現在のコンテンツではありませんか? もっと情報が見つかれば、pdbで試してみます...

于 2012-08-10T13:23:50.210 に答える