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

Getting twig processed content

Started by Richard Hainsworth 8 years ago · 1 replies · 813 views
8 years ago

How to get twig processed content inside a shortcode?

I want to write

TWIG
[sql-table]
select * from table where id={{ userinfo.id }}
[/sql-table]

I am using the sqlite and persistent-data plugins (which I wrote and are on the downloads page). sqlite gives the shortcode and persistent-data makes form fields into a twig variable.

Inside the [sql-table] shortcode, I have

PHP
$stanza = $sc->getContent();

However, dumping $stanza gives me select * from table where id={{ userinfo.id }}.

{{ userinfo.id }} should be 3 after being processed by twig.

Interestingly, the error message generated by the SQLite3 sql engine refers to a bad '{', but when the stanza is dumped via the error template (the expected action in sqlite for an error), I see a where id=3.

So what I want to know is how to force a twig processing on content inside a shortcode.

8 years ago

[frustration]!! [Solved].

The answer is

PHP
$stanza = $this->grav['twig']->processString($sc->getContent());

Suggested topics

Topic Participants Replies Views Activity
Plugins · by Vladimir Novak, 2 weeks ago
3 291 2 weeks ago
Plugins · by Mathieu Lecouturier, 3 weeks ago
3 277 3 weeks ago
Plugins · by Slebeig, 2 months ago
1 403 2 months ago
Plugins · by Rene, 2 months ago
2 574 2 months ago
Plugins · by Xavier, 3 months ago
2 490 3 months ago