5

I'm implementing a site with just one very big matrix field called 'blocks', and all my frontend is designed with BEM CSS with a lot of components.

But i'm facing problems with this big field.

1) If two block types have a field called 'cssClasses' of type 'Multi-select', it's not validating correctly and is saving just one of this fields. I've found a workaround, changing the name of second field, but frequently i lost a lot of field values with this problem. (i really don't know exactly why this problem is happening sometimes)

2) If i have too many fields on my block items, there are some implicit field limit that i don't know where is, that all block item fields after this limit are deleted when save... its a very big problem, because all my entries loose all the data for these fields. It's really a big problem for me... (maybe can be max_input_vars value and/or post_max_size)

3) It's very slow to page render this big field when testing on Amazon(rds large + 1000 IOPS SSD) or Heroku (clearbit database high io), compared to my localhost.

PS: I'm using LinkIt plugin and SuperTable plugin for some fields...

  • 4
    #2 is definitely related to max_input_vars value and/or post_max_size. – Brad Bell Nov 16 '15 at 19:57
  • 1
    I ran into issue #2 today, and it was definitely due to max_input_vars. @BradBell would it be possible to change how Craft posts data when saving a matrix field? It seems like just serializing it before the submission and then deserializing in the controller would address this issue without people needing to know to update their PHP settings, since the matrix field definition would always just be a single variable. – John O Feb 10 '16 at 23:46
2

In a previous project when I was in dev mode, the website was very slow. But when I shut this down it was fast again. Could this be a solution?

| improve this answer | |
  • 1
    Thank you so much for this answer!!! I have been trying to figure out for the last week why Craft has been so slow with any matrix fields on my channels -- this is definitely why! Maybe it's due to logging all database stuff? – Sandy D. Apr 13 '16 at 14:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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