4

Is anyone aware of a way of expanding the 'normal' uses of this (it's id by default and easily changed to field1)? I have one displayField sets follows:

$this->displayField(['name', 'desc']);

Which displays as Name; Description when called in a template file. I know it's a fudge, but it there a way I can manipulate this to have it display Name - Description for example, just by using the displayField?

ndm
  • 59,784
  • 9
  • 71
  • 110
pmelon
  • 187
  • 2
  • 11

1 Answers1

9

Use a virtual field, and specify that to be used as display field instead of using multiple columns, something along the lines of

// ...

class YourEntity extends Entity
{
    // ...

    protected function _getNameDesc()
    {
        return
            $this->_properties['name'] .
            ' - ' .
            $this->_properties['desc'];
    }
}
// ...

class YourTable extends Table
{
    // ...

    public function initialize(array $config)
    {
        $this->displayField('name_desc');

        // ...
    }
}

See also

ndm
  • 59,784
  • 9
  • 71
  • 110