magento / magento2

Prior to making any Submission(s), you must sign an Adobe Contributor License Agreement, available here at: https://opensource.adobe.com/cla.html. All Submissions you make to Adobe Inc. and its affiliates, assigns and subsidiaries (collectively “Adobe”) are subject to the terms of the Adobe Contributor License Agreement.
http://www.magento.com
Open Software License 3.0
11.48k stars 9.29k forks source link

Magento 2.4.4 store view system config issue #35767

Open jorgehs91 opened 2 years ago

jorgehs91 commented 2 years ago

Preconditions and environment

As precondition, I'm using the following system.xml and config.xml in a custom module.

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">
    <system>
        <tab id="testing" translate="label" sortOrder="10">
            <label>Testing</label>
        </tab>
        <section id="testing" translate="label" sortOrder="90" showInDefault="1" showInWebsite="1" showInStore="1">
            <class>separator-top</class>
            <label>Testing</label>
            <tab>testing</tab>
            <resource>Magento_Catalog::catalog</resource>
            <group id="tracking" translate="label" type="text" sortOrder="10" showInDefault="1"
                   showInWebsite="1" showInStore="1">
                <label>Tracking</label>
                <field id="enabled" translate="label" type="select" sortOrder="10" showInDefault="1" showInWebsite="0"
                       showInStore="0">
                    <label>Enabled</label>
                    <source_model>Magento\Config\Model\Config\Source\Yesno</source_model>
                </field>
                <field id="emails" translate="label" type="text" sortOrder="20" showInDefault="1" showInWebsite="1"
                       showInStore="1">
                    <label>List of emails</label>
                    <depends>
                        <field id="enabled">1</field>
                    </depends>
                </field>
            </group>
        </section>
    </system>
</config>
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Store:etc/config.xsd">
    <default>
        <testing>
            <tracking>
                <enabled>1</enabled>
            </tracking>
        </testing>
    </default>
</config>

Steps to reproduce

  1. In admin, go to Stores > Configuration;
  2. Make sure you are under Default Config or Main Website scope;
  3. On left tabs, look for tab Testing and click in Section Testing;
  4. Now, change the scope to Default Store View (or any other store view scope).

Expected result

Is expected that the field List of emails is visible and readonly, like the Main Website scope. The image below shows what is expected.

Screenshot 2022-07-13 at 21 17 16

Actual result

The field List of emails does not show, preventing me to change the field value in Store View scope. The image below shows the actual result.

Screenshot 2022-07-13 at 21 18 41

Additional information

No response

Release note

No response

Triage and priority

m2-assistant[bot] commented 2 years ago

Hi @jorgehs91. Thank you for your report. To speed up processing of this issue, make sure that you provided the following information:

Make sure that the issue is reproducible on the vanilla Magento instance following Steps to reproduce. To deploy vanilla Magento instance on our environment, Add a comment to the issue:

@magento give me 2.4-develop instance - upcoming 2.4.x release

For more details, review the Magento Contributor Assistant documentation.

Add a comment to assign the issue: @magento I am working on this

To learn more about issue processing workflow, refer to the Code Contributions.


:clock10: You can find the schedule on the Magento Community Calendar page.

:telephone_receiver: The triage of issues happens in the queue order. If you want to speed up the delivery of your contribution, join the Community Contributions Triage session to discuss the appropriate ticket.

:pencil2: Feel free to post questions/proposals/feedback related to the Community Contributions Triage process to the corresponding Slack Channel

ravendra1990 commented 2 years ago

Please Use below code in system.xml file `

separator-top testing Magento_Catalog::catalog Magento\Config\Model\Config\Source\Yesno 1

`

jorgehs91 commented 2 years ago

Hi @ravendra1990, thanks for comment, but one thing that I missed to describe, is that I don't want to show the enabled field in store view and website scope. I'll update my issue to describe this.

ravendra1990 commented 2 years ago

hi @jorgehs91 I think issues persist because of the <depends> tag. Your Email Field is depend on the enabled fields. If you will remove the that tag it will work Screenshot 2022-07-15 100614 Screenshot 2022-07-15 100647 .

jorgehs91 commented 2 years ago

Hello @ravendra1990, thanks for helping. However, do you agree this behavior could be a bug, since we can't use depends to a field that is not shown in given scope?

jorgehs91 commented 2 years ago

Important to say that this was working properly on 2.3.

Another problem, probably related to this one, is occuring when the store view scope field is set to Use Default. The value is returned as NULL. image This screeshot was taken from Dotmailer module.

m2-assistant[bot] commented 2 years ago

Hi @engcom-November. Thank you for working on this issue. In order to make sure that issue has enough information and ready for development, please read and check the following instruction: :point_down:

engcom-November commented 2 years ago

@jorgehs91, Thank you for the reporting and collaboration! We have tried to reproduce the issue in Magento 2.4-develop branch and the issue is reproducible for us with the steps mentioned in the main description. Hence confirming the issue. Thanks

github-jira-sync-bot commented 2 years ago

:white_check_mark: Jira issue https://jira.corp.adobe.com/browse/AC-6032 is successfully created for this GitHub issue.

m2-assistant[bot] commented 2 years ago

:white_check_mark: Confirmed by @engcom-November. Thank you for verifying the issue.
Issue Available: @engcom-November, You will be automatically unassigned. Contributors/Maintainers can claim this issue to continue. To reclaim and continue work, reassign the ticket to yourself.

JettyRohanAditya commented 1 year ago

@jorgehs91 Tried different methods to solve the issue Observations: Only when both the interdependent fields are given showInStore="1" image then only we are able to see both the fields in store view. image If not then, the dependent field is being hidden. image image