Replacement for pageOverlayFields-Feature in TYPO3 8 and above - typo3

In former TYPO3-Versions for localizing pages there was a fallback to fields of the default langauage by adding the field name to $GLOBALS['TYPO3_CONF_VARS']['FE']['pageOverlayFields']
Since TYPO3 8.7 pageOverlayFields is removed.
How can I achieve the former behaviour in TYPO3 8 and above: Translating a page and get for instance images from the media field of the default language if media is not set in current language?
I have found a workaround here:
https://forge.typo3.org/issues/80149
an here:
https://forge.typo3.org/issues/83863
for the image thing. But with this the sliding feature is lost unfortunately.
Is there any other possibility to avoid, that the editor has to link the images again and again in every language?

Related

fallbackType:fallback and translations in freemode in TYPO3 11

I am confronted with the following problem:
Site definition in a TYPO3 11 LTS installation: fallbacktype:fallback
translations of content elements in connected mode are shown in the frontend
translations of content elements in free mode are NOT shown in the frontend
site definition in a TYPO3 11 LTS installation fallbacktype:free
translations of content elements in connected mode are NOT shown in the frontend
translations of content elements in free mode are shown in the frontend
What is wrong here? Of course the editors use both modes depending on their needs ... How can I get both translation modes visible in the frontend?
Thanks
Your first example is expected behaviour, because fallbackType "fallback" first loads all contents from default language and then overlays them with translations. So contents without a connection to a default language record are not respected here. https://docs.typo3.org/m/typo3/reference-coreapi/11.5/en-us/ApiOverview/SiteHandling/AddLanguages.html#fallbacktype
Your second example could be a bug, since there are many open issues on forge related to language modes. Example: https://forge.typo3.org/issues/86627
If you find your problem on forge please add a commend there to get more attention to the issue.

TYPO3 FAL changed image not available in translation

In TYPO3 7.6, when I exchange an image in the base language I am not able to add this image in an already existing translation record.
For example: I added image pic1.jpg in English (L=0), on translating to German (L=1) pic1.jpg is available for activation. Later I remove pic1.jpg and add pic2.jpg, probably clipping or otherwise modify the relation so I have data that I want to preserve.
I'm able to delete the German translation record and add a new translation in both list view and page->languages:"Add Translation" with new image(s) and all its modifications preserved, but that is a work-around loosing all translated fields in the process.
If my memory doesn't fail me, there was a dimmed FAL record appearing in the translation media tab once it was added in the base language back in former versions of TYPO3 (6.1).
Bug? Or am I missing something?
It's a TYPO3 v7.6 core bug which exists since 2014 but it was never fixed. See bug report: https://forge.typo3.org/issues/57272
There are multiple ways to solve this issue. I had this problem too and for me it only worked with the first solution.
1. Create a ViewHelper
It's a solution from Kai Tallafus who shared his ViewHelper in the comments of the bug report 57272 (see link to bug report above).
ViewHelper: https://forge.typo3.org/attachments/download/32333/FalTranslationFixViewHelper.php
Usage of the ViewHelper in Fluid Template:
<util:falTranslationFix record="{record}" tableName="tx_myext_domain_model_foo" relationFieldName="files" as="files">
<f:if condition="{files -> f:count()} > 0">
<f:for each="{files}" as="file">
{file.properties.title}
</f:for>
</f:if>
</util:falTranslationFix>
2. Install an Extension
I found two extensions who probably will fix the bug. I recommend the first one but it doesn't work for me but maybe it will for you.
repair_translation
faltranslation (only available on bitbucket -> bitbucket.org/t3easy_de/faltranslation/src)
3. Enable sys_language_uid field for the FAL Media
There is a workaround for the translation of the FAL Media in which you enable the sys_language_uid field. When enabled the enduser can select the language for the media element. This also not worked for me but I know from a friend that in one of his project it worked. Manual (in german): www.npostnik.de/typo3/workaround-fuer-uebersetztungen-der-datensaetze-mit-fal-media/
4. Update to TYPO3 v8 LTS
When you're working on a project which could be updated to the new Version, you should consider to make an update. The Bug is fixed in the TYPO3 v8 LTS.
The viewhelper won't work for the field media in tablep-pair pages/page_labnguage_overlay. (TYPO3 8.7)
You have to seperate your translateted parts in the fluid-template. The where-clause in the query should check for 'pid' instead of 'uid'. And you have to check for a relavant entry in the media-field of the $rawRecord.

TYPO3 now supports categories natively. What about tags?

