Unpublished translations are showing up in our dropdown, which leads anonymous users to a 404 page. Idealy these nodes would not appear in the dropdown as they are not ready for public consumption.

We've fixed it by adding the following code:

  // Now we iterate on $languages to build the needed options for the select element.
  foreach ($languages->links as $lang_code => $lang_options) {
		
		
    //Patch - start
    //this keeps unpublished nodes from showing in the dropdown
    if(!empty($lang_options['href'])){
      $node = menu_get_item($lang_options['href']);
      if($node['map'][1]->status == 0){
        continue;
      }
    }    
    // end patch

Any chance of a patch?

Thanks! (Lovely little module.)

Comments

manfer’s picture

Status: Active » Postponed (maintainer needs more info)

I'm not able to reproduce your issue. Not published nodes doesn't appear in the language dropdown switcher.

manfer’s picture

Issue summary: View changes
Status: Postponed (maintainer needs more info) » Fixed

Not sure if there were some problem with language negotiation session, none that I know with language negotiation url, but version 7.x-2.1 should solve it if any.

If on the other hand this is related to entity translation then it is just that still there isn't a proper integration of entity translation with the language switchers, not with core language switcher and not with language dropdown switcher. That one would be not a language dropdown switcher issue.

There is another issue about entity translation so I'm going to consider this one as fixed, considering it must not be about entity translation.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.