TomPich Posted May 6 Share Posted May 6 Hi guys, I think what I try to achieve is quite simple, nevertheless I can’t find out how to do it. On a specific template, I’d like to add some general description about the whole template. It’s just some text that I’d like to insert at the beginning of the admin page when a page based on this template is edited. I don’t need to create a whole new custom admin page. Any clue? Thanks Link to comment Share on other sites More sharing options...
Nicolas Posted May 6 Share Posted May 6 Hi, Using ProcessWire notice system you could do something like <?php // In /site/ready.php $wire->addHookAfter('ProcessPageEdit::execute', function (HookEvent $event) { $pageEdit = $event->object; $page = $pageEdit->getPage(); if ($page->template == 'home') { $this->wire('notices')->add(new NoticeMessage("Hello World")); } }); 3 1 Link to comment Share on other sites More sharing options...
netcarver Posted May 6 Share Posted May 6 In addition to the great suggestion from @Nicolas, you can also do it by prepending a Markup textfield to the edit form for just that particular template. Here's more code - I'd put this in site/templates/admin.php as this is only an admin feature. $pages->addHookAfter("ProcessPageEdit::buildForm", function($event) { $form = $event->return; $id = (int) wire("input")->get("id"); if (!$id) { return; } $editedPage = wire("pages")->get($id); if ($editedPage->template->name === "home") { // CHANGE TEMPLATE NAME HERE $f = wire()->modules->get('InputfieldMarkup'); $f->label = "Notes"; $f->value = "<p>Your HTML Notes in here.</p>"; $form->prepend($f); } }); 3 1 Link to comment Share on other sites More sharing options...
bernhard Posted May 6 Share Posted May 6 Or when using Custom Page Classes + MagicPages you have your code where it belongs (if it's for the "home" template then it's in the HomePage.php file) and avoid hook hell in site/ready.php // site/classes/HomePage.php class HomePage extends DefaultPage { use MagicPage; public function editForm($form): void { $f = new InputfieldMarkup(); $f->label = 'Help'; $f->value = 'Foo bar baz!'; $form->prepend($f); } } 3 1 Link to comment Share on other sites More sharing options...
virtualgadjo Posted May 6 Share Posted May 6 Hi, honestly for this kind of thing i use one of those two modules 🙂 https://processwire.com/search/?q=runtime&t=Modules Robin's one is a little more recent but both work fine have a nice day 3 1 Link to comment Share on other sites More sharing options...
Nicolas Posted May 6 Share Posted May 6 @virtualgadjo I might compare ProcessWire to the Perl language : "There is more than one way to do it" ©. Thanks to ProcessWire flexibility, it's good to have options depending on the way one is more comfortable with. 1 Link to comment Share on other sites More sharing options...
virtualgadjo Posted May 6 Share Posted May 6 @Nicolas you're right and it's one of those things that makes it so great without speaking of all those crazy guys here who never stop helping while writing great addons 🙂 2 Link to comment Share on other sites More sharing options...
TomPich Posted May 7 Author Share Posted May 7 Thank you guys. You are amazing. I prefer not to use modules when what I want can be achieved with a few lines (this is an old habit I got with WordMessPress). I’ll try your suggestions. And I’ll investigate about this MagicPage. I read this name three times yesterday and I have no clue about what it is. 2 Link to comment Share on other sites More sharing options...
gebeer Posted May 7 Share Posted May 7 5 hours ago, TomPich said: And I’ll investigate about this MagicPage. I read this name three times yesterday and I have no clue about what it is. Here you go: https://www.baumrock.com/en/processwire/modules/rockmigrations/docs/magicpages/ 1 1 Link to comment Share on other sites More sharing options...
TomPich Posted May 7 Author Share Posted May 7 Thanks @gebeer This RockMigration module seems really interesting. 2 Link to comment Share on other sites More sharing options...
ManuelBridwell Posted Thursday at 05:30 AM Share Posted Thursday at 05:30 AM On 5/6/2024 at 8:43 PM, virtualgadjo said: Hi, honestly for this kind of thing i use one of those two modules 🙂 https://processwire.com/search/?q=runtime&t=Modules Robin's one is a little more recent but both work fine have a nice day Thanks, I will try it and if I face any issue, I will share it by starting my own thread. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now