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

Getting twig processed content

Started by Richard Hainsworth 8 years ago · 1 replies · 854 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 complanar, 2 weeks ago
2 250 4 days ago
Plugins · by Vladimir Novak, 1 month ago
3 594 1 month ago
Plugins · by Mathieu Lecouturier, 2 months ago
3 416 2 months ago
Plugins · by Slebeig, 2 months ago
1 530 2 months ago
Plugins · by Rene, 3 months ago
2 731 3 months ago