i have to update an extension from TYPO3 6.2 to 9.5. This extension uses three fields with rte which contains links in old syntax: and so on. After running all TYPO3 update scripts the old syntax was not corrected. I changed the TCA of the extension to the new syntax and installed the extension so i can edit all entries in the backend. It seems that most is working correctly now but not the old internal links. In the database they are in the old syntax so the links vanish in the RTE in backend. I tried to rerun the update script but this doesn't change it. How can i trick the the updater to convert the fields of my extension?
Thanks!
Related
I'm working on a legacy page with TYPO3 9.5
I made a form and heavily edited the form'S YAML file. I especially added YAML aliases.
When I now edit the form in the TYPO3 BE form editor and save it, the anchors and aliases are lost.
Is there a way that I can protect parts or the whole of my YAML definition to be not touched by the TYPO3 BE form editor on save?
This should be possible - check the documentation about that at https://docs.typo3.org/c/typo3/cms-form/main/en-us/I/Concepts/FormFileStorages/Index.html
As this change has been implemented with 8.7 (see here) it will also work on 9.5
TYPO3:
CMS:
Form:
persistenceManager:
allowSaveToExtensionPaths: false
allowedExtensionPaths:
100: EXT:my_ext/Resources/Private/Forms/
As a beginner with TYPO3 CMS in a new job, I had to make a new extension with differents plugins with a new table called "Products" and make the migration between the old products system and the newest one.
The goal of this was to adding automatically my plugin into the webpages using the code (no other solution, literally too much page to adding my plugin by hand).
I tried adding the reference of my plugin in the list_type field in my tt_content but unfortunately it doesn't work.
My question is: "Which fields I have to fill in in order to adding my plugin into my page?"
If you have been following common plugin registration your plugins will be in tt_content with CType: list and list_type: <extensionkey>_<pluginkey> (without any other underscores - for the linked example that would be exampleextension_list).
Some Background: TYPO3 (or rather TypoScript CONTENT, the base of all rendered content) then draws the rendering configuration from TypoScript setup in tt_content.list.20.<list_type>. In your case that will hold an entry point to render an Extbase action.
Required fields for your plugin in tt_content: pid, colPos, CType, list_type. If you used a Flexform for the plugin settings, also pi_flexform.
If you need something else, it is easiest to find out by adding your plugin via the backend and inspect the newly added DB record in tt_content afterwards.
Hints for debugging (I assume TYPO3 v9+):
Set TYPO3's application context to 'Development' by setting the environment variable TYPO3_CONTEXT=Development - this will show you the tt_content column names in the backend forms.
Set FE/debug = 1 (in LocalConfiguration.php or via InstallTool/Settings/Global Configuration) - this will show warnings in the frontend if your plugin configuration could not be found.
I got an extension that provides a lot of custom content elements. The extension was developed for TYPO3 v7. Now it should be used for TYPO3 10. Since there is a higher fluid version now, I would like to know if there is a list of deprecated viewhelpers because I want to update those templates.
In 10.x instance login to the Backend as full admin and maintainer, go to:
Admin Tool
Upgrade
Scan Extension Files
There find the extension you are working on and scan it, it should show you deprecated methods, annotations, etc. Also with documentation on how to fix it.
Other approach I'd would check. It's common by the core team to annotate depracated classes, methods and others with similar annotation:
ie. for typo3/sysext/setup/Classes/Controller/SetupModuleController.php -> simulateUser() method in ver 9.x
#deprecated since TYPO3 v9, will be removed in TYPO3 v10.0.
or typo3/sysext/fluid/Classes/ViewHelpers/Widget/AutocompleteViewHelper.php ViewHelper in ver.: 10.x
#deprecated since TYPO3 v10.4, will be removed in TYPO3 v11.0.
So you can use your IDE to search for all occurences of #deprecated since string.
We migrated an older TYPO3 site from 6.x to 7.6. One of the last things which don't work is that all be-users (inclusive admins) don't see the options startdate and enddate in the access tab of an element. This bug/feature affects only fluid content elements. On the same page are normal text elements, which are fine.
I already checked the user-rights, localconf.php, ext_tables.php and I searched for TCE.tt_content-configs but I couldn't find something irregular. In the rights management these element are not listed under "allowed exclusion fields". Do you have some ideas, hints?!
I think you need to inspect the TCA.
The TCA defines which fields are shown in the edit mask.This can be done field wise or in palettes.
I assume the startdate/enddate fields are in a palette and that the palette changed from TYPO3 6 to TYPO3 7 (name, contained fields, ...).
As long as your TCA is not adapted to this changes these fields are not visible.
Did you run the Database analyzyer? All Steps in the Upgrade Wizard are completed? For a full migration from css_styled_content to fluid_styled_content you have to run the Upgrade Wizard too.
install fluid_styled_content
uninstall css_styled_content
run Upgrade Wizard
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.