Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Enhanced Matrix Block Management with Grouping and Drag-and-Drop #42

Open
alexanderloewe opened this issue Aug 7, 2024 · 4 comments
Open

Comments

@alexanderloewe
Copy link

alexanderloewe commented Aug 7, 2024

I would like to request a new feature for the Smith plugin that enhances the usability of Craft CMS Matrix fields by allowing the grouping of different Matrix blocks. Additionally, it would be beneficial if blocks could be moved between different parent blocks (second level) via drag-and-drop, provided they belong to the same entry type.

What's your proposed solution?

Matrix Block Grouping:

  1. Introduce a native option to group different types of Matrix blocks within the field layout.
  2. This would help users visually separate and organize blocks for easier navigation and editing, especially in complex field setups.

Grouped Insertion Menu:

  1. When inserting a new block above an existing one, display the available block types in a grouped format.
  2. This ensures consistency and maintains the organizational benefits even when adding new blocks.

Drag-and-Drop Between Blocks:

  1. Enable the movement of blocks between different parent blocks at the second level using drag-and-drop.
  2. Implement logic to verify block compatibility using entry types, allowing movement only when blocks are permitted within the same entry type.

Benefits

  • Improved Readability: Users can quickly identify sections within a Matrix field, reducing cognitive load and enhancing efficiency.
  • Enhanced User Experience: A more intuitive and organized interface would make managing content with numerous block types more straightforward.
  • Flexibility in Content Management: Allowing drag-and-drop between blocks of the same entry type offers greater flexibility and efficiency in organizing content.
  • Consistency with Other Plugins: By adopting a feature similar to what was available in MatrixMate or Neo, users who are familiar with those plugins will find Smith more approachable and adaptable to their existing workflows.

This feature would greatly enhance the usability of the Smith plugin for Craft CMS users who rely heavily on Matrix fields. By introducing grouping functionality and allowing drag-and-drop between blocks, Smith could provide a more organized and efficient content management experience.

Thank you for considering this feature request

Additional context

From
Bildschirmfoto 2024-08-07 um 12 09 11

Bildschirmfoto 2024-08-07 um 15 09 05

To
Bildschirmfoto 2024-08-07 um 12 09 17

Bildschirmfoto 2024-08-07 um 15 08 57
@engram-design
Copy link
Member

engram-design commented Aug 8, 2024

Thanks for the suggestion, and the excellent write-up!

Any reason this couldn't be a feature request for Matrix itself? This functionality would be similar to Neo, which features block type groups, and does that very well. Smith is primarily focused on the clone/copy/paste functionality for Matrix blocks at the moment, but there's room for growth with more general "enhancement" features.

I'll give this some consideration.

@alexanderloewe
Copy link
Author

I have brought this idea to the core team at Craft multiple times, but it hasn't been addressed. Since developing this functionality is beyond my personal skills, I thought I would make this suggestion to you, as Verbb consistently develops excellent plugins that significantly enhance the functionality of Craft CMS.

Kudos to your team for the outstanding work!

@engram-design
Copy link
Member

No problem - thanks! I figured it'd be a great inclusion natively to core Matrix, so was going to suggest adding a feature request there as well (if you haven't already).

@alexanderbuergin
Copy link

@engram-design: Thanks. I made an other post: craftcms/cms#15554

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

3 participants