定制 nextagencyio/json_import 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

nextagencyio/json_import

Composer 安装命令:

composer require nextagencyio/json_import

包简介

Import Drupal model and content from JSON via admin form or drush command.

README 文档

README

Overview

The JSON Import module allows you to import Drupal content types, paragraph types, and content from JSON configuration via an admin form or drush command. This module is forked from dcloud_import but focuses specifically on JSON-based imports without API functionality.

Features

  • Admin form interface for importing JSON configurations
  • Drush command for command-line imports
  • Support for content types, paragraph types, fields, and content
  • Preview mode to see what would be imported
  • Comprehensive validation of JSON structure

Installation

  1. Place the module in modules/custom/json_import
  2. Enable the module: drush en json_import

Usage

Admin Interface

Navigate to ConfigurationContent authoringJSON Content Import (/admin/config/content/json-import)

The form provides:

  • JSON input field with validation
  • Example JSON configuration
  • Preview mode option

Drush Command

Import from command line:

# Import from a JSON file
drush json_import:import /path/to/config.json

# Preview what would be imported
drush json_import:import /path/to/config.json --preview

# Using alias
drush ji:import /path/to/config.json

JSON Structure

The module expects JSON with model and/or content arrays:

{
  "model": [
    {
      "bundle": "event",
      "description": "Content type for events",
      "label": "Event",
      "body": true,
      "fields": [
        {
          "id": "event_date",
          "label": "Event Date", 
          "type": "datetime"
        }
      ]
    }
  ],
  "content": [
    {
      "id": "event1",
      "type": "node.event",
      "values": {
        "title": "Sample Event",
        "event_date": "2024-03-15T09:00:00"
      }
    }
  ]
}

Permissions

  • Import JSON Configuration: Required to use both the admin form and drush command

Requirements

  • Drupal 10 or 11
  • Paragraphs module (for paragraph type imports)

Technical Details

Services

  • json_import.importer: Main import service
  • json_import.field_type_mapper: Maps field types
  • json_import.commands: Drush command service

Key Classes

  • JsonImportForm: Admin form
  • JsonImportCommands: Drush commands
  • DrupalContentImporter: Core import logic

File Structure

json_import/
├── json_import.info.yml
├── json_import.permissions.yml  
├── json_import.routing.yml
├── json_import.services.yml
├── json_import.links.menu.yml
├── src/
│   ├── Commands/
│   │   └── JsonImportCommands.php
│   ├── Form/
│   │   └── JsonImportForm.php
│   └── Service/
│       ├── DrupalContentImporter.php
│       ├── FieldTypeMapper.php
│       └── FileValidationService.php
└── resources/
    └── sample.json

统计信息

  • 总下载量: 155
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-2.0-or-later
  • 更新时间: 2025-08-28