Bug #70602

Page link wizard does not save selected page uid

Added by Robert Rentz about 4 years ago. Updated about 1 year ago.

Status:
Closed
Priority:
Must have
Assignee:
-
Category:
Backend User Interface
Target version:
-
Start date:
2015-10-12
Due date:
% Done:

0%

TYPO3 Version:
7
PHP Version:
5.6
Tags:
Complexity:
Is Regression:
No
Sprint Focus:

Description

Using TYPO3 7.4 i recognized a failure behaviour when inserting a page reference through the wizard.
The uid of the page is only written in the visible input field, but not the corresponding hidden field that is used to save the value.

I just wrote a little fix to get the wizard working again:

typo3/sysext/recordlist/Classes/Browser/ElementBrowser.php

Just add after line 631 the following snippet:
//Fix for updating hidden input field when using wizard
var hiddenInputFieldName = field.getAttribute("name").replace("_hr", ""),
hiddenField = window.opener.document.' . $this->P['formName'] . '[hiddenInputFieldName];

if (hiddenField) {
hiddenField.value = input;
}

May be, in the next TYPO3 7.x Release it can be fixed in a way.

Thank you.


Related issues

Related to TYPO3 Core - Bug #72639: Core-bug: Page link wizard does not save selected page uid Closed 2016-01-11
Related to TYPO3 Core - Bug #76410: Link wizard does not fill hidden field of Flexform input field Closed 2016-05-31
Duplicates TYPO3 Core - Bug #69047: Returned value from "form field wizard" in flexform is not stored in database Closed 2015-08-14

History

#1 Updated by Wouter Wolters about 4 years ago

  • Category changed from Form Framework to Backend User Interface
  • Assignee deleted (TYPO3 Release Team)

#2 Updated by Christian Brinkert almost 4 years ago

  • Target version deleted (next-patchlevel)

I could confirm the same behavior of link wizard in TYPO3 7.5

In my case I could use the patchset from #69047 which solves the problem.

#3 Updated by Thomas Maroschik almost 4 years ago

  • Status changed from New to Resolved

I can confirm this. It is solved in the current master by 22ee3c1f, but feel free to reply to this issue if it's still present.

#4 Updated by Roman Crescente almost 4 years ago

This Bug ist under TYPO3 7.5 and 7.6.1 still a problem.

-> After using tca wizard browser with links, it fills the field out, but dont saves it. even when I use the offcial configuration.

#5 Updated by Francois Suter over 3 years ago

Could you please check if this works with 7.6.3?

#6 Updated by Andre Koller over 3 years ago

doesn´t work with wizard_element_browser

'wizards' => array(
    'link' => array(
        'type' => 'popup',
        'title' => 'LLL:EXT:cms/locallang_ttc.xlf:header_link_formlabel',
        'module' => array(
            'name' => 'wizard_element_browser',
            'urlParameters' => array(
                'mode' => 'wizard'
            )
        ),
        'JSopenParams' => 'height=800,width=600,status=0,menubar=0,scrollbars=1'
    )
),

but with wizard_link

                'wizards' => array(
                    'link' => array(
                        'type' => 'popup',
                        'title' => 'Link',
                        'icon' => 'EXT:backend/Resources/Public/Images/FormFieldWizard/wizard_link.gif',
                        'module' => array(
                            'name' => 'wizard_link',
                        ),
                        'JSopenParams' => 'height=800,width=600,status=0,menubar=0,scrollbars=1'
                    )
                )

What´s the difference?

#7 Updated by Oliver Wand over 3 years ago

Can confirm that with 7.6.4 using "wizard_element_browser" doesn't work but using "wizard_link" following Andre's entry it does work.

Also wondering what the difference is.

#8 Updated by Sergio Catalá over 3 years ago

I can confirm this same behaviour with TYPO3 7.6.5 and Flux 7.3.0.
When we try to add the link wizard through flux in a fluid content element like this:

<flux:field.input name="detail_page" label="Detail page" required="TRUE">
  <flux:wizard.link activeTab="page"/>