Since version 6 TYPO3 supports categories. Is it also possible to tag pages natively (or even content elements) or do I have to employ an extension for that?

Where is ExtBase reference material available?

I am searching for a good source for understanding the userFunc = tx_extbase_core_bootstrap->run magic incantation.
The seemingly autoritative documentation on forge (http://forge.typo3.org/projects/typo3v4-mvc/wiki/Documentation) starts off with non-functional links ("400 - Invalid action parameter" from git.typo3.org) and seems dated, pointing to articles with the newest date in late 2011.
The API doc at http://typo3.org/api/typo3cms/class_t_y_p_o3_1_1_c_m_s_1_1_extbase_1_1_core_1_1_bootstrap.html#a890c7dde66b4a9462983759de4d9576a is rather sparse as to what the "TS configuration array" might contain. It also seems a little odd to list two sets of arguments and two different return informations, it is almost as if two methods were concatenated in one entry. Trying to follow the source code leads to initilializeConfiguration where it seems to hand over control to some general routine.
There is a revision e6c08008 committed "over a year ago" which claims to have updated the docs to the current URL, which is supposed to be http://api.typo3.org/extbase/current/ - but this only leads to a page with lots of classes and blank frames with no content. This is the URL that is offered in my copy downloaded a few months ago as well.
So: Where might it be that I can learn how to utilize this extbase bootstrap run method? Source code is fine, but I am not able to determine where the config is actually digested.
The Extbase bootstrap can be used to use an Extbase plugin via TypoScript. Which configuration is needed to achieve that (using TYPO3 6.x) can be seen here:
Assign plugin in typoscript
This may also be a source - the Fluid and Extbase book, unfortunately not all chapters are translated to english yet (and it is based on TYPO3 4.x):
http://docs.typo3.org/typo3cms/ExtbaseGuide/singlehtml/#bootstrap
This is covering the SwitchableControllerActions:
http://forge.typo3.org/projects/typo3v4-mvc/wiki/Dispatcher_rework
Use Extbase Plugin in TypoScript

Create "multilanguage" site without redundant text in typo3

I'm not a big typo3 expert nor have I access to typoscript options at the typo3 instance I'm working with (It's a very big site and I don't have the authorization to do so). So I hope this question fits on stackoverflow (Please don't hate me if it does not, I'll happily post this on another site)
What I'm trying to achieve is:
My website has two possible translations (German and English). I see
that it's possible to switch languages during surfing through
clicking the "German"/"English"-Button
On the website are also informations about our staff (who may not be speaking german)
If one staff member doesn't speak german, I copy redundantly their english profile on the german translation mode (that it appears, because otherwise it doesn't - might be no good style, but it's better than not having them appear at all)
I'm not happy with these kind of redundancy since it means that I have to do the same action twice on the exactly same content. Does there exist a possibility in the backend of typo3 where I can set that the german translation shall be the exact same as the english content?
I hope my question is clear, thanks a lot for your help.
As you say you don't have access to typoscript templates etc, I guess you are not an integrator/developer in this project, but an editor.
Your only way to achieve an automatic "fallback" behaviour is asking the person who takes care of the site's configuration to set that up for you.
But if that's not possible, you can still use the "insert records" content element (german: "Datensatz einfügen") to avoid duplicate entries.
This content type is not in the wizard when you create a new content element. But you can create a text element and then change the type to "insert records". Now you can select another record which is then mirrored here:
You'll have a similar amount of work when setting it up, but you won't have redundant text, which is way better.
If this content type isn't available either, I would insist on the administrator enabling it for editors - it's very useful to maintain a site's content healthy.
Would be helpful to see your TypoScript configuration. Maybe theres something wrong with the sys_language_mode. Given that the sys_language_uid of english is 0 (which means its default language) and german is 1, the default behaviour should be, that german translations are shown, if available. If a translation is not available the default version of a content element is shown. However, you can change this behaviour with Typoscript:
config.sys_language_mode = content_fallback ; 5,3,1
This will set the content fallback of an content element (which is triggered if no translation exists) to sys_language_uid 5, if its not available in that language sys_language_uid 3 will be displayed etc.
Maybe your installation is set to
config.sys_language_overlay = hideNonTranslated
This will hide non-translated content-elements. Remove this entry to enable content fallback again.
You can always check the current Typoscript in the Template module via the TypoScript Object Browser. However, to really get help you need to share your TypoScript language configuration. The behaviour you describe is not the default behaviour, so its configured somewhere.