This is a very cool module, nice work! It seems that there is a bit of a problem when you enable this module and then go to a page that has the panels in-place editor renderer enabled. The page will give the WSOD with the following error:
Fatal error: Class 'panels_renderer_editor' not found in /var/www/html/cmhr.openplus.ca/profiles/wetkit/modules/contrib/panels/panels_ipe/plugins/display_renderers/panels_renderer_ipe.class.php on line 6
If I change the rendered to the multilingual panels then the page will work fine. That being said, apparently with this module I need to choose between multilingual panels and in-place editing which could be difficult as many of the sites we are building requires both.
p.s. While fix may looks like performance loss, in practice its not noticeable by any means, and since at this point modules are exclusive i doubt that this will have any effect except will save your site from WSOD when both modules enabled.
Comments
Comment #1
roborew commentedHaving the same issue and requirement. It would be great to allow multilingual support with the in-place-editor plugin. The only way I can see this working at the moment is to create another plugin that extends from the IPE plugin integrating the methods from this plugin. This request is also a duplicate of #1971954: Problem. Is there any active development on this project? Would be good to get some dev work started on this as our project will definitely need this in the future. But initially it would be good to remove the above error to allow for a choice between multilingual and the IPE plugin.
Comment #2
jim kirkpatrick commentedThis issue actually breaks Aegir management of the site too -- it's an early registry error that kills the site.
I would expect the cause is simply that the requisite includes/ctools includes have not happened by the time MLPanels asks for them. I've not yet had chance to delve into this, but it's clear a reference or include is missing from this module's code.
Marking as critical as it's a site killer.
Comment #3
jim kirkpatrick commentedOK so I've got a bit of a hacky fix for this... Basically the cause is that the MLPanels module blindly includes the class file for the 'panels_renderer_editor' renderer it wants to override, but that class inherits another "panels_renderer_standard", which is not loaded.
This causes (for me) a similar error that does not rely on Panels IPE to cause it...:
The cause is in mlpanels_ctools_plugin_pre_alter() in mlpanels.module at line 55. In here it's trying to force the 'editor' renderer to use its own, so (as outlined above) it tries to load that class which needs another ("panels_renderer_standard") that is not loaded in all cases.
I
fixed-- EDIT kinda fixed --- the error on my site by adding a line to load the appropriate class when it's overriding the panels 'editor' renderer plugin... Starting line 63 I replaced:With a sanity check and also the required renderer inheritied class:
Now this whole thing feels hacky since we're not using CTools or Drupal to include the appropriate class AND pre-requisites, BUT it works!
--- EDIT: This worked on one site but not another... Hmmm... ---
I'm hoping this helps others so we can get their thoughts as to a proper solution... Perhaps this question needs to be asked over in the Panels or CTools issue queue -- and fundamentally that question is: "How do we safely include the Panels renderer AND its prerequisites at a time the system is preparing CTools plugin information?"
Of course it's possible that the question above is wrong because the current approach used by this module isn't ideal, and using a different approach when overriding the 'editor' renderer class might be a better move.
Comment #4
csc4 commentedI think the problem I've got is related to this, I don't get WSOD but I am getting the error
Indeed it does as it's in sites/all/modules/mlpanels and also in sites/all/modules/mlpanels/plugins/display_renderers
Should I try the patch or should I copy the file into the panels directory or is there another better solution?
Comment #5
sja1 commented-
Comment #6
sja1 commentedFor temporary workaround for site management in Aegir (and perhaps for other cases as well), you can disable the multilingual panels module before cloning or migrating the site, and then reenable it once clone or migration is complete.
Comment #8
qwaygon commentedWSOD is fixed in 7.x-1.3 (at least for me), but seems like this module is exclusive with IPE, and i don't see any way to make them both works except add another renderer option like "IPE multilingual" and extend IPE class, resulting class will looks rather hacky.
IPE support may be included in future but not in nearest month.