2

nodeRef Idに基づいて( share-config-custom.xmlを介して)いくつかのURLへのリンクを提供する新しいアクションでShareDocumentLibraryを拡張しようとしています

 <action id="blabla" type="link" label="label">
         <param name="page">../../alfresco/wcs/myPlugin/editor/{node.nodeRef.id}/param>
        <param name="target">_blank</param>
 </action>

しかし、共有は解釈しません{node.nodeRef.id}

正しく解釈され{node.nodeRef}ますが、完全なURIは必要ありません

のように:workspace://SpacesStore/158f0ed4-a575-40c2-a6ef-7e7ed386ba94 私はノードref idが欲しいだけです:158f0ed4-a575-40c2-a6ef-7e7ed386ba94

誰でも私にこの背後にある論理を説明し、解決策を提案することができますか?ありがとう

4

2 に答える 2

1

JavascriptAPIWikiで見られるようにnode.idを使用するだけです

于 2011-10-24T22:47:40.973 に答える
1

まず第一に、あなたがAlfresco4.0を求めていると思います。アクションを拡張する方法は4.0ではまったく新しいものであり、私たちのほとんどはまだそれを使用していません。

プレースホルダーを作成するロジックは、おそらくShare WebアプリケーションのJavaコードにあります(正確な場所は見つかりませんでした)。node.nodeRefは文字列であるため、nodeRef.idを呼び出すことはできません。私の意見では、2つの選択肢があります。

  • type = "link"とnode.nodeRefを保持できますが、カスタムリポジトリ側のWebスクリプトにリンクすると、正しいURLが生成され、正しい宛先に転送されます(HTTPステータス301)。
  • タイプをtype="javascript"に変更し、Javascriptでコールバック関数を実装します。これは、リンクがクリックされたときに呼び出され、正しいURLを作成できます。カスタムJavaScriptを含めるには、共有構成で依存関係を使用できます。

私の知る限り、新しいアクションを拡張するために利用できる唯一のドキュメントは次のとおりです。

于 2011-11-02T21:41:01.340 に答える