Closed NamelessCoder closed 9 years ago
Hi, I don't know if this is a bug or a missing feature. I already mentioned in #558 (see last two posts).
At the moment localizing an element with its child elements works only once. After that there is no way to localize new child elements. I think this i an important feature for multilanguage sites!
@glucka That one sounds like a traditional "missing dependency injection because of missing injection method in class reflection cache" and if that's the case, it is solved by clearing the (system) cache.
@glucka You should be on the workbench/commands
branch when testing this - we have still not merged the changes to the development
branch.
What changes?
@NamelessCoder sorry, i had an older development branch version. (git config problem) The translate works fine now.
Env & Steps to reproduce this bug Env: TYPO3 6.2, flux development(d18957cb)
<flux:field.inline.fal />
which has the option multiple=TRUE.Expected result A plain copy of the original record should be in place with all of the original FAL records.
What happens instead? The element is copied, but doesn't have any of it's original FAL records.
Env & Steps to reproduce this bug Env: TYPO3 6.2, flux development(d18957cb)
flux:form.content
)step 2
Expected result A copy of the original created element should be added to your chosen destination
What happens instead? The copy gets pasted into the list record of the page, but the element itself isn't visible in the page module.
Update for https://github.com/FluidTYPO3/flux/issues/573#issuecomment-44843860
The issue appears to be related to the core's copying of any record type: when copying a record which has a TCA-based relation to sys_file
via sys_file_reference
the record data is correctly copied. But when the relation is stored with a field name that is inside a flexform XML (the sys_file_reference
will for example point to a field name called mySpecialImageFiles
rather than for example images
in the tt_content
table).
It appears that the proper copying of references to files, is somehow triggered by or depends on the TCA configuration for the field, which means copying of FAL resources by flexform field name currently fails.
This is a core bug but I will continue to investigate it and possibly create a fix.
Side note: the copied record's XML data value for the field that was incorrectly copied will be the original records reference count. When copying the record, this value is for some reason because the COUNT()
of references is zero, recognised as _an UID value of a sys_file
record_ which is then attempted referenced. The resulting state of the record can therefore sometimes be that one file reference exists, but is pointing to an unexpected file because the old reference count is being used as if it were a single UID.
Update for https://github.com/FluidTYPO3/flux/issues/573#issuecomment-44843860
https://review.typo3.org/#/c/30632/ is created to solve the first part of this problem.
Update for https://github.com/FluidTYPO3/flux/issues/573#issuecomment-44843860
https://review.typo3.org/#/c/30633/ is created to solve the second part of this problem.
Copy/pasting an element from an FCE to the main column fails. It will copy the element, but not show it in the row. The same goes for pasting as a reference.
Cutting and pasting an element from an FCE to the main column does not do anything at all.
Cutting and pasting an element from an FCE to the main column does not do anything at all.
Fixed by https://github.com/FluidTYPO3/flux/commit/e91f9199531e71a42e0aab8dc700c6485d3d13c6
I had the problem that I could not place plugins in grid columns. Today I stumbled across #565 and then tried the current development branch - it solved my problem. I was able to drag and drop a tx_news plugin CE into a grid column.
Just a little success message for your pleasure :)
Hi, I use the new fluidbootstraptheme and the new dev versions of flux and co. I am able to create for example a powermail plugin outside a row and drag it into it. But it's not possible to create a plugin directly inside the row.
Hi, I can't get rid of "Copy default content elements" of CE "Column Row" (with child CE) does not show translated child CE" - Problem. When using flux 7.1 staging, fluidcontent 4.1 dev and fluidpages 3.1 dev I reveice an error "Fatal error: Call to a member function preparedGet() on a non-object in /var/www/ext_versions/fluidcontent_versions/fluidcontent_4_1_dev/Classes/Service/ConfigurationService.php on line 266". Apparently the recordService never gets injected.
Hi @twirsing,
the mentioned service is only available in the dev branch of flux.
Cheers Björn
Thanks Björn for the instant reply. When using the dev branch I get another error. Fatal error: Call to a member function get() on a non-object in /var/www/ext_versions/flux_versions/flux_7_1_dev/Classes/Configuration/BackendConfigurationManager.php on line 176
problem solved. Properly emptying the caches 'Important Actions/Clear all cache' in Install Tool and it works, Thanx for the directions to @bjo3rnf
I dont know if this is suposed to be supported but hoping it is, I'll describe a Issue with localization:
Given you have a FluidcontentElement - lets say a multicolumn with two columns A and B. You set this FluidcontentElement to sys_language_uid=-1 (all). You add a ContentElement (CE) in column A with sys_language_uid=-1 so it is displayed in all langugaes. You add a CE to column B with sys_language_uid=0 and want to translate ist in other languages. Issue1: This is only possible within the list module. You translate the CE in the list module. Issue2: If you switch languages in page module the CE in column B is always displayd in default langugae.
In the frontend everything works fine as expected. The issues are solely in the backend.
I'm not sure to wich extend flux supports sys_languga_uid=-1. But I think this is a valid usecase.
Best regards. Daniel
are there any updates on the flux:field.inline.fal problem ? Until core-bug is fixed, that means FLUX is unusable with fal-resources in localized FCEs ?
are there any updates on the flux:field.inline.fal problem
Solved in TYPO3 CMS core master
branch when using Flux development
branch.
by which commit?
TYPO3/TYPO3.CMS/524ead974a05ac343b2792237feccd3e82aab2dd, TYPO3/TYPO3.CMS/4436848eddfd2d18bacfa372ec705da19c769ce4.
I tried the new Row element from the bootstrap package. I can`t copy the Row element to another page, all inner relations are lost. With my own Row element it didnt work, too.
Second problem: On the initial translation of Row or Grid Elements with children the translations works fine. If i add then antoher child in the default language i cant get this element translated with any relation. It just get translated but it lost all relations. I used the dev branches from today for flux, vhs and fluidcontent. TYPO3 6.1.10
Third: Can we use row elements with language all (see some posts above)?
thanks for your good work.
After upgrading from flux 7.0 to 7.1 on TYPO3 6.1.10 all content within my flexform grids was lost. Will there be an update tool or something like that?
@camuco see https://github.com/FluidTYPO3/fluidcontent/issues/178 - official information will be released along with new TER version. There will be no upgrade script since migrating this requires a conscious decision in each template, whether or not the repurposed flux:form.content
will be appropriate.
@NamelessCoder Thank you very much. Any thoughts about a release date?
Cannot give an estimated release date. Completion depends on this issue: https://github.com/FluidTYPO3/flux/issues/627 and the remaining bugs noted in this current issue here.
Ok, thanks again for the great work!
I currently see the following major bugs with FCE translations:
Do you need help fixing these issues?
And @NamelessCoder could you please update the first post of this issue? The bugs in the comments are not noted there, so it seems all bugs have been fixed.
I dont see this issue (https://github.com/FluidTYPO3/flux/issues/615) discussed in this thread as suggested. Are the txflux... values taken into account when you copy a child FCE INSIDE another FCE and paste it into the same column of that FCE?
Copying a child FCE and pasting it i.e. into another flux_column inside the same parent FCE fails. this is due to some logical errors in Classes/Providers/ContentProvider->pasteAfter() I guess, when pasting a copyied record AFTER another one, you have to look into the RELATIVE RECORDs tx_flux_parent column and tx_flux_column fields to determine the context you are pasting into.
I'm was looking into FLUX development branch, but the pasteAfter method is broken there imho.
Feedback welcome.
I can't copy/paste (in the view PAGE I've no new element, but when I use view LIST I see it) FCE element from column to another like descripted in #573 and I've tried to resolve as suggested but it doesn't work. I'm using T3 6.2.3 ... Into db the two columns, tx_flux_parent and tx_flux_column, are empty, if i correctly populate them the element appears in the correct place
@cdfre
Moving (Drag & Drop) an element from within an FCE to the outside (normal column), (sometimes?) does not sets the colPos for all localized elements and moving an element from the outside to the inside of an FCE also only sets the default-language-contentelements colPos to fluid content area and the localized elements remain on the colPos they had before.
This could potentially be a bug in the cascading TCA... since now, the core handles all these operations, I would expect the core to "kick in" when it detects that localised versions of the record exists - and use the 100% core-generated command arguments given in POST to also update localised records.
However, it needs to be re-tested at this point before I go ahead and add it to the list. I'd hate to add already solved issues. Would you mind trying this?
Translating an FCE with childs also translates all childs. I don't expect this, cause i have content fallback and don't automaticaly want to translate all embeded contentelements. If one child contentelement is already translated an error is displayed
This is governed by the TCA setting localizeChildrenAtParentLocalization
of tx_flux_children
. You can of course override this setting (simply change the TCA any way you like) but the default behaviour should be to localise child records as TCA normally would do it. Perhaps it would be easier to control localisation if the container element's language is set to ALL when the container is purely for structure and only localise the container/parent if it actually contains text itself - in which case I would expect child records to be localise automatically. I suppose it could be argued both ways but regardless, we have to settle on a default - and then inform how to change it like described above.
If there is a setting to auto-skip already translated children without an error message then I am not aware of it, but would not mind implementing it. More info/investigation would be appreciated.
Translating an contentelement within an FCE is causing the newly localized element to have no relation to the fce. [..]
Once again it seems these values are copied by the core. If there's a way to exclude those fields, I would not mind implementing it. However, frontend output would have to be fixed after that since the query to select records is based on these values.
But I don't consider this a bug that we should fix with code. It would apply to any type of nested record structure with TCA similar to Flux's.
Moving (Drag & Drop) an element from inside an FCE to the outside sets the language of the moved element to that of the previously parent FCE [..]
This could be a core issue with the command that's dispatched when you drop a record. Either in the parameters it contains, or in how they are treated by the DataHandler. If it is the parameters we might be able to fix it, it is not already fixed by the additional initialisation of the record listing implementation I did in flux:content.get
and .render
recently. It could also be the core trying to be clever in preserving the language of a parent depending on the child record's current values.
@fgerards
Copying a child FCE and pasting it i.e. into another flux_column inside the same parent FCE fails.
Fixed a while ago.
@mnlgrn
I can't copy/paste (in the view PAGE I've no new element, but when I use view LIST I see it)
This should also be fixed a while ago, but may require either fixing or recreating the current parent element in order to make newly created children correctly detect the relationship attributes.
When adding an FCE to a flux:grid element column, the element receives a negative PID number.
According to (inexperienced) editor report, this happens when he carries out the following process.
• Copied an element from column 1 inside a flux:grid to column 2 inside the same flux:grid • This initially pasted the element back into column 1 and this new element could then not be deleted. It could, however, be moved to column 2 via drag and drop and was displayed on the FE when activated.
I cannot replicate this in OSX/Chrome.
• TYPO3 6.1.10 • Fluid 6.1.0 • Fluidcontent 4.0.0 • Flux 7.0.0 • VHS 1.8.5 • Waiting for feedback on a browser and version number.
The editor reports that Firefox Portable is in use. This could well be an issue, as it's proven to be flaky even for CSS layouts, let alone for the complexity of the TYPO3 backend.
The localised (copied) elements have always the original colPos. Copy a content element (which have localised versions) from Column (colPos = 0) Paste into Column with colPos 1 After paste the copied localised content elements have always colPos = 0
I think the db fields (colPos, tx_flux_column, tx_flux_parent, tx_flux_children ) of a localised element should be also updated on copy or drag & drop the original element.
I am not sure how this is addressed above in "Translating an contentelement within an FCE is causing the newly localized element to have no relation to the fce. [..]" but at least the behavior I experience is inconsistent. Only when I use the "Synchronize with original language" feature in the parent content element within the second language a new child element of the original language is correctly created. But when I try to create an translation of an "child"-element from the original language using the top dropdown of the content element, the tx_flux_parent is not correctly set. All the other fields are handled correctly. So the new translation appears in the wrong language. I am using Typo3 6.2.9 and all the current versions of flux, fluidcontent, fluidpages and vhs. Both master and development branches show the same behavior.
I'm using current master of flux, fluidpages and fluidcontent on TYPO3 6.2.9 w/o css_styled_content.
My Content FCEs are nested in Row FCEs and Rows are nested in Section FCEs. For grids I'm using cols without colPos parametr <flux:grid.column name="unique for every column and element" />
.
Bug 1: If I set grid FCE to Language: [All] and try to localize children using List module, in FE on localized page children gets displayed twice.
Bug 2: Switch to Page module "Languages" view introduces additional area called "Fluid Content Area" with badly messed content. All elements are in wrong order and elements from 3rd level of nesting are displayed twice (separately + in 2nd level elements). At least, is it possible to hide this area?
Bug 3: If I click "Copy default elements" in Page module "Languages" view "Fluid Content Area" I'm getting newlog()] Localization failed; Source record had another language than "Default" or "All" defined! and 2nd+3rd level nested FCEs gets physically duplicated in default language. (click in the "columns" area works)
We use FLux TER 7.1.2 and TYPO3 6.2.9 official core. When copying FCEs with flux:field.inline.fal - relations, the count() value in the Flexform in the DB is replaced by a comma-separated list of the uid's of the pic-relations. Isn't this core/TCE-Bug already solved in 6.2.9 master ? @NamelessCoder : Do you have any uptodate-status of this issue in the 6.2.9 core ?
@fgerards No, sorry - I don't know if that FAL-copy-reference issue is fixed in 6.2.9. If it isn't, you should definitely push for it today, since the code sprint is still in effect.
Drag/drop as well as cut/paste are not working for me... the content element disappears. This happens when I create a four column row in fluidbootstraptheme and then drag pre-exisiting content into one of the four columns I just create (nested content).
Also if I try to move content from column to column within the fluidbootstraptheme four column content element, it will either work, ignore my action completely, or reorder where it's at in that column. Some content element types seemed drag/drop better in this scenario than others... strange.
I'm using:
I just upgraded from TYPO3 6.2.10 to TYPO3 CMS 7.1.0 thinking that would help but neither nested drag/drop or cut/paste work in either version of TYPO3 CMS.
Ahhhhhhhhhh... this bug is really causing a lot of work when I have to recreate so many FEC's just to move them to a different column! I'm in the middle of upgrading many websites to be responsive FT3 sites and I'm having to recreate like a 1/4 of all content since I can't drag/drop and this is on content-heavy websites.
Maybe I've just hijacked this issue but it seems that it's grown beyond the original issue already. Here's a specific example:
I'm experiencing issues with drag/drop of content between columns of the four column-wide grid FCE from fluidbootstraptheme. Some things work, some don't. Yesterday I was noticing that the Text and fluidbootstraptheme's Simple Responsive Image content elements behaved differently when trying to drag/drop.
I'am currently having the same issue than @Outdoorsman
i experience the same problem as twirsing commented on 24 Jan: Translating an element within a fce (default language) does place the translated element still within the fce in default language instead of within the translated version of the fce.
Gridelements had the same issue, i currently use the same logic to update tx_flux_parent to the id of the localized container within an processDatamapClass hook, seems to work well: https://forge.typo3.org/issues/50800 https://review.typo3.org/#/c/30509/1/Classes/DataHandler/PreProcessFieldArray.php
I am experiencing copy & paste as well as drag & drop errors with the following setup: flux@7.2.0, fluidpages@3.2.0, fluidcontent@4.2.1, vhs@2.3.2, typo3@6.2.12
Bug 1 (copy & paste):
<flux:form.content name="content" />
area <flux:grid>
<flux:grid.row>
<flux:grid.column name="content.colOne" />
<flux:grid.column name="content.colTwo" />
</flux:grid.row>
</flux:grid>
content.colOne
content.colTwo
tx_flux_parent
and tx_flux_column
is emptyIn this test setup no other languages are setup. So translation stuff should not influence this behavior.
Bug 2 (drag & drop):
<flux:form.content name="content" />
area <flux:grid>
<flux:grid.row>
<flux:grid.column name="content.colOne" />
<flux:grid.column name="content.colTwo" />
</flux:grid.row>
</flux:grid>
content.colOne
colPos
gets correctly set to 18181 but tx_flux_column
and tx_flux_parent
don't get updated which makes the content element disappear in page viewBug 3 (drag & drop):
<flux:form.content name="content" />
areacontent
areacolPos
gets correctly set to 18181 but tx_flux_column
and tx_flux_parent
don't get updated which makes the content element disappear in page viewBug 4 (drag & drop):
<flux:form.content name="content" />
areacontent
areacolPos
gets correctly set to 0 but tx_flux_column
and tx_flux_parent
don't get updated which leads to a correct BE rendering (although tx_flux_column
and tx_flux_parent
are set to the old values) but an incorrect FE rendering (the child element gets rendered inside the wrapper and in addition on the root of the page due to the correct colPos = 0
but tx_flux_column
and tx_flux_parent
set to the values as if it should be placed inside the wrapper)To be honest these bugs make using drag & drop and copy & paste unusable since you can't be sure that tx_flux_column
and tx_flux_parent
get updated correctly.
Update
After some retesting with the developement
branch of flux I can confirm that bugs 2-4 which included drag&drop are fixed. The copy & paste bug does still appear.
Update 2
After even more testing with the developement branch I can summarize:
Action | Result |
---|---|
Copy & Paste inside <flux:form.content (...) /> or <flux:grid.column (...) /> |
colPos gets updated correctly to 18181, tx_flux_column and tx_flux_parent always get updated to empty or 0 value -> The pasted element disappears in the page view (backend layout) due to the mix of a correct colPos but incorrect tx_flux_... fields |
Cut & Paste inside <flux:form.content (...) /> or <flux:grid.column (...) /> |
colPos gets updated correctly to 18181, tx_flux_column and tx_flux_parent always get updated to empty or 0 value -> The pasted element disappears in the page view (backend layout) due to the mix of a correct colPos but incorrect tx_flux_... fields |
Copy & Reference inside <flux:form.content (...) /> or <flux:grid.column (...) /> |
colPos gets updated to incorrect 0 value, tx_flux_column and tx_flux_parent always get updated to empty or 0 value -> The referenced element appears in the main column due to colPos = 0 |
It is interesting to see that these bugs do not appear on the following a bit older setup: flux@7.1.2, vhs@2.2.0, fluidpages@3.1.2, fluidcontent@4.1.1, typo3@6.2.9. Pasting/Referencing of copied/cut elements to fluid content areas does work flawlessly.
Hi @DenisMir, thanks for this list! The fix for the last one of the bugs you encountered (1) has just been merged to development. That commit should also fix your issues in the table from "Update 2".
@BenjaminBeck Great. I will update my developement branch and test out the fix.
This issue is the single place to report any type of issue of this type:
If your bug fits this description, report it here!
If any bugs in the mentioned areas still exist after May 28th 2014 please report them here instead of creating new issues. Before you report problems, make sure your Flux repository is checked out on the
development
branch and that you have pulled (or possibly reset) to obtain the latest changes.Currently known bugs in copying:
master
branch plus most recent fluxdevelopment
branch has this bug solved.Related core patches:
https://review.typo3.org/#/c/30633/ which ensures passing the field name while TYPO3 iterates over fields of a record. Without this patch, the logic which retrieves files stored in FlexForm references, may in some cases fail to detect the existence of said references, because Flux receives a NULL field name and thus may return an incorrect Form instance (read: resolves the Provider with highest priority for the table while ignoring the field name in priority verdict) which does not contain the correct definitions for the record field currently being processed. Furthermore, due to Flux tracking which Provider was called with a certain field, Flux was unable to execute any but the first Provider detected through this logic in TYPO3. Applying the patch passes the field name and Flux returns the correct data structure when TYPO3 iterates record fields to detect file references in FlexForm fields.
https://review.typo3.org/#/c/30632/ adds an error prevention for records which have FlexForm fields that contain references that were not correctly processed (due to the bug above). Install this patch only if you are being faced with an Exception when attempting to edit affected records.
Currently known bugs in moving:
Currently known bugs in drag and drop:
colPos
to another and then immediately thereafter using the "insert content after" link associated with the content record that was moved, the created content element is created inside the originalcolPos
value. The content object may become invisible in page editing mode - to retrieve, use the list view and set propercolPos
and as needed,Relations
values.Currently known bugs in localisation: