-
-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[4.1] [GSoC 21] Core Enhancement 1 - Improve Menu-Module Assignment #34743
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
| <extension type="plugin" group="system" method="upgrade"> | ||
| <name>plg_system_addmodulebutton</name> | ||
| <author>Joomla! Project</author> | ||
| <creationDate>June 2021</creationDate> |
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good spot!
I'll remember to revisit this when the PR gets 2 successful tests.
Thanks
|
deleted this as its not related to this pr |
|
I was really confused about this button. I thought when it said "add a new module here" the here meant something connected to the area on the screen that the button is located. I finally understand that there is just one button on the page.
|
|
Final comment on the frontend creation of modules. Click on the button You are now stuck in the admin interface. Expected behaviour would be to return to the site and now you can see what you have done |
|
Thank you soo much @brianteeman for such a thorough feedback! I agree with all the points that you stated. I will start working on these improvements. |
| ?> | ||
| <joomla-field-fancy-select <?php echo implode(' ', $attributes); ?>> | ||
| <?php | ||
| echo HTMLHelper::_('select.groupedlist', $positions, $name, array( |
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
| echo HTMLHelper::_( | ||
| 'bootstrap.renderModal', | ||
| 'Modal_position', | ||
| array( |
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
| * @package Joomla.Administrator | ||
| * @subpackage com_modules | ||
| * | ||
| * @copyright (C) 2021 Open Source Matters, Inc. <https://www.joomla.org> |
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
| if ($showAddModuleBtn) | ||
| { | ||
| // Add Script Options to pass the Button label Language Constant | ||
| $config = array( |
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
|
Could someone add the "conflicting files" label please |
|
This pull request has automatically rebased to 4.2-dev. |
|
Unfortunately there are too many open questtions with 3rd party templates and template frameworks, no chance to make it compatible with all possible constellations. |





Project Repo PR: joomla-projects/gsoc21_core-enhancements#1
Plan Document: https://docs.google.com/document/d/1Pl8JGa2hkYkmJzQOn9_mS8a4imDmqc2a/edit#heading=h.gewhdn9rqyeh
Summary of Changes
Frontend Flow:
This PR re-invents the unconventional method of placing modules from the Backend Dashboard to an easier to visualize series of steps where the users can visit a particular page in the Frontend (while logged in to an admin account) and from there, they can select the menu (automatically determined based on the page) and position of the Module by the means of buttons that reflect the output of where the module will be placed if the user proceeds to create it.
plg_system_addmodulebuttonfor displaying the Add Module Button<main>tag which is omnipresent on all pages.?pm=1as a GET parameter in the URL. This is similar to the?tp=1parameter that is used for displaying template positions?pm=1) Viewadministrator/index.php?option=com_modules&task=module.selectPosition&position=footer&menu=101. This URL has 3 parts:task=module.selectPositionis used to call the selectPosition Controller in com_modules/module&position=footeris used to pass the position as a GET param&menu=101is used to pass the menu id of the current page as a GET paramHere is a video demonstration of the overall frontend flow :
Frontend.Flow.mp4
Backend Flow:
Editing Modules in the Backend Admin Panel turned out to be a little tricky for the user if the template positions were not easy to visualize or if the User was unaware of the layout of the template positions. The old way for a user to get around this difficulty was to
?tp=1as a param in the Page's URL (Might not be easy for users who do not have a technical background)To simplify all this into an easier and efficient method, a new modal has been added to select the positions via their preview. The video below demonstrates this new modal:
Module.Placement.Backend.flow.mp4
Testing Instructions
npm cibecause this PR involves re-building of assetsActual result AFTER applying this Pull Request
Refer to the two videos in the Summary of Changes section.
Documentation Changes Required
I'm not sure but I think this should be included in the Joomla Docs as a User Guide for the new feature.
Mentors
@chmst @nibra @bembelimen
(and thanks @richard67)