Skip to content
● Grav 2.2 is out: 2x faster cold starts and 96% less memory on big sites. Read the announcement →

Language support for a plugin: undefined variable $grav

Solved by Ole Vik View solution

Started by Anna 8 years ago · 4 replies · 779 views
8 years ago

I'm adding language support to my first plugin, and I have some questions as to how to do that correctly. What I need is one string (configurable), to be used by a custom function. So I put the following in my plugin's languages.yaml file:

YAML
en:
  PLUGIN_ANTISPAM:
  NOSCRIPT: [email address is javascript encrypted]

de:
  PLUGIN_ANTISPAM:
  NOSCRIPT: [Mailadresse ist Javascript-verschlüsselt]

And in my custom function, I tried to read this with the following:

PHP
function munge($array) {
    // a bunch of irrelevant stuff here
    $txt .= "<noscript>".$grav['language']->translate(['PLUGIN_ANTISPAM.NOSCRIPT'])."<"."/noscript>";
  return $txt;
}

I got this from the documents. However, this returns a Crikey! error that says "Undefined variable: grav". What is wrong?

8 years ago Solution

$grav should probably be $this->grav, unless the instance was previously declared as a variable in the method.

8 years ago

That was it, that did the trick! 🤩 (I love you so much right now) Should I post a correction for the page in the documents where I found the $grav reference? I shall try to figure out how best to do that.

Now there's still a minor bug in the plugin, but mostly it's good to go, so I'm putting it up right now and posting that issue in the Grav tracker!

8 years ago

You can easily edit the page by clicking "Edit" at the top, that creates a Pull Request on GitHub.

8 years ago

Nice. Thank you yet again for lending a hand to a GitHub and plugin newbie! I think I managed to create a proper pull request – if I've gotten all of that right, including my plugin repo, I shall do my best improving the documents and making new plugins to help make Grav an even better CMS for everybody. :purple_heart:

Suggested topics

Topic Participants Replies Views Activity
Plugins · by renedebaaij, 11 hours ago
0 16 11 hours ago
Plugins · by complanar, 2 weeks ago
6 379 2 weeks ago
Plugins · by BenLaKnet, 2 weeks ago
1 197 2 weeks ago
Plugins · by complanar, 1 month ago
2 472 4 weeks ago
Plugins · by Vladimir Novak, 2 months ago
3 750 2 months ago