3

I have created two custom category attribute with wysiwyg editor and my attributes also shows in categories. But my issue is if i'm adding content in one attribute using wysiwyg editor then another custom attribute content going to blank.

For ex if i'm adding content in "Product Info Tab" attribute then "File Support Tab" attribute content going blank as attached image. Any help should be appriciated here. Thanks.

enter image description here

Here is my category_form.xml file:-

          <field name="cat_prodinfotab">            
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="class" xsi:type="string">Magento\Catalog\Ui\Component\Category\Form\Element\Wysiwyg</item>
                    <item name="formElement" xsi:type="string">wysiwyg</item>
                <item name="label" xsi:type="string" translate="true">Product Info Tab</item>
                    <item name="wysiwygConfigData" xsi:type="array">
                        <item name="settings" xsi:type="array">
                            <item name="theme_advanced_buttons1" xsi:type="string">bold,italic,|,justifyleft,justifycenter,justifyright,|,fontselect,fontsizeselect,|,forecolor,backcolor,|,link,unlink,image,|,bullist,numlist,|,code</item>
                            <item name="theme_advanced_buttons2" xsi:type="boolean">false</item>
                            <item name="theme_advanced_buttons3" xsi:type="boolean">false</item>
                            <item name="theme_advanced_buttons4" xsi:type="boolean">false</item>
                            <item name="theme_advanced_statusbar_location" xsi:type="boolean">false</item>
                        </item>
                        <item name="files_browser_window_url" xsi:type="boolean">false</item>
                        <item name="height" xsi:type="string">100px</item>
                        <item name="toggle_button" xsi:type="boolean">false</item>
                        <item name="add_variables" xsi:type="boolean">false</item>
                        <item name="add_widgets" xsi:type="boolean">false</item>
                        <item name="add_images" xsi:type="boolean">false</item>
                    </item>
                    <item name="template" xsi:type="string">ui/form/field</item>
                    <item name="source" xsi:type="string">category</item>
                    <item name="wysiwyg" xsi:type="boolean">true</item>
                    <item name="dataScope" xsi:type="string">cat_prodinfotab</item>
                    <item name="sortOrder" xsi:type="number">50</item>
                    <item name="rows" xsi:type="number">8</item>
                </item>
            </argument>
        </field>
        
        
        
        <field name="cat_filesuppotab">         
            <argument name="data" xsi:type="array">
                <item name="config" xsi:type="array">
                    <item name="class" xsi:type="string">Magento\Catalog\Ui\Component\Category\Form\Element\Wysiwyg</item>
                    <item name="formElement" xsi:type="string">wysiwyg</item>
                <item name="label" xsi:type="string" translate="true">File Support Tab</item>
                    <item name="wysiwygConfigData" xsi:type="array">
                        <item name="settings" xsi:type="array">
                            <item name="theme_advanced_buttons5" xsi:type="string">bold,italic,|,justifyleft,justifycenter,justifyright,|,fontselect,fontsizeselect,|,forecolor,backcolor,|,link,unlink,image,|,bullist,numlist,|,code</item>
                            <item name="theme_advanced_buttons6" xsi:type="boolean">false</item>
                            <item name="theme_advanced_buttons7" xsi:type="boolean">false</item>
                            <item name="theme_advanced_buttons8" xsi:type="boolean">false</item>
                            <item name="theme_advanced_statusbar_location" xsi:type="boolean">false</item>
                        </item>
                        <item name="files_browser_window_url" xsi:type="boolean">false</item>
                        <item name="height" xsi:type="string">100px</item>
                        <item name="toggle_button" xsi:type="boolean">false</item>
                        <item name="add_variables" xsi:type="boolean">false</item>
                        <item name="add_widgets" xsi:type="boolean">false</item>
                        <item name="add_images" xsi:type="boolean">false</item>
                    </item>
                    <item name="template" xsi:type="string">ui/form/field</item>
                    <item name="source" xsi:type="string">category</item>
                    <item name="wysiwyg" xsi:type="boolean">true</item>
                    <item name="dataScope" xsi:type="string">cat_filesuppotab</item>
                    <item name="sortOrder" xsi:type="number">60</item>
                    <item name="rows" xsi:type="number">8</item>
                </item>
            </argument>
        </field>
