We have a pretty generic Panopoly distro right now.

To Reproduce the Problem

  • Enable the l10n_client and l10n_update modules
  • Add a language (admin/config/regional/language). I'm using Spanish.
  • Set the new language as default. A bar should appear at the bottom of the screen with a button "Translate Text". (Or whatever the text on the button is translated to. In my case, that's "Traducir Texto")
  • Go back to Home. (In Spanish, "Inicio.")

At the bottom of the screen, I see at the Panopoly bar appear with two buttons: "Customize this page" and "Change this layout". l10n_client's Translate Text button is no longer visible. It's still there--Looking at the page with Firebug, I still find all of the l10_client On Page Editor, the user just can't see it or use it.

If I now go back to the language configuration screen, the Translate Text button appears again. I click on this to open the l10n_client translation area. Once again, I go to Home. The l10n_client translation area is still open, which is good. However, the Panopoly bar still covers the bottom of it.

Problem Description

The problem is that the l10n_client "On Page Editor" and the Panopoly "In Page Editor" both use the same concepts. Both use on-page editing and a menu bar at the bottom of the screen. The Panopoly editor happens to take precedence when both are on the page.

I think this will confuse translators/content editors.

Possible Solutions

I can think of two possible solutions:

  1. It'd be nice to see the Panopoly In Page Editor bar float above the l10n_client On Page Editor area. (I've been trying to figure out how to do this but I'm not very familiar with CSS yet.)
  2. Add a button for the l10n_client On Page Editor to the Panopoly bar. I don't like this because this button is redundant. However, it has the slight advantage of making the button look consistent with the the other two buttons.

Notes

The code adding Panopoly buttons to the In Page Editor is in panels_renderer_ip.class.php. The code for the l10n_client on page editor is in function l10n_client_page_alter() in l10n_client.module.

Comments

inkling’s picture

Title: l10n_client Translate Text button gets Hidden » l10n_client On-Page Translation button "Translate Text" gets Hidden
sylus’s picture

I just used the following css to make this work:

.panels-ipe #l10n-client { bottom: 52px; z-index: 999; }

inkling’s picture

#1903570 l10n client not visible if Panels In-Place-Editor is present is very similar or a duplicate. The patch suggested there might work here and I'll try to get to that soon. #2 may well work, too.

inkling’s picture

This is similar or maybe a duplicate of #1813192 "TRANSLATE TEXT" Button is not beeing displayed

populist’s picture

Status: Active » Postponed (maintainer needs more info)

There is a general problem here around how the screen real estate at the very bottom of the screen is handled, but happy to push a specific solution/patch into Panopoly if folks can recommend what looks like the best direction (even if it is just some CSS from sylus).

Let me know what might be best for you all!

inkling’s picture

A couple of months ago one of our guys tinkered with the CSS and produced something that looked reasonable. I don't have his source code, and I still don't really know CSS much, but I did take some notes. Maybe they'll be useful to someone.

div#panels-ipe-control-container
add:
margin-left: 35%;
margin-right: 35%
override:
width: inherit;

inkling’s picture

Issue summary: View changes

More information.

lsolesen’s picture

@inkling Could you get "one of your guys" to create a patch?

dsnopek’s picture

Status: Postponed (maintainer needs more info) » Closed (won't fix)

This is a general problem with Drupal modules having no mechanism or API to share the area at the bottom of the screen. Until a solution to this problem appears in Drupal in general and modules like i10n_client and panels_ipe start using it, there really isn't anything Panopoly can do about this. We could theoretically attempt to solve it for the modules we bundle with Panopoly (like panels_ipe), but we can't do anything for all the modules we don't (like i10n_client) which could be competing for the same place on the screen.