Skip to header Skip to main navigation Skip to main content Skip to footer
Cookies UI
Site branding
Alaa Haddad - Drupal Expert
Consultant • Architect • Developer • Themer - Expert Drupal Solutions
Main navigation
Alaa Haddad Offers Exceptional Drupal Custom Theming and Modules in Austin TX Alaa Haddad - Drupal Expert
  • Professional Profile
  • Drupal Services
    • Drupal Development
    • Drupal Developer
    • Drupal Themer
    • Drupal Architect
    • Drupal Consultant
  • My Drupal Modules & Themes
      • Cloudflare Purge
      • Solo Copy Blocks
      • W3CSS Paragraphs
      • Paragraphs Bundles
      • Acquia Purge Varnish
      • Reference Blocked Users
      • Module Matrix
      • Paragraphs Bundles Import
      • Selectify
      • Solo Utilities
      • Utilikit
      • Solo
      • Amun
      • Anhur
      • Amunet
      • W3CSS Theme
      • 3D Carousel
      • 3D FlipBox
      • Accordion
      • Carousel
      • Hero
      • Lightbox
      • Parallax
      • Reveal
      • Slideshow
      • Tabs
  • Blog
  • Videos
  • Contact
  • Hire Me (opens in new tab)

Paragraphs Bundles Import (Drupal Module)

Breadcrumbs

Breadcrumb

  • Home
  • Drupal Modules
  • Paragraphs Bundles Import (Drupal Module)

Main page content

Alaa Haddad, professional Drupal developer based in Austin, TX   Alaa Haddad
  11:00 PM CDT, Sun September 13, 2026
Share

PB Import bulk-creates Drupal nodes and hierarchical Paragraphs structures from CSV files, built specifically to populate Paragraphs Bundles components like slideshows, accordions and tabs without building each one by hand. The core module declares core_version_requirement: ^11.3 || ^12, and its two submodules match it exactly.

Requirements — and one number the published page gets wrong

The current drupal.org project page still advertises "Drupal 10.0 or higher." That is stale. All three .info.yml files in this project — pb_import, pb_import_node and pb_import_para — declare ^11.3 || ^12, with no Drupal 10 branch at all. Installing on Drupal 10 will fail at the core-version check, not partially work.

Requirements, read from each module's .info.yml
ModuleCoreDepends on
pb_import^11.3 || ^12Block, Field, File, Filter, Image, Link, Node, Options, System, Text, User, Views, Taxonomy · Entity Reference Revisions · Paragraphs
pb_import_node^11.3 || ^12pb_import
pb_import_para^11.3 || ^12pb_import · Paragraphs Bundles

Composer's own manifest additionally pulls in drupal/paragraphs_bundles:^2.0@dev for the whole project, ahead of what the base module's own dependency list requires — worth knowing if you are pinning versions in a build.

Three admin screens, three different permissions

PB Import does not gate everything behind one permission. Each screen checks something different, which matters if you are deciding who on your team gets access:

Routes and the permission each one requires
ScreenPathPermission required
Paragraphs List/admin/content/paragraphs/paragraphs-listadminister site configuration
Register Uploaded Files/admin/content/paragraphs/register-uploaded-filesadminister site configuration
Import Nodes/admin/content/paragraphs/pb-import-nodeadminister site configuration
Import Paragraphs/admin/content/paragraphs/pb-import-paraadminister content
Edit / delete a paragraph/admin/content/paragraph/{id}/editadminister paragraphs

Registering files uploaded outside Drupal

A file dropped onto the server by SFTP exists on disk but not in Drupal's file table, so nothing can reference it in a CSV import until it is registered. Upload to a folder under sites/default/files/, go to Register Uploaded Files, enter the relative path — gallery/2024, not an absolute path — and the form scans the directory and creates a file entity for each image it finds.

Importing nodes: exact CSV headers

The header row is validated against a fixed list — both missing and extra columns fail validation, so the file has to match exactly, in this order, confirmed directly in CSVProcessorNode.php:

csv_image_url,csv_node_title,csv_image_alt,csv_image_title,csv_node_tag,csv_node_body

Only csv_node_title is strictly required on every row; a row needs an image, body content, or both, and rows with neither are skipped rather than failing the whole import. Multiple taxonomy terms in csv_node_tag are pipe-separated — Featured|New — and get created automatically if they don't already exist in the target vocabulary. This creates a PB Import Node content type on first use, with an image field, an unlimited tags reference field, and a full_html body field.

