Localization do not work when "l18parent" is empty (0) - typo3

When a content element is translated using "translate" method and so have a l18parent, the content shows up in frontend.
When using "copy" method or created the content in new language without l18parent the content do not appear in frontend.
Can simply test it when unselecting a l18parent in CE form and selecting a parent again.
See screenshots attached.
With parent, working.
Without parent, not working (not appearing in frontend).
Not working
Working

Since TYPO3 6.2 there is a new setting for the CONTENT object: includeRecordsWithoutDefaultTranslation
see here: https://docs.typo3.org/typo3cms/TyposcriptReference/6.2/Functions/Select/
Before this, the CONTENT object fetched all elements.
After this change, only elements which were correctly translated in the backend with the translation buttons, are displayed, because they have a parent.
Maybe you can check with these settings in your typoscript (at the beginning of your typoscript):
styles.content.get.select.includeRecordsWithoutDefaultTranslation = 1
styles.content.getLeft.select.includeRecordsWithoutDefaultTranslation = 1
styles.content.getRight.select.includeRecordsWithoutDefaultTranslation = 1
Then all elements should show up again; even the ones without parent.
Original resource for this is written in german here:
http://blog.teamgeist-medien.de/2014/08/typo3-content-anzeige-von-uebersetzungen-ohne-parent-bzw-default-translation.html

Related

TYPO3: How to use disablePrependAtCopy in combination with allowLanguageSynchronization?

My question refers to the default "assets"-TCA-field. For the assets-field allowLanguageSynchronization is set to 'true' and disablePrependAtCopy for sys_file_reference is active.
This configuration works as expected when the content element is translated for the first time. [Translate to XY] is not visible in the translated content element.
However, when I add another image to the content element for sys-lang 0 after the initial translation, [Translate to XY] is visible for sys-lang 1.
(Click image to enlarge)
How can I stop TYPO3 from adding [Translate to XY] to the metadata fields?
Configuration:
Version: TYPO3 9.5.5
'allowLanguageSynchronization' is set to true:
$GLOBALS['TCA']['tt_content']['columns']['assets']['config']['behaviour']['allowLanguageSynchronization'] = true;
I also disabledPrependAtCopy for assets:
TCEMAIN.table.sys_file_reference {
disablePrependAtCopy = 1
}
What I tried:
For sys-lang 0: Add image to a content element which uses the assets field (e.g. text-media).
Add metadata for image (e.g. title).
Translate content element to sys_lang 1 ([Translate to XY] is not visible as expected).
Go back to sys-lang 0: add a second image to content element and save the changes.
Switch to sys-lang 1: metadata of new file now contains [Translate to XY] -> How can I prevent that?
You need another TCEMAIN setting here.
Try the following code
TCEMAIN {
translateToMessage =
}
if this does not work, maybe you can disable it by this code
TCEMAIN {
translateToMessage >
}
The issue is still not fixed. https://forge.typo3.org/issues/87887 is connected to TYPO3 v9, however changes in v10 were made. Even those changes do not work..
However, I was able to walk around the problem by unset the l10n_mode of the fields alternative, description and title.
Default it is set to prefixLangTitle and exclude would remove the field in the translations completely.
Therefore, unset (or probably set it to empty or an invalid value) does not add the prefix.

TYPO3 extension: records created in BE don't appear in FE, but records created in FE don't appear in BE

In TYPO3 8.7.9 i'm working on an extension. Normally it should be possible to create records in BE and FE but it seems that the records created in BE aren't listed in the Frontend view. But if i create a record in the FE, it is only shown in the FE view, but doesn't appear in the BE. I've checked the controllers and everything seems to be fine. The list action accesses the specific repository and assigns it to the view:
public function listAction()
{
$termins = $this->terminRepository->findAll();
$this->view->assign('termins', $termins);
}
Edit: I've just checked the mysql database entries and they contain ALL 3 entries, the two i made in BE and one i made in FE, but in the FE only one appears, in the BE the other two appear. I've never experienced that kind of behaviour.
Edit2: Of course i injected the repository.
Use default value of storage pid for new records with TypoScript like
config.tx_extbase.persistence.classes.Vendorname\Kundentermine\Domain\Model\Termin.newRecordStoragePid = 1
You can add this line in a file in your extension kundentermine/ext_typoscript_setup.txt which will be loaded automaticly into root page.
Set also in your default typoscript setup
plugin.tx_kundentermine_pi.persistence.storagePid = 1
to ensure, your Vendorname\Kundentermine\Domain\Repository\TerminRepository class fetches entries from correct storage page.
Adapt vendor, extension and model name...
Se also https://docs.typo3.org/typo3cms/ExtbaseFluidBook/b-ExtbaseReference/Index.html#persistence