</flux:field.input>

it complains that we cannot save the fluid element record.
Adding the uid by hand (without the wizard) doesn't help either.

#9 Updated by Peter no-lastname-given over 3 years ago

Problem is still there (TYPO3 7.6.4) with the following flexform configuration.
If I type the link everything works well, the value is written in the hidden field. When I choose a link from the link_wizard it doesn't save the value

                                            <linkTarget>
                        <TCEforms>
                            <exclude>1</exclude>
                            <label>Link</label>
                            <config>
                                <type>input</type>
                                <eval>trim</eval>
                                <size>30</size>
                                <max>1024</max>
                                <wizards type="array">
                                    <_PADDING>2</_PADDING>
                                    <link type="array">
                                        <type>popup</type>
                                        <title>Link</title>
                                        <icon>EXT:backend/Resources/Public/Images/FormFieldWizard/wizard_link.gif</icon>
                                        <module type="array">
                                            <name>wizard_link</name>
                                        </module>
                                        <JSopenParams>height=300,width=500,status=0,menubar=0,scrollbars=1</JSopenParams>
                                    </link>
                                </wizards>
                                <softref>typolink</softref>
                            </config>
                        </TCEforms>
                    </linkTarget>

#10 Updated by Maximilian Walter over 3 years ago

I have the same problem with TYPO3 7.6.6. The change-Event is only triggered for the not existing input-field with the name "data[tt_content][<uid>][pi_flexform]" and not for the used field (eg "data[tt_content][<uid>][pi_flexform][data][content][lDEF][link][vDEF]"). Therefore the new value is not written to the hidden field.

Example from the source of the link-wizard:

/*RequireJS-Module-TYPO3/CMS/Backend/FormEngineLinkBrowserAdapter0b982cbb8e42c337ed686b49823f40cff3d13f60*/
require(["TYPO3/CMS/Backend/FormEngineLinkBrowserAdapter"], function(FormEngineLinkBrowserAdapter) {
  FormEngineLinkBrowserAdapter.updateFunctions = function() {parent.opener.TBE_EDITOR.fieldChanged('tt_content','100','pi_flexform','data[tt_content][100][pi_flexform]');};
});

#11 Updated by Ralph Brugger over 3 years ago

See this Ticket:
[[https://forge.typo3.org/issues/72639]]

Reference to "wizard_element_browser" was migrated to new "wizard_link" for field "header_link" in TCA table "tt_content"

#6
Updated by Jo Hasenau 4 months ago

Well - the old wizard was broken and is now replaced automagically with the other wizard. So actually it was not intended, but we won't fix it anymore.

#12 Updated by Andreas Moeller over 3 years ago

Hi there,
I got the same problem. As suggested in https://forge.typo3.org/issues/72639 , I used the new "wizard_link" inside my FlexForm but the problem still exists.

<link type="array">
    <TCEforms type="array">
        <label>Link</label>
        <config type="array">
            <type>input</type>
            <size>28</size>
            <max>255</max>
            <eval>trim</eval>
            <wizards type="array">
                <link type="array">
                    <type>popup</type>
                    <title>Link</title>
                    <icon>link_popup.gif</icon>
                    <module type="array">
                        <name>wizard_link</name>
                        <urlParameters type="array">
                            <mode>wizard</mode>
                            <act>page</act>
                        </urlParameters>
                    </module>
                    <params type="array"><blindLinkOptions>folder,spec,email,folder</blindLinkOptions></params>
                    <JSopenParams>height=300,width=500,status=0,menubar=0,scrollbars=1</JSopenParams>
                </link>
            </wizards>
        </config>
    </TCEforms>
</link>

Any ideas?

#13 Updated by Andreas Moeller about 3 years ago

Got it!
If someone of you got trouble with it. Try to check if the extension "compatibility6" is activated. If so, deactivate it and the values will work again!

#14 Updated by Mona Muzaffar over 2 years ago

  • Related to Bug #76410: Link wizard does not fill hidden field of Flexform input field added

#15 Updated by Benni Mack about 1 year ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF