Hello,
Here is a problem in composite layout :
Setup:
- I have languages L1,L2 and L3 ;
- I have a node N1, originally posted in language L1 and translated in language L2 but not in language L3 ;
- I have a composite layout C1, which includes node N1.
Result:
- If I view composite layout C1 in language L1, I get node N1 in language L1 ;
- If I view composite layout C1 in language L2, I get node N1 in language L2;
- If I view composite layout C1 in language L3, node N1 does not get displayed.
Solutions:
- Without i18n module, Drupal does not offer language based content negotiation settings. In this case I would suggest the correct approach is to display the node in :
- The current language if possible;
- If not, the default language if possible;
- If not the node shouldn't be displayed
- With i18n module, then the language bases content negotiation settings should be followed.
I've attached a patch which implements the no-i18n part of the fix.
Thanks for this awesome module :)
| Comment | File | Size | Author |
|---|---|---|---|
| composite.patch | 916 bytes | Alice Heaton |
Comments
Comment #2
bengtan commentedHi,
(Disclaimer: This is a semi-tricky one for me to adjudicate because I don't currently run any multilanguage sites and my experiences with translation.module was with 5.x and quite some time ago. I may not necessarily be up to date with current convention regarding translations.)
Isn't the following more robust (and follows the path of least surprise)?
Without the i18n module, show:
I differ on point 3.
In any case, I don't think your patch covers 'With i18n module, then the language bases content negotiation settings should be followed.' and I'm not about to dig it up either.
Comment #3
kenorb commentedClosed because Drupal 6 is no longer supported. If the issue verifiably applies to later versions, please reopen with details and update the version.