Use PHP in entries
Use PHP in entries
Edit Arvid: This used to be an answer on the topic "include other content". Since this is a very interesting question for itself, I felt free to create this new topic with it.
A question... is it actually possible to use PHP in flatpress entries and static pages? There are certain things I'd love to be able to do, but after testing I'm assuming it's simply not possible given the pages are rendered using .TXT files.
Any words of wisdom on such?
A question... is it actually possible to use PHP in flatpress entries and static pages? There are certain things I'd love to be able to do, but after testing I'm assuming it's simply not possible given the pages are rendered using .TXT files.
Any words of wisdom on such?
Re: Use PHP in entries
This is a very interesting question.
I would not bother searching for a direct answer, though. Because this is exactly what the plugins are for
Once familiar with their neccessary programming interfaces, you can freely create any PHP logic, let's say, a random number generator. Make sure your plugin also adds a new BBCode element ("randomnumber"). Use this element to display your plugin output in entries and static pages:
...this may be displayed as "23" on your page, and after refreshing, as "87".
And if you need it more dynamically (say, you want to specify the range the generated number has to be in), use BBCode parameters:... to make sure the displayed number is always between 10 and 30.
Of course, the plugin code must read from this parameters and use their values in its logic. But this is not difficult to do, you can learn that quickly from existing plugins that have own BBCode elements. Take a look into my audio and video player plugin for example!
All the best,
Arvid
I would not bother searching for a direct answer, though. Because this is exactly what the plugins are for
Once familiar with their neccessary programming interfaces, you can freely create any PHP logic, let's say, a random number generator. Make sure your plugin also adds a new BBCode element ("randomnumber"). Use this element to display your plugin output in entries and static pages:
Code: Select all
[randomnumber]
And if you need it more dynamically (say, you want to specify the range the generated number has to be in), use BBCode parameters:
Code: Select all
[randomnumber min=10 max=30]
Of course, the plugin code must read from this parameters and use their values in its logic. But this is not difficult to do, you can learn that quickly from existing plugins that have own BBCode elements. Take a look into my audio and video player plugin for example!
All the best,
Arvid
Re: Use PHP in entries
Ah yes, If you remember correctly, I've actually made a plugin or two before, so it should have occurred to me right away that this is probably the path I should have chosen, although I do believe I tried this once before to add the Disqus comments system dynamically to my Static pages without much luck.Arvid wrote: ↑Sat Jan 23, 2021 11:53 am This is a very interesting question.
I would not bother searching for a direct answer, though. Because this is exactly what the plugins are for
Once familiar with their neccessary programming interfaces, you can freely create any PHP logic, let's say, a random number generator. Make sure your plugin also adds a new BBCode element ("randomnumber"). Use this element to display your plugin output in entries and static pages:...this may be displayed as "23" on your page, and after refreshing, as "87".Code: Select all
[randomnumber]
And if you need it more dynamically (say, you want to specify the range the generated number has to be in), use BBCode parameters:... to make sure the displayed number is always between 10 and 30.Code: Select all
[randomnumber min=10 max=30]
Of course, the plugin code must read from this parameters and use their values in its logic. But this is not difficult to do, you can learn that quickly from existing plugins that have own BBCode elements. Take a look into my audio and video player plugin for example!
All the best,
Arvid
I will experiment a bit and see if I can do what I want to with this method. Thanks for answering this one so thoroughly, as it's something that could absolutely help many others in the future I think! Very much worth it's own thread~
Re: Use PHP in entries
I, err, was totally aware of that when I wrote my answer
But indeed, this topic might be useful for future readers.
Please feel free to ask questions that occur to your on your plugin journey!
Re: Use PHP in entries
No problem at all, you can't be expected to remember every person and everything! hehe
So, I did try this, but it sadly didn't turn out how I wanted it to. I'll explain the basic idea before sharing any files or code...
With how my website is set up, I wanted the option of adding a custom "Back" link to Static pages much like you see on the main news post pages and index page of flatpress. The idea would be that the static.tpl would contain a line of code for the back button, and it would somehow grab it's code from elsewhere on a static page using a PHP echo so that I could define the target URL on the fly.
So, on the static template the "a href" would work something like this:
Then of course comes the plugin code, which can be seen in the following file:
https://mega.nz/file/8lgXDSSL#dKqbPuJYp ... v8vjcLJgYY
Then based on the code above, I define the actual link on a Static page in the following way:
Sadly, the URL never gets defined, and as such the URL ends up as "mysite.com/<?php%20echo%20$link;?>" instead of "mysite.com/pagename".
I've made sure the plugin is enabled, and I can see in the site's header that the plugin is loaded on the page. I'm sure I'm just missing something really small and I'm going to feel like an idiot when it's pointed out what I'm doing wrong, but the forums are here to help support us, so I'm looking forward to feel foolish! haha
Maybe there is a better way than using PHP for this task? I'm open to ideas!
So, I did try this, but it sadly didn't turn out how I wanted it to. I'll explain the basic idea before sharing any files or code...
With how my website is set up, I wanted the option of adding a custom "Back" link to Static pages much like you see on the main news post pages and index page of flatpress. The idea would be that the static.tpl would contain a line of code for the back button, and it would somehow grab it's code from elsewhere on a static page using a PHP echo so that I could define the target URL on the fly.
So, on the static template the "a href" would work something like this:
Code: Select all
<a href="<?php echo $link;?>">Back</a>
https://mega.nz/file/8lgXDSSL#dKqbPuJYp ... v8vjcLJgYY
Then based on the code above, I define the actual link on a Static page in the following way:
Code: Select all
[pagelinks]pagename[/pagelinks]
I've made sure the plugin is enabled, and I can see in the site's header that the plugin is loaded on the page. I'm sure I'm just missing something really small and I'm going to feel like an idiot when it's pointed out what I'm doing wrong, but the forums are here to help support us, so I'm looking forward to feel foolish! haha
Maybe there is a better way than using PHP for this task? I'm open to ideas!
-
- Posts: 44
- Joined: Wed Feb 20, 2019 7:44 pm
- Location: Rouchovany
- Contact:
Re: Use PHP in entries
plugin inlinephp
http://flatpress.cz/flatpress/fp-plugin ... inephp.zip
http://flatpress.cz/flatpress/fp-plugin ... inephp.zip
Code: Select all
[exec]echo(rand(10,100));
echo PHP_VERSION;[/exec]
Re: Use PHP in entries
Sadly this doesn't fix my issue, but it's an absolute game changer when it comes to using PHP in all kinds of entries!Lubomír Ludvík wrote: ↑Mon Feb 15, 2021 2:09 pm plugin inlinephp
http://flatpress.cz/flatpress/fp-plugin ... inephp.zip
Code: Select all
[exec]echo(rand(10,100)); echo PHP_VERSION;[/exec]
-
- Posts: 44
- Joined: Wed Feb 20, 2019 7:44 pm
- Location: Rouchovany
- Contact:
Re: Use PHP in entries
YES, you can run file /fp-plugins/locale.php
Code: Select all
[exec]require_once('../locale.php');[/exec]
Re: Use PHP in entries
Okay, good to know.Lubomír Ludvík wrote: ↑Tue Feb 16, 2021 5:24 am YES, you can run file /fp-plugins/locale.phpCode: Select all
[exec]require_once('../locale.php');[/exec]
Anyway, still trying to fix my issue, so if anyone has any idea as requested in one of my last posts, I'd appreciate it. Like I said, I'm open to ideas, and I'm sure I'm just missing something small here. I've tried to be as detailed as possible.
Re: Use PHP in entries
Hi, I`ve put it in the wiki. I hope that's is ok? https://wiki.flatpress.org/res:plugins:inlinephpLubomír Ludvík wrote: ↑Mon Feb 15, 2021 2:09 pm plugin inlinephp
http://flatpress.cz/flatpress/fp-plugin ... inephp.zip
Code: Select all
[exec]echo(rand(10,100)); echo PHP_VERSION;[/exec]
Arvid: There is a superfluous copy in res:plugins. Looks like only admin can remove files after upload.
Detlef
Who is online
Users browsing this forum: Google [Bot] and 92 guests