5
  • Please ensure if both attributes value being posted to controller when you are saving category.. if any value is empty then you can set like $category->setFileSupport($category->getFileSupport()); Commented Nov 28, 2018 at 13:19
  • Hi. Issue is not generated after save category it's generated when click on submit button of wysiwyg editor.
    – Raj
    Commented Nov 28, 2018 at 13:41
  • 1
    Oh I see, sorry for misunderstanding! Check the id, name and other common tags of both attributes in case.. Commented Nov 28, 2018 at 13:43
  • Hi. I have already set id,name different for both attribute. Please check my updated question. Thanks.
    – Raj
    Commented Nov 28, 2018 at 14:02
  • 1
    Did you find solution ? If you get it, please share it. I spent much time to solve this.. Commented Jul 22, 2019 at 14:43

1 Answer 1

3

As per your post, I have followed the below steps and it's working fine as expected please check the below steps once might be helpful.

  1. Created module Inchoo_Attribute

  2. Created InstallData.php in setup directory app/code/Inchoo/Attribute/Setup

     <?php 
     namespace Inchoo\Attribute\Setup;
     use Magento\Framework\Setup\InstallDataInterface;
     use Magento\Framework\Setup\ModuleContextInterface;
     use Magento\Framework\Setup\ModuleDataSetupInterface;
     use Magento\Eav\Setup\EavSetup;
     use Magento\Eav\Setup\EavSetupFactory;    
     class InstallData implements InstallDataInterface {
    
     private $eavSetupFactory;
    
     /**
      * Constructor
      *
      * @param \Magento\Eav\Setup\EavSetupFactory $eavSetupFactory
      */
     public function __construct(EavSetupFactory $eavSetupFactory)
     {
         $this->eavSetupFactory = $eavSetupFactory;
     }
    
     /**
      * {@inheritdoc}
      */
     public function install(
         ModuleDataSetupInterface $setup,
         ModuleContextInterface $context
     ) {
         $eavSetup = $this->eavSetupFactory->create(['setup' => $setup]);
    
         $eavSetup->addAttribute(
             \Magento\Catalog\Model\Category::ENTITY,
             'cat_prodinfotab',
             [
    
                 'type' => 'text',
                 'label' => 'Product Infor Tab',
                 'input' => 'textarea',
                 'required' => false,
                 'sort_order' => 333,
                 'global' => \Magento\Eav\Model\Entity\Attribute\ScopedAttributeInterface::SCOPE_STORE,
                 'wysiwyg_enabled' => true,
                 'is_html_allowed_on_front' => true,
                 'group' => 'General Information' 
    
             ]
         );
    
         $eavSetup->addAttribute(
             \Magento\Catalog\Model\Category::ENTITY,
             'cat_filesuppotab',
             [
                 'type' => 'text',
                 'label' => 'File Supported Tab',
                 'input' => 'textarea',
                 'required' => false,
                 'sort_order' => 334,
                 'global' => \Magento\Eav\Model\Entity\Attribute\ScopedAttributeInterface::SCOPE_STORE,
                 'wysiwyg_enabled' => true,
                 'is_html_allowed_on_front' => true,
                 'group' => 'General Information' 
             ]
         );
    
        $setup->endSetup(); 
     }
     }
    
  3. app/code/Inchoo/Attribute/view/adminhtml/ui_component/category_form.xml

     <?xml version="1.0" encoding="UTF-8"?><form xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Ui:etc/ui_configuration.xsd">    
     <fieldset name="content">
          <field name="cat_prodinfotab">
             <argument name="data" xsi:type="array">
                 <item name="config" xsi:type="array">
                     <item name="class" xsi:type="string">Magento\Catalog\Ui\Component\Category\Form\Element\Wysiwyg</item>
                     <item name="formElement" xsi:type="string">wysiwyg</item>
                 <item name="label" xsi:type="string" translate="true">Product Info Tab</item>
                     <item name="wysiwygConfigData" xsi:type="array">
                         <item name="settings" xsi:type="array">
                             <item name="theme_advanced_buttons1" xsi:type="string">bold,italic,|,justifyleft,justifycenter,justifyright,|,fontselect,fontsizeselect,|,forecolor,backcolor,|,link,unlink,image,|,bullist,numlist,|,code</item>
                             <item name="theme_advanced_buttons2" xsi:type="boolean">false</item>
                             <item name="theme_advanced_buttons3" xsi:type="boolean">false</item>
                             <item name="theme_advanced_buttons4" xsi:type="boolean">false</item>
                             <item name="theme_advanced_statusbar_location" xsi:type="boolean">false</item>
                         </item>
                         <item name="files_browser_window_url" xsi:type="boolean">false</item>
                         <item name="height" xsi:type="string">250px</item>
                         <item name="toggle_button" xsi:type="boolean">false</item>
                         <item name="add_variables" xsi:type="boolean">false</item>
                         <item name="add_widgets" xsi:type="boolean">false</item>
                         <item name="add_images" xsi:type="boolean">false</item>
                     </item>
                     <item name="template" xsi:type="string">ui/form/field</item>
                     <item name="source" xsi:type="string">category</item>
                     <item name="wysiwyg" xsi:type="boolean">true</item>
                     <item name="dataScope" xsi:type="string">cat_prodinfotab</item>
                     <item name="sortOrder" xsi:type="number">50</item>
                     <item name="rows" xsi:type="number">8</item>
                 </item>
             </argument>
         </field>          
    
          <field name="cat_filesuppotab">
             <argument name="data" xsi:type="array">
                 <item name="config" xsi:type="array">
                     <item name="class" xsi:type="string">Magento\Catalog\Ui\Component\Category\Form\Element\Wysiwyg</item>
                     <item name="formElement" xsi:type="string">wysiwyg</item>
                 <item name="label" xsi:type="string" translate="true">File Support Tab</item>
                     <item name="wysiwygConfigData" xsi:type="array">
                         <item name="settings" xsi:type="array">
                             <item name="theme_advanced_buttons1" xsi:type="string">bold,italic,|,justifyleft,justifycenter,justifyright,|,fontselect,fontsizeselect,|,forecolor,backcolor,|,link,unlink,image,|,bullist,numlist,|,code</item>
                             <item name="theme_advanced_buttons2" xsi:type="boolean">false</item>
                             <item name="theme_advanced_buttons3" xsi:type="boolean">false</item>
                             <item name="theme_advanced_buttons4" xsi:type="boolean">false</item>
                             <item name="theme_advanced_statusbar_location" xsi:type="boolean">false</item>
                         </item>
                         <item name="files_browser_window_url" xsi:type="boolean">false</item>
                         <item name="height" xsi:type="string">250px</item>
                         <item name="toggle_button" xsi:type="boolean">false</item>
                         <item name="add_variables" xsi:type="boolean">false</item>
                         <item name="add_widgets" xsi:type="boolean">false</item>
                         <item name="add_images" xsi:type="boolean">false</item>
                     </item>
                     <item name="template" xsi:type="string">ui/form/field</item>
                     <item name="source" xsi:type="string">category</item>
                     <item name="wysiwyg" xsi:type="boolean">true</item>
                     <item name="dataScope" xsi:type="string">cat_filesuppotab</item>
                     <item name="sortOrder" xsi:type="number">51</item>
                     <item name="rows" xsi:type="number">8</item>
                 </item>
             </argument>
         </field>       
    
     </fieldset></form>
    
  4. Executed module enabled commands and cleared flush cache and did Testing.

5 screenshots below Screen shot

6 Database Tables Need to check:-

eav_attribute 
catalog_category_entity_text

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.