Importing paragraphs: three-level hierarchy

The paragraph importer builds a nested structure rather than flat rows. Its header, confirmed in CSVProcessorPara.php, is different from the node importer's:

csv_image_url,csv_image_alt,csv_image_title,csv_target_title,csv_target_tag,csv_target_body

One import run creates one parent paragraph (named from the "Parent Title" field on the import form), and each CSV row becomes a section paragraph underneath it holding a target paragraph with the row's image, tags and body. The three levels correspond to Slideshow, Accordion and Tabs bundles from Paragraphs Bundles — you choose which on the import form, and only bundles whose submodule is currently enabled appear as options.

The result is not attached to any node automatically. It has to be referenced deliberately: create or edit a PB Import Para node, and pick the imported parent paragraph in its Referenced Paragraph field — or find it directly at the Paragraphs List screen and attach it from there.

Installation

composer require drupal/pb_import
drush en pb_import -y
drush en pb_import_node pb_import_para -y
drush cr

Enable only the submodules you need — the node importer and the paragraph importer are independent of each other, and neither requires the other to be enabled.

Common questions

Does this replace Migrate for content migrations?

No. It is a much lighter tool aimed at editors doing repeated bulk content and component creation from spreadsheets, not a migration framework with its own plugin system, rollback, or source-plugin ecosystem.

Why did my import fail with a header error?

The header row must match the required list exactly — same columns, same order, same spelling, nothing added and nothing missing. Copy the header line from this page rather than retyping it.

Can I import a paragraph bundle that isn't Slideshow, Accordion or Tabs?

Not with this version. The importer only builds those three hierarchies; other Paragraphs Bundles types are placed by an editor directly on a node.

Does it work on Drupal 10?

No — all three modules in this project declare ^11.3 || ^12. There is no 10.x-compatible release of PB Import.

What happens to file permissions after a CSV import with images?

Files registered through SFTP registration keep whatever permissions they were uploaded with; if images fail to render after import, check that the files directory and its contents are readable by the web server before looking anywhere else.

Need help structuring a real content migration?

PB Import is free and open source. If you are looking at thousands of rows, a source system with its own quirks, or a Drupal 10-to-11/12 upgrade that has to happen before any of this runs, that is the work I take on directly.

See my Drupal services, read about what a Drupal developer does day to day, or get in touch about your project.

Paragraphs Bundles Imporet
Slide 1 of 27
Acquia Purge Varnish - API V2 (Drupal Module)
Slide 2 of 27
Amun - W3CSS Sub-Theme (Drupal Theme)
Slide 3 of 27
Amunet - W3CSS Sub-Theme (Drupal Theme)
Slide 4 of 27
Anhur - W3CSS Sub-Theme (Drupal Theme)
Slide 5 of 27
Cloudflare Purge (Drupal Module)
Slide 6 of 27
Module Matrix (Drupal Module)
Slide 7 of 27
Paragraphs Bundles (Drupal Module)
Slide 8 of 27
Paragraphs Bundles Import (Drupal Module)
Slide 9 of 27
Reference Blocked Users (Drupal Module)
Slide 10 of 27
Selectify (Drupal Module)
Slide 11 of 27
Solo (Drupal Theme)
Slide 12 of 27
Solo Copy Blocks (Drupal Module)
Slide 13 of 27
Solo Utilities (Drupal Module)
Slide 14 of 27
Utilikit (Drupal Module)
Slide 15 of 27
Views 3D Carousel (Drupal Module)
Slide 16 of 27
Views 3D FlipBox (Drupal Module)
Slide 17 of 27
Views Accordion (Drupal Module)
Slide 18 of 27
Views Carousel (Drupal Module)
Slide 19 of 27
Views Hero (Drupal Module)
Slide 20 of 27
Views Lightbox (Drupal Module)
Slide 21 of 27
Views Parallax (Drupal Module)
Slide 22 of 27
Views Reveal (Drupal Module)
Slide 23 of 27
Views Slideshow (Drupal Module)
Slide 24 of 27
Views Tabs (Drupal Module)
Slide 25 of 27
VVJ Core (Drupal Module)
Slide 26 of 27
W3CSS Paragraphs (Drupal Module)
Slide 27 of 27
W3CSS Theme (Drupal Theme)
1 of 27

