Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
The slugs of child pages are built incorrectly and return a 404 error when a user adds a custom slug for another language of the parent page #6622
The slugs of child pages are breaking when a user adds a custom slug for another language of the parent page, this leads to incorrect urls being displayed and the correct urls return a 404 error.
On the 6th the url in the menu should be
The issue doesn't appear to be present in django-cms 3.4.5 though.
A prerequisite for reproducing this is that at least one of the parent's (i.e. parent-(en|de)) ancestors (including the root page) does not have a German translation. If all pages in the chain have a German translation, it works fine.
If a translation in the chain is unpublished, all children of the page will show a tooltip "unpublished parent" in the page tree view for the publish icon of the translation.
I also have a page with a CMSApp hook and a CMSAttachMenu only in English. The CMSAttachMenu will raise NoReverseMatch errors if another language is selected, presumably because the urlpatterns have not been loaded.
So, I'd guess the fallback mechanism isn't working properly (I have configured fallbacks in CMS_LANGUAGES).
cms.models.pagemodel.mark_descendants_as_published() updates the paths of the published titles of its children:
I think it should update all titles of its children: