Skip to content
Grav 2.1 is out: every page speaks Markdown. Read the announcement →

Define data-options@ from plugin config file

Started by Djordje 7 years ago · 1 replies · 787 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 jeremycherfas, 1 week ago
4 181 2 days ago
General · by lynbor, 6 days ago
2 124 3 days ago
General · by Old Man Umby, 1 week ago
1 100 1 week ago
General · by Sebastian, 1 week ago
1 124 1 week ago
General · by Andy Miller, 3 weeks ago
0 248 3 weeks ago