Our mission is to make Drupal more accessible and user-friendly, empowering businesses of all sizes, especially small enterprises with powerful tools that streamline content customization and enhance digital experiences.

Need help with your Drupal project? Hire Me through Flash Web Center, LLC.

Search

The Drupal 11 Module and Theme Stack, With Versions Checked

ARIA Live Regions in Drupal 11: What Core Does, What You Add

Drupal Architect: The Decisions Expensive to Reverse

Drupal Services: Development, Theming, Upgrades | Austin TX

Paragraphs Bundles

Drupal Module - Paragraphs Bundles

Drupal Theme - Solo

Drupal Theme - Solo

Drupal Work List - Drupal Work

Reference Blocked Users (Drupal Module)

Solo Utilities (Drupal Module)

Views Hero (Drupal Module)

Solo (Drupal Theme)

Paragraphs Bundles Import (Drupal Module)

Drupal Theme - W3CSS Theme

Drupal Theme - W3CSS Theme

Drupal Module - W3CSS Paragraphs

Drupal Module - W3CSS Paragraphs

Inspiration

Inspiration is the fuel that powers our creative engine, often coming from our surroundings, experiences, or the works of others. It's that magical moment when something clicks inside your brain, and you suddenly see a path forward that you hadn't noticed before. Inspiration can strike at any time, providing the motivation and energy needed to explore new possibilities and bring your ideas to life.

Unique Ideas

Unique Ideas

Unique ideas are the seeds of innovation, representing original thoughts or concepts that stand out from the usual. They're the sparks that ignite the process of creating something new and different, often leading to unexpected and groundbreaking solutions or products. Whether in art, science, business, or technology, unique ideas challenge the status quo and pave the way for progress.

Brainstorming

Brainstorming

Brainstorming is a creative group activity designed to generate a large number of ideas or solutions to a problem. It's a free-flowing and open-ended discussion where every suggestion is welcomed and considered, no matter how outlandish it may seem. Brainstorming encourages thinking outside the box, fostering an environment where creativity and collaboration lead to innovative solutions.

Planning

Planning

Planning is the blueprint for turning your ideas into reality. It involves setting goals, outlining steps, and organizing resources in a way that makes achieving your objectives possible. Good planning considers potential challenges and opportunities, making it easier to navigate the journey from concept to completion. It's about preparing the groundwork so that your projects can grow and flourish.

Drupal Developer

A Drupal Developer stands as the technical powerhouse behind dynamic websites, wielding expertise in PHP, custom module development, and Drupal's sophisticated API ecosystem. This role transforms business requirements into functional, secure, and scalable web solutions that power everything from small business sites to enterprise platforms serving millions of users. A Drupal Developer's expertise spans the entire development lifecycle—from architecting custom modules and integrating third-party services to optimizing performance and ensuring security compliance. Discover the complete guide to Drupal Developer skills, career paths, and hiring strategies.

Drupal Themer

A Drupal Themer serves as the artistic craftsperson who transforms wireframes and design mockups into pixel-perfect, accessible, and responsive user experiences using Twig templates, CSS, and JavaScript. This specialized role bridges the gap between design vision and technical implementation, ensuring every website not only looks exceptional but performs flawlessly across all devices and meets WCAG accessibility standards. A Drupal Themer's work encompasses the entire front-end ecosystem—from creating custom theme architectures and optimizing Core Web Vitals to implementing complex responsive designs and ensuring seamless integration with Drupal's rendering system. Explore the comprehensive guide to Drupal Themer expertise, theming best practices, and career advancement.

Drupal Architect

A Drupal Architect emerges as the strategic visionary of web construction, armed with encyclopedic knowledge of enterprise architecture patterns, infrastructure design, and Drupal's extensive technological ecosystem. This senior role operates at the highest technical level, making critical decisions that determine whether complex implementations scale successfully or collapse under real-world demands. A Drupal Architect's responsibilities begin long before development starts—during strategic planning phases where the foundation for secure, performant, and maintainable systems is established through careful evaluation of technology stacks, integration strategies, and scalability requirements. Learn about Drupal Architect skills, enterprise architecture strategies, and career progression to principal roles.

Footer menu

  • Contact
  • Professional Resume
  • Resume Summary
  • Technical Skills
  • Privacy Policy
  • Terms & Conditions
  • Search
  • Login
  • Sitemap

Copyright © 2026 Flash Web Center, LLC - All rights reserved

Developed & Designed by Alaa Haddad