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

Getting twig processed content

Started by Richard Hainsworth 8 years ago · 1 replies · 884 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 renedebaaij, 8 hours ago
0 14 8 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