The problem : I used a custom attribute : store view scope, dropdown type, no unique values, no values required.
For an unknown reason, I can modify the value of the attribute options only until a specific option (and even a specific store value). Every modifications applied after this option are not take into account, but the previous one are. Every option has a position at 0. If I modified the position of a modifiable option to put it at 1 (for a modifiable value option) it is take into account, but this specific option will now appear at the end of the list, so after the problematic option, and will not be modifiable anymore.
Question : How can I fix this ?
Additional information :
I have already tried this solution : Global product attribute empty on store view level with no result (I have modified the is_global parameter because I use a store view scope, and applied the request to every tables specified, but nothing)
I've dumped the mysql requests generated and I've noticed that the transaction delete each values and the set them again everytime you save, even if they have not been modified. I can clearly see that the transaction simply finished at this problematic value, whereas there is much more after :
108 Query DELETE FROM `eav_attribute_option_value` WHERE (option_id =350) 108 Query INSERT INTO `eav_attribute_option_value` (`option_id`, `store_id`, `value`) VALUES ('350', '0', '6L2L1') 108 Query INSERT INTO `eav_attribute_option_value` (`option_id`, `store_id`, `value`) VALUES ('350', '6', 'qsd') 108 Query INSERT INTO `eav_attribute_option_value` (`option_id`, `store_id`, `value`) VALUES ('350', '3', 'qsd') 108 Query INSERT INTO `eav_attribute_option_value` (`option_id`, `store_id`, `value`) VALUES ('350', '4', 'qsd') 108 Query INSERT INTO `eav_attribute_option_value` (`option_id`, `store_id`, `value`) VALUES ('350', '2', 'qsd') 108 Query INSERT INTO `eav_attribute_option_value` (`option_id`, `store_id`, `value`) VALUES ('350', '5', 'qsd') 108 Query UPDATE `eav_attribute_option` SET `sort_order` = '0' WHERE (option_id =213) 108 Query DELETE FROM `eav_attribute_option_value` WHERE (option_id =213) 108 Query INSERT INTO `eav_attribute_option_value` (`option_id`, `store_id`, `value`) VALUES ('213', '0', '6L4C') 108 Query INSERT INTO `eav_attribute_option_value` (`option_id`, `store_id`, `value`) VALUES ('213', '6', 'qsd') 108 Query INSERT INTO `eav_attribute_option_value` (`option_id`, `store_id`, `value`) VALUES ('213', '3', 'qsd') 108 Query UPDATE `eav_attribute` SET `default_value` = '375' WHERE (attribute_id ='135') 108 Query SELECT `main_table`.* FROM `index_process` AS `main_table` 108 Query SELECT `core_flag`.* FROM `core_flag` WHERE (`core_flag`.`flag_code`='catalog_product_flat')
I've reach the limit of my magento database and code knowledge here, and I would be really glad if you could help me with this problem. I also apologize in advance for my english, I'm not native.
Finally found it !
The problem is due to the fact that there is to many options. This is due to the fact that there is a default limitation in php configuration considering the number of POST items.
Quickly, the solution is to modify those php parameters :
max_input_vars = 10000 suhosin.post.max_vars = 10000 suhosin.request.max_vars = 10000
Thank's to :