カスタムアクションの実装Magnolia CMS

Ana Sustic:

Magnolia 6.0のカスタムアクションの実装と同様に、マグノリアのページアプリのアクションバーにカスタムアクションを実装しようとしています

私の実装は:

package ch.zzz.module.versioning;


import info.magnolia.ui.api.action.Action;
import info.magnolia.ui.api.action.ActionExecutionException;
import info.magnolia.ui.api.action.ConfiguredActionDefinition;

public class ZzzVersioning extends ConfiguredActionDefinition {

    public ZzzVersioning() {
        this.setImplementationClass(MyAction.class);
    }
}

class MyAction implements Action {



    @Override
    public void execute() throws ActionExecutionException {
        System.out.println("Hello! Executed MyAction");
    }
}

ページアプリのアクションの構成は、クラスch.zzz.module.versioning.ZzzVersioningを使用しており、ページアプリのアクションバーのアイテムの下にアクションをリストしました。

構成アプリモジュール>ページ>アプリ>ページ>サブアプリ>ブラウザ>アクション> MyActions -class = ch.zzz.module.versioning.ZzzVersioning

モジュール>ページ>アプリ>ページ>サブアプリ>ブラウザ>アクションバー>セクション>ページアクション>インポートエクスポートアクション>アイテム-マイアクション

アクションバーのMyActionをクリックすると、エラーメッセージが表示されます。 Could not instantiate action class for action: MyAction.

これは私がログで得るものです:

2019-11-22 08:37:26,498 ERROR fo.magnolia.ui.contentapp.browser.BrowserPresenter: An error occurred while executing action [MyAction]
info.magnolia.ui.api.action.ActionExecutionException: Could not instantiate action class for action: MyAction

...そしてスタックの最後に:

Caused by: info.magnolia.objectfactory.MgnlInstantiationException: No suitable constructor found for class [class ch.zzz.module.versioning.MyAction]
        at info.magnolia.objectfactory.ObjectManufacturer.newInstance(ObjectManufacturer.java:124) ~[magnolia-core-5.6.10.jar:?]
        at info.magnolia.objectfactory.guice.GuiceComponentProvider.newInstanceWithParameterResolvers(GuiceComponentProvider.java:132) ~[magnolia-core-5.6.10.jar:?]
        at info.magnolia.ui.framework.ioc.UiContextBoundComponentProvider.lambda$newInstanceWithParameterResolvers$4(UiContextBoundComponentProvider.java:113) ~[magnolia-ui-framework-5.6.10.jar:?]
        at info.magnolia.ui.framework.ioc.UiContextBoundComponentProvider.provideInCurrentScope(UiContextBoundComponentProvider.java:125) ~[magnolia-ui-framework-5.6.10.jar:?]
        at info.magnolia.ui.framework.ioc.UiContextBoundComponentProvider.newInstanceWithParameterResolvers(UiContextBoundComponentProvider.java:113) ~[magnolia-ui-framework-5.6.10.jar:?]
        at info.magnolia.ui.framework.ioc.UiContextBoundComponentProvider.newInstance(UiContextBoundComponentProvider.java:108) ~[magnolia-ui-framework-5.6.10.jar:?]
        at info.magnolia.ui.api.action.AbstractActionExecutor.createAction(AbstractActionExecutor.java:90) ~[magnolia-ui-api-5.6.10.jar:?]
        ... 129 more

これを機能させる方法はありますか?

ソリューション ©Ducay035私のおかげで、カスタムバージョン管理クラスのための解決策を見つけることができました。

package ch.zzz.module.versioning;

import info.magnolia.ui.api.action.CommandActionDefinition;

/**
 * Definition interface for the MyAction page action.
 */

public class UzhVersioning extends CommandActionDefinition {

    public UzhVersioning() {
        this.setImplementationClass(MyAction.class);
    }
}

およびMyActionクラス:

public class MyAction extends AbstractMultiItemAction<Versioning>  {

    public MyAction(Versioning definition, JcrItemAdapter item, UiContext uiContext) {
        super(definition, item, uiContext);
        // TODO Auto-generated constructor stub
    }




