1

After upgrading from Matrix 2.5 to 2.5.4 (and then to 2.5.5 today), I am now getting errors when I save entries with Matrix fields. The error reads:

A PHP Error was encountered
Severity: Notice
Message: Undefined index: field_id
Filename: matrix/ft.matrix.php
Line Number: 2644

The site also runs Solspace Super Search 2.0.7.

ExpressionEngine version is 2.5.0

Anyone running into this issue?

4
  • Lee - have you tried upgrading EE? I'd definitely recommend that as a first step.
    – Lisa
    May 15, 2013 at 23:45
  • This is a production site, and upgrading EE is a pretty major task given the scale of this particular product. I'm looking at the docs for Matrix and Super Search. SS indicates it works with EE 2.x, and Matrix shows it requires 2.4. Is there any information indicating that the stated version information for these is wrong?
    – LeeZilla
    May 16, 2013 at 6:22
  • Lee, there is not, and I have asked our devs to look at this as well. I'm in the process of catching up on tickets this morning and will let you know if there are updates.
    – Lisa
    May 16, 2013 at 16:00
  • Any update on this issue?
    – LeeZilla
    May 21, 2013 at 18:47

4 Answers 4

2

Since I'm not a big fan of commenting out whole bloc of code my take was to change this line

if (isset($this->cache['keywords'][$this->settings['field_id']]))

and make it look like this

if (isset($this->settings['field_id']) AND isset($this->cache['keywords'][$this->settings['field_id']]))

I had this issue only when saving an entry from the channel used by Structure which doesn't use a matrix field in the first place.

This worked with EE 2.6.1 and Matrix 2.5.5

1
  • Also works: if (isset($this->cache['keywords'][@$this->settings['field_id']])). Jun 6, 2013 at 16:55
1

Yep, this was happening to me too. I commented out the entire function since I needed to get it up and running.

This is what I commented out:

function third_party_search_index($data)
{
    // Did the entry just save?
    if (isset($this->cache['keywords'][$this->settings['field_id']]))
    {
        return $this->cache['keywords'][$this->settings['field_id']];
    }
    else
    {
        return $data;
    }
}

Seems to have worked (nothing is broken as far as I can tell).

1
  • Yes also getting this problem. I'd rather not comment out but might have to resort to that for now.
    – user1505
    May 16, 2013 at 0:21
0

Had something similar recently, had to upgrade EE to at least 2.5.4.

1
  • Ran into this same issue on 2.6.1
    – Jon Horton
    Jul 1, 2013 at 17:45
0

The new Matrix version 2.5.6 solves this problem.

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.