Cannot add a third content field

I'm kinda new to typo, so maybe I am just missing something.
I'm trying to add a third content field to Typo3 4.5.
What I've done so far.
Edit my template and added a new block
Added the block via TemplatVoila > Update Mapping > Modify DS / TO with Element Preset "Page-Content Elements [Pos.: 0]
Mapped it to the new block in the template
But I am missing something as the new field isn't showing up in the Page edit screen.
EDIT: I've found the Block in the "Edit page properties" but how to show it on standard edit screen?
Any added content area will appear automatically in your TV-View-module. So if you dont see it in there, then
you may have duplicate fields names
wrong column positions
or the existing template is using a »beLayout«-section, which shows only the first two content areas (see example in reference http://docs.typo3.org/typo3cms/extensions/templavoila/ExtTemplavoila/StaticDataStructures/ExampleForBelayout/Index.html)
The TemplaVoila template is split into TS (TemplaVoilà Template Object) and DS (TemplaVoilà Data Structure) records, may you paste the content of the field „Data Structure XML“ of the DS record here? In there are all necessary information.
The two template files should be located in your general storage folder, your TypoScript root file should be there as well.

TYPO3: Duplicate content elements and fields after Flux 6.0.x update

Since updating from Flux 6.0.2 to the newest Flux TER-Release (7.0.0) I have the problem that all my defined flux:field.select items are switched. I have them defined as an array like this items="{0: {0: 'value shown as a CSS class in the frontend',1: 'value shown in BE'},}". But now I get the BE value in the frontend template.
Also all my content elements from my provider extension are shown twice (without a title) in the backend and the fields defined in the 'Configuration' section of my content element are shown twice.
There's also a RTE field shown at the bottom of my content element that has not been there before.
BE Output: view
Code on Pastebin: http://pastebin.com/CNcphn2k
Any help deeply appreciated.
EDIT:
I just set up a fresh instance of TYPO3 6.1.9 (blank package) and installed my extension with the above mentioned content elements. Dependencies were resolved automatically as it should (newest versions). Via the content wizard I tried to create a new element and I get the same result as in my existing install I first noticed this bug in.
EDIT2:
I was able to narrow it down to the flux:form.container tag. This duplicates the output in the BE. The select values are still switched though.
It is possible that you missed this official announcement:
http://fluidtypo3.org/blog/news/new-colpos-value.html
Failure to run the update script before letting TYPO3 change the type of the colPos value will result in the symptoms you describe. There is, unfortunately, no way to restore this (since your SQL will have cropped off all negative values and made them zero without any backup).
Restore from a backup and run the script and you should be fine.

TYPO3 Extension Manager: Button "Only display updatable extensions" is not displayed

If I open the extension manager, switch to the tab Import Extensions and select the filter I get the following options:
Display all extensions (empty)
Only display installed extensions (working)
There should also be a Only display updatable extensions selection but this isn't displayed. What is the reason therefore?
I made a TYPO3 update to 4.7.2 and perhaps thats the reason why it isn't correctly displayed?
The repository is up to date.
The filter has been moved from the Import Extensions to the Available Extensions tab.
You do not actually want to import an extension, but update an existing one.
Just suggestion: I had similar issues with button displaying in EM before (4.6.x) (ie. Install ext button) and realised, that the button is available, but sprite image had wrong position which caused that the button was transparent,
Try to use ie FireBug to check it, and eventually fix the CSS (and report the bug)
Edit:
Some doom apparently, I just had identical situation just seconds ago ;) Fortunately found the reason: the ext list is displayed with ExtJS grid, which can contain custom filtering per column. Literally: when you for an example click on the column's dropdown arrow, you can in its filter set some value to narrow the search results.
Ie.: in the main filter field write news and additionally in the Extension Key column set other filter tt_news. (if you want to display only %tt_news% in result list of %news%)
In that case even if you'll clear the main filter, the one set on the column will stay active, so next time when you'll try to search for realurl in main filter, it will return empty list as Extension Key filter is still set to tt_news.
Weeeird, however helped me :)
You can recognize filtered columns as their names are written with cursive, finally you can just check every column and disable any filtering on each.