Skip to content
Grav 2.0 is officially stable. Read the announcement →
General

Define data-options@ from plugin config file

Started by Djordje 7 years ago · 1 replies · 764 views
7 years ago

Hi there!
I made a simple plugin to add some user information!
I want to make new blueprints on item.html.twig

This is plugin config file:

YAML
enabled: false
authors:
  -
    name: Author 1
    desc: Description 1
    custom_file:
      user/themes/quark/images/download.jpg:
        name: download.jpg
        type: image/jpeg
        size: 7134
        path: user/themes/quark/images/download.jpg
  -
    name: Author 2
    desc: Description 2
    custom_file:
      user/themes/quark/images/student-2.png:
        name: student-2.png
        type: image/png
        size: 172675
        path: user/themes/quark/images/student-2.png

This is a blueprints:

YAML
header.author:
   type: select
   label: Author
   classes: fancy
   data-options@: '\Grav\Plugin\AuthorsPlugin::getAuthors'

And I have this in plugin php file:

PHP
public static function getAuthors() {

        $author_name = $this->grav['config']->get('plugins.authors.name');

    }

I get Error:
Using $this when not in object context

Any solutions for this? Thanks!

7 years ago

Your function which returns a value to use as a dynamic field property needs to be a so called static function. As a consequence that function is not part of the other object oriented code and therefor $this can't be used.

Though I can't explain exactly why I can show you how to tackle this ;) as I had to cope with the same while developing the Form Prefiller Plugin.

Instead of $this->grav['config'] use Grav::instance()['config']

See for example the getTwig() function of that plugin.

👍 1

Suggested topics

Topic Participants Replies Views Activity
General · by Andy Miller, 2 days ago
0 99 2 days ago
General · by ready-4-IT, 5 months ago
1 657 1 week ago
General · by jean-louis67, 1 month ago
2 399 1 month ago
General · by Andy Miller, 1 month ago
0 409 1 month ago
General · by Veehem, 1 month ago
0 334 1 month ago