User tests: Successful: Unsuccessful:
This pull request is a recreation of #41927, where I accidentally deleted all the code changes.
Pull Request for Issue #23304, only partially.
This PR is based on #38583 and fixes the comments.
Adds the ability to batch copy/move tags in the tags list.
Copying a tag also copies its children (same behavior as in other tree models like categories, menues).
Moving a tag also moves its children (same behavior as in other tree models like categories, menues).
For example, it is possible to move a child tag from one parent to another (including its children), or to copy a child tag from one parent to another (including its children).
In the batch tag drop down there is also an item "Root" to move/copy selected tags to the root level.
Changed visualization "Action to Perform" of copy/move action, it is now hidden as long as the user does not touch the select field for copy/move. See example in video below. This change affects batch copy/move dialog of menues and articles as well.
It also fixes a browser console error when the batch dialog is opened and cancel is clicked, on systems where multilingual is disabled.
It contains an updated javascript so run: npm run build:js
Initial tag structure for each of the tests below:
Tag1
-Tag2
--Tag3
Tag4
Test 1
Move Tag2 to Tag4 results in:
Tag1
Tag4
-Tag2
--Tag3
Test 2
Move Tag1 to Tag4 results in:
Tag4
-Tag1
--Tag2
---Tag3
Test 3
Copy Tag4 to Tag2 result in:
Tag1
-Tag2
--Tag3
--Tag4 (2)
Tag4
Test 4
Check whether the visualization of "Action to Perform" of copy/move action is first hidden for views like menues, articles. Only if a target item is selected "Action to Perform" appears.
The tags list batch processing does not support copy move.
The tags list batch processing supports copy move:
Please select:
Documentation link for docs.joomla.org:
No documentation changes for docs.joomla.org needed
Pull Request link for manual.joomla.org:
No documentation changes for manual.joomla.org needed
| Status | New | ⇒ | Pending |
| Category | ⇒ | Administration com_categories com_menus com_tags Language & Strings JavaScript Repository NPM Change |
| Labels |
Added:
Language Change
NPM Resource Changed
PR-6.1-dev
|
||
I have tested this item ✅ successfully on dc15bd2
Did test like the testing instructions recommended
Moving and ordering as expected
| Status | Pending | ⇒ | Ready to Commit |
RTC
| Labels |
Added:
RTC
|
||
I have tested this item 🔴 unsuccessfully on 4e6d660
Hi @beni71, sadly, I was unable to successfully fully test this. I was testing during PBF 2026 with SD watching.
I'll explain:
I downloaded the package and applied it. (due to NPM).
I set up the Initial tag structure for each of the tests below as requested:
Tag1
-Tag2
--Tag3
Tag4
I did Test 1
Move Tag2 to Tag4 results in:
Tag1
Tag4
-Tag2
--Tag3
which was successfully but when I tried to do:
Test 2
Move Tag1 to Tag4 results in:
Tag4
-Tag1
--Tag2
---Tag3
I got instead of what you showed:
Tag4
-Tag2
--Tag3
-Tag1
and just to see, I tried Test 3:
Copy Tag4 to Tag2 result in:
Tag1
-Tag2
--Tag3
--Tag4 (2)
Tag4
but (I figured this wasn't going to work), I received the warning message (orange)
Batch process failed with following error: Joomla\Component\Tags\Administrator\Table\TagTable::moveByReference() is trying to make record ID 25 a child of itself.
(I thought it was going to be a circular reference and I think that's what the above message means.
Sorry, I tried it twice. :/
@exlemor Anyway, thanks for testing it. Could it be that you did not reset the tag structure to the initial structure, before testing test 2 and also before test 3? It certainly looks that way. I'm pretty sure this will be successful.
Before testing Test 1, 2 and 3, the tag structure must be set back to:
Tag1
-Tag2
--Tag3
Tag4
To test 3: I don't know why an error in "moveByReference" had happened, because test 3 is a "Copy" tag test, it should not move, it should copy. Didn't you "Copy"? Could you please post your initial tag structure for test3?
@exlemor Anyway, thanks for testing it. Could it be that you did not reset the tag structure to the initial structure, before testing test 2 and also before test 3? It certainly looks that way. I'm pretty sure this will be successful.
Before testing Test 1, 2 and 3, the tag structure must be set back to: Tag1 -Tag2 --Tag3 Tag4
To test 3: I don't know why an error in "moveByReference" had happened, because test 3 is a "Copy" tag test, it should not move, it should copy. Didn't you "Copy"? Could you please post your initial tag structure for test3?
Hi @beni71, ok so that moveByReference is my fault because I didn't see Copy (my brain saw Move, move move move duh on me)...
As for the Test 2 failing because it had to be reset to initial structure, neither Olivier nor I understood that from the Testing Instructions but now that I see this phrase in your reply that is clear/makes ALL the difference:
Before testing Test 1, 2 and 3, the tag structure must be set back to: Tag1 -Tag2 --Tag3 Tag4
I will re-test based on that! Thank you 🥰 !
| Status | Ready to Commit | ⇒ | Fixed in Code Base |
| Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2026-02-11 13:47:27 |
| Closed_By | ⇒ | tecpromotion | |
| Labels |
Added:
PBF
|
||
I have tested this item ✅ successfully on dc15bd2
This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/46501.