1

Confluence セットアップ内にカスタム タブを追加する作業を進めています。これを実現するための好都合な場所として、「上級」地域を選択しました。スペース名をクリックします。次に、「Browse>>Advanced」に移動し、この http://imageshack.us/f/405/advnc.pngを参照してください。この画像に表示されている [Freeway Project Creation] タブは、私が独自に追加したものです。私はこのクラスを書きました

package com.atlassian.myorg;

import com.atlassian.confluence.core.ConfluenceActionSupport;
import com.atlassian.confluence.pages.AbstractPage;
import com.atlassian.confluence.pages.actions.PageAware;
import com.opensymphony.xwork.Action;

 /**
 * The simplest action possible
  */
public class ExampleAction extends ConfluenceActionSupport
{
    @Override
    public String execute() throws Exception
    {
    return Action.SUCCESS;
    }

  }

この atlassian-plugin.xml を使用しました

   <atlassian-plugin key="${project.groupId}.${project.artifactId}" name="${project.name}" plugins-version="2">

<plugin-info>
    <description>${project.description}</description>
    <version>${project.version}</version>
    <vendor name="${project.organization.name}" url="${project.organization.url}" />
</plugin-info>

    <resource type="i18n" name="i18n" location="message"  />
   <web-item name="add-fpc-label-action-web-ui" key="add-fpc-label-action-web-ui" section="system.space" weight="150">
    <description key="item.add-fpc-label-action-web-ui.link.desc">Allows the Create   Freeway Project functionality.</description>
    <label key="Freeway Project Creation"/>
    <link linkId="add-fpc-label-action">/plugins/examples/hello.action?key=$helper.space.key</link>
</web-item>


    <xwork name="My Example Action" key="example-action">
    <description>Shows a simple "Hello, World!" Action</description>
    <package name="examples" extends="default" namespace="/plugins/examples">
        <default-interceptor-ref name="validatingStack" />

        <action name="hello" class="com.atlassian.myorg.ExampleAction">
            <result name="success" type="velocity">/templates/example/hello.vm</result>
        </action>
    </package>
</xwork>          
</atlassian-plugin>

以下は VM です。

<html>
<head>
   <title>This is my Example action!</title>
   <meta name="decorator" content="atl.general" />
</head>
<body>
 <strong>Hello, Confluence World!</strong>
</body>
</html>

その結果、「Freeway Project Creation」という名前のこのタブをクリックすると、このページが表示されますhttp://imageshack.us/f/846/imageprf.png/

まあ、これで十分でした。しかし、このページをサイドバー以外の「ボディエリア」に表示したかったのです。たとえば、[スペース管理者] タブをクリックし、サイド バーから [スペース ラベルの編集] をクリックするとします。結果のページは、http://imageshack.us/f/809/bodyarea.png / とマークされた「ボディ エリア」に表示されます。

それをどのように達成できるかについて、あなたの提案をしたいですか?

ありがとう

4

1 に答える 1

0

これを試してください

##requireResource("confluence.web.resources:space-admin")
<html>
<head>
   <title>This is my Example action!</title>
   <meta name="decorator" content="atl.general" />   
 </head>

 <content tag="key">$action.space.key</content>

<body>    

#applyDecorator("root")
    #decoratorParam("helper" $action.helper)
    #decoratorParam("context" "space-administration")
    #decoratorParam("mode" "view-space-administration")

    #applyDecorator ("root")
        #decoratorParam ("context" "spaceadminpanel")
        #decoratorParam ("selection" "add-fpc-label-action-web-ui")
        #decoratorParam ("title" $action.getText("action.name"))
        #decoratorParam ("selectedTab" "admin")
        #decoratorParam("helper" $action.helper) 

        <strong>Hello, Confluence World!</strong>
    #end
#end    
</body>
</html>
于 2012-07-06T13:30:07.047 に答える