カスタムアクションを作成する方法

カテゴリ コンテンツの管理 コアバージョン 8.4x 関連モジュール Action

modules/custom/youmodule/config/system.action.your_action_name_action.yml

id: your_action_name_action
label: 'ノードにXXを事をする'
status: true
langcode: en
type: node
plugin: your_action_name_action
dependencies:
  module:
    - node

modules/custom/youmodule/src/Plugin/Action/YourActionName.php

<?php

namespace Drupal\image_manager\Plugin\Action;

use Drupal\Core\Action\ActionBase;
use Drupal\Core\Session\AccountInterface;
use Drupal\node\Entity\Node;

/**
 * ノードをXXする。
 *
 * @Action(
 *   id = "your_action_name_action",
 *   label = @Translation("Your Action Name"),
 *   type = "node"
 * )
 */
class YourActionName extends ActionBase {

  /**
   * {@inheritdoc}
   */
  public function execute($node = NULL) {
    $node----->set('field_xxxxx', $node->get('field_yyyyy')->value + 1);
    〜
    $node->save();
  }
​
  /**
   * {@inheritdoc}
   */
  public function access($object, AccountInterface $account = NULL, $return_as_object = FALSE) {
    $isEnable = 〜
    // = $object->access('delete', $account, $return_as_object); とか
    return $isEnable;
  }
}

OTHER FAQ

Drupal開発・運用の疑問/質問の答えはここに

無料ユーザー登録すると質問できます。

カテゴリ昇順で並び替える Core Ver. 関連モジュール タイトル
コンテンツの作成 7.50 Inline Entity Form Drupal6のフィールドグループのようなモジュールはありませんか?
コンテンツの作成 7.38 Webform Webformでテーブル形式にしたい
コンテンツの作成 7.50 Expanding Textareas Textareaフォームの行サイズを自動調整するモジュール
コンテンツの作成 7.38 node 代理投稿を可能にしたい
コンテンツの作成 8.9.x vim nkf ファイルのエンコーディングを確認、変更する方法
コンテンツの作成 8.4x node node保存前に色々やる方法
コンテンツの作成 6.x Views カルーセルのように回転するコンテンツを作りたい
アップデート 7.50 Download count DOWNLOAD MODULEページでダウンロードが失敗することがある
アップデート 8.9.x composer patch patch を composer に 組み込む方法
アップデート 8.9.x Composer update Composer で drupal/core-8.9.7 に更新できなくなった場合の処置
アップデート 8.9.x PHP CentosでPHPのバージョンアップ(例:5.3->5.6)を行う方法
アップデート 7.34 Distribution(Commerce Kickstart) drushでcommerce_kickstartのアップデートに失敗する
アップデート 8.7.2 menu drupal-core 8.7.2にupdateしたところ
アップデート 8.9.x Composer update composer update するときに パッチが必要なモジュールが更新されパッチが消えてしまうことへ対応する方法
アップデート 7.16 Core 7.15→7.16アップデート
アップデート 7.28 DisableMessages モジュールのアップデートガイダンスを非表示にしたい
アップデート 8.8.x Composer composer updateが異常終了する
アップデート 7.15 Webform Backup_and_Migrate drupal7.12 -> drupal7.14アップデートメモ
アップデート 7.34 Core 簡単にCoreのセキュリティアップデートがしたい
アップデート 7.28 Views Pagerが表示されなくなった

ページ