4

すべての登録済みコンポーネント レジストリbrowser:resourceを取得するにはどうすればよいですか?browser:resourceDirectory

zcmlディレクティブによって作成され、呼び出しで見つかったコンポーネントの種類を発見しようとして、さまざまな場所を調べましたbrowser:resourceProducts.Five.browser.metaconfigureregisterAdapter

handler('registerAdapter', factory, (layer,), Interface, name, _context.info)

これは、 を必要として(layer,)提供するアダプターを登録することを意味しますInterfaceが、次の呼び出しは機能しません (ブラウザー リソースではないコンポーネントを返します)。

from zope.publisher.interfaces.browser import IDefaultBrowserLayer
zope.component.getAdapters((IDefaultBrowserLayer,), Interface)

よくわかりませんがgetAdapters、インスタンスが必要なようです。zope.component にクエリを実行するのではなく、登録済みのアダプターを取得したいのです。

zope.interface.interfaces必要なメソッドを見つけましたが、lookupAll(required, provided)実装されている場所が見つからなかったため、呼び出す方法がわかりません。

4

1 に答える 1