1

I have a Low Variable that is set as a Matrix field. Inside of my Matrix, I have a field set as an Expresso field. When I view the edit variable screen, the Expresso toolbar doesn't show up -- the field just appears to be a regular text field.

When I try to display my Low Variable field in a template, it displays the Expresso text unprocessed, as if it were a regular text field, and I get these php errors:

Message: Undefined property: Expresso_ft::$row
Filename: expresso/ft.expresso.php
Line Number: 389

Message: Undefined property: Expresso_ft::$row
Filename: expresso/ft.expresso.php
Line Number: 390

Message: Cannot modify header information - headers already sent by (output     started at /path/to/system/codeigniter/system/core/Exceptions.php:170)
Filename: core/Common.php
Line Number: 412

I have the same issue if I switch the field type from Expresso to Rich Text -- no editing buttons on the edit variable screen, and these php errors:

Message: Undefined index: field_fmt
Filename: libraries/Rte_lib.php
Line Number: 505

Message: Cannot modify header information - headers already sent by (output     started at /path/to/system/codeigniter/codeigniter/system/core/Exceptions.php:170)
Filename: core/Common.php
Line Number: 412

I don't have any problems using Matrix, Expresso or Rich Text fields as Low Variables individually, it's only when I nest the Expresso or RT fields inside a Matrix inside of a Low Variable.

I'm running EE 2.5.4, Low Variables 2.3.2, Matrix 2.5.2 and Expresso 3.0.2

2
  • What version of Matrix? Jan 23, 2013 at 17:20
  • @BrandonKelly Matrix 2.5.2. Sorry, thought I specified that in the question.
    – artmem
    Jan 23, 2013 at 18:28

2 Answers 2

2

I have run into this problem also. The developer of Expresso has indicated that this is not supported and might never be.

While I don't have a solution, I did some tests to see if any other "wysiwyg"-style fieldtypes support this. Here's what I found:

  • Native RTE: No
  • Expresso: No
  • Wygwam: Yes
  • Wyvern: Yes
  • Redactee: Yes
  • Editor (DevDemon): Yes
0

/system/expressionengine/modules/rte/libraries/Rte_lib.php line 505

Instead of

if ($settings['field_fmt'] == 'xhtml') { $this->EE->load->library('typography');

                $data = $this->EE->typography->_format_newlines($data);

                // Remove double paragraph tags
                $data = preg_replace("/(<\/?p>)\\1/is", "\\1", $data);
            }

you should check if isset this field. Like this.

if (isset($settings['field_fmt'])) {

            if ($settings['field_fmt'] == 'xhtml')
            {
                $this->EE->load->library('typography');

                $data = $this->EE->typography->_format_newlines($data);

                // Remove double paragraph tags
                $data = preg_replace("/(<\/?p>)\\1/is", "\\1", $data);
            }
        }

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.