    @Override
    public void execute() {
    ////your action code here
    }
Ducaz035:

IOCシステムが見つけられるように、クラスを公開する必要があります。ただし、注入メカニズムを使用する場合は、コンストラクターを非公開にすることができます。

乾杯、

それが役に立てば幸い

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Magnolia CMSのローカルシステムにアセットとWebサイトコンテンツを保存する方法は?

分類Dev

CMSなしのCDN

分類Dev

Magnolia CMS5.5.5は一部のダムファイルへのアクセスを拒否します

分類Dev

オーチャードCMSメディアライブラリにカスタムアクションを追加する

分類Dev

Magnolia CMS 5.5 全文検索

分類Dev

カスタムPHP開発とCMS

分類Dev

CMS編集スキーム

分類Dev

Magnolia CMSとKeycloak(SSO)の統合

分類Dev

カバcmsのckeditorにカスタムカラーを追加

分類Dev

カスタム CMS のカテゴリ/ページの .htaccess RewriteRule

分類Dev

マグノリア6.0カスタムアクションの実装

分類Dev

カスタムUIDynamicBehaviorアクションを実装する方法

分類Dev

Java CMS GCの動作

分類Dev

OpenERP7のCMS機能

分類Dev

CraftCMS対WordPress対他のCMS

分類Dev

Django-CMS:djangoadminのPlaceholderField

分類Dev

オーチャードCMSカスタムバックグラウンドジョブ

分類Dev

アポストロフィ cms の投稿/ページにコメント セクションを追加します。

分類Dev

Bolt CMSでカスタムPHPコードを実行する方法は?

分類Dev

オープンソースのJava CMS

分類Dev

Bolt-CMSカスタム分類階層

分類Dev

Mura CMS - カスタム属性を表示するには?

分類Dev

カスタム CMS でページを作成する

分類Dev

AngularのControlValueAccessorのカスタム実装内で「updateOn」オプションにアクセスする方法は?

分類Dev

WebサービスのCMSの選択

分類Dev

入札+ショッピングカート:オープンソースのCMSまたはZend Framework?

分類Dev

10月のcms(laravel)whereクエリ

分類Dev

アポストロフィCMSでカスタム画像サイズをどのように追加しますか?

分類Dev

ヘッドレス/分離CMSの提案

Related 関連記事

  1. 1

    Magnolia CMSのローカルシステムにアセットとWebサイトコンテンツを保存する方法は?

  2. 2

    CMSなしのCDN

  3. 3

    Magnolia CMS5.5.5は一部のダムファイルへのアクセスを拒否します

  4. 4

    オーチャードCMSメディアライブラリにカスタムアクションを追加する

  5. 5

    Magnolia CMS 5.5 全文検索

  6. 6

    カスタムPHP開発とCMS

  7. 7

    CMS編集スキーム

  8. 8

    Magnolia CMSとKeycloak(SSO)の統合

  9. 9

    カバcmsのckeditorにカスタムカラーを追加

  10. 10

    カスタム CMS のカテゴリ/ページの .htaccess RewriteRule

  11. 11

    マグノリア6.0カスタムアクションの実装

  12. 12

    カスタムUIDynamicBehaviorアクションを実装する方法

  13. 13

    Java CMS GCの動作

  14. 14

    OpenERP7のCMS機能

  15. 15

    CraftCMS対WordPress対他のCMS

  16. 16

    Django-CMS:djangoadminのPlaceholderField

  17. 17

    オーチャードCMSカスタムバックグラウンドジョブ

  18. 18

    アポストロフィ cms の投稿/ページにコメント セクションを追加します。

  19. 19

    Bolt CMSでカスタムPHPコードを実行する方法は?

  20. 20

    オープンソースのJava CMS

  21. 21

    Bolt-CMSカスタム分類階層

  22. 22

    Mura CMS - カスタム属性を表示するには?

  23. 23

    カスタム CMS でページを作成する

  24. 24

    AngularのControlValueAccessorのカスタム実装内で「updateOn」オプションにアクセスする方法は?

  25. 25

    WebサービスのCMSの選択

  26. 26

    入札+ショッピングカート:オープンソースのCMSまたはZend Framework?

  27. 27

    10月のcms(laravel)whereクエリ

  28. 28

    アポストロフィCMSでカスタム画像サイズをどのように追加しますか?

  29. 29

    ヘッドレス/分離CMSの提案

ホットタグ

アーカイブ