All add-ons currently require PHP 7.4 or greater.

On July 4th 2024 PHP 8.2 will be the new minimum requirement for all add-ons. Expect any add-on released after that date to require 8.2 or greater. Some releases may not immediately take advantage of 8.x specific features in PHP, which means you might, be able to continue using new releases in PHP 7.4, however, if you experience an error the first thing you should do is update to PHP 8.2 then create a support ticket if the error persists.

Publisher does not support the Fluid field type. Please do not contact asking when support will be available.

If you purchased an add-on from expressionengine.com, be sure to visit boldminded.com/claim to add the license to your account here on boldminded.com.

Ticket: Add option to keep Structure tree in sync across all languages based on default language

Status Open
Add-on / Version Publisher 3.9.1
Severity
EE Version 6.4.2

Eric Swierczek

Jul 12, 2023

We’re using both Structure and Publisher, and we don’t have a use-case to have separate languages have different content trees, so if we currently want to move an entry to a different place in the tree, we need to manually update the Structure Parent Entry value for that entry in all languages to keep all languages in sync. It would be very convenient if there was either a setting (or maybe a button on the entry to trigger all languages to sync to this value) that would essentially disable the Structure Parent Entry field in all non-default languages, and force all non-default languages to follow the default language’s Structure Parent Entry value.

#1

BoldMinded (Brian)

You’re using translated URLs though, so it does need to keep a version of the tree for each language, and the site isn’t a 1:1 relation for every page. Some pages do not exist in some languages (persistence settings are disabled), which means maintaining the nesting & order of two different array structures is… impossible? At the very least it would have to make several assumptions b/c you’re assuming the parent entry you want to globally assign exists in all languages.

#2

BoldMinded (Brian)

After discussion in Slack this may not be as complicated as I suspected. Might just involve

UPDATE exp_publisher_titles SET parent_id = <default lang’s parent_id> WHERE entry_id = <this entry>

#3

BoldMinded (Brian)

Comment has been marked private.

#4

BoldMinded (Brian)

After reading through this again, I feel like this is should just be an addition to the rebuild() method discussed earlier. If an entry is dragged to a different depth in the Structure tree, all of the site_pages data in publisher_site_pages is updated to include the new path for the page, which is similar to the Persistence features. However, it’s just not updating the parent_id in the publisher_titles table, which I think is the problem you’re experiencing? The parent_id in that table I believe came after the array updating in rebuild() was made, so this seems like an oversight to not update the parent_id in the rebuild function when it was initially added.

#5

BoldMinded (Brian)

So much for that idea. When a page is re-sorted in Structure it does not report which page was dragged and re-sorted.

Login to reply