Pull Request for Issue #6687 .
Summary of Changes
Tags in Joomla have so far partial support for multilanguage capabilities and there was partial, non-working code for associations. This PR introduces associations completely, cleans up the code around this and the multilanguage features are brought up to par with the rest of the Joomla core components.
- When multilanguage is enabled, the views in the component now only show tags and content items for the current language and
*
.
- The
tag_list_language_filter
option was removed, since it conflicts with how multilinguality works in all of the rest of Joomla. Now it automatically behaves like the rest when multilanguage is enabled.
- The
TagModel::save()
method has been largely removed and replaced with the call to AdminModel::save()
. The only thing that was kept was the rebuild
of the nested set structure. The old code didn't have the code for associations included and I'm pretty sure some other stuff was missing here, too.
- Tag associations aren't just one-on-one mappings, but there are cases where you have selected more than one tag per menu item. In that case, we have to find the association for each tag individually and then create a URL out of all those associated IDs combined. If in case of multiple tag IDs a tag doesn't have an associated tag, it will use the original tag to build the new URL. This assumes that such a tag will have
*
as language value.
- The branch is based on the changes from #39114. Please keep that PR open as well and test them separately! These changes are pretty large and if we push this all into one giant PR, this will never get tested and merged. That would be very unfortunate, so please keep it the way it is. This PR already is gigantic.
- The component currently does not contain the
Associations
toolbar button.
Testing Instructions
Please first test the general functionality of tags. This means to create a few tags in the backend both via the component and by the input field in for example articles. Assign those tags to content items, create menu items in the frontend for these tags or the the "all tags" menu item type. Surf those pages in the frontend and check if everything is displayed correctly. Also create menu items with more than one tag selected for it.
In the next step, enable multilanguage mode and mark several content items with different content languages. Mark at least one tag as from one content language, create a second tag with another content language and associate these 2 tags. Check in the frontend that a tag view only shows content matching the current language and if you click on a flag, it should redirect to the associated tag.
Link to documentations
Please select:
I don't know what we have to change here...
I have tested this item🔴 unsuccessfully on 0d7ed82
Ok, i tried the following and didn't succeed. The Test failed at least partly.
Steps I took.
I stopped the test here.
Thanks for your work so far!
This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/39140.