Sign in to follow this  
rareyush

New Field

Recommended Posts

I am trying to add a file type field in a template but when I give access to the template I receive this error

Error: Exception: New page '//' must be saved before files can be accessed from it (in /mysite/wire/core/PagefilesManager.php line 342)

#0 /mysite/wire/core/PagefilesManager.php(328): ProcessWire\PagefilesManager->___path()
#1 /mysite/wire/core/PagefilesManager.php(268): ProcessWire\PagefilesManager->path()
#2 /mysite/wire/core/PagefilesManager.php(106): ProcessWire\PagefilesManager->createPath()
#3 /mysite/wire/core/PagefilesManager.php(90): ProcessWire\PagefilesManager->init(Object(ProcessWire\Page))
#4 /mysite/wire/core/Page.php(3498): ProcessWire\PagefilesManager->__construct(Object(ProcessWire\Page))
#5 /mysite/wire/core/Pagefiles.php(132): ProcessWire\Page->filesManager()
#6 /hom

This error message was shown because: you are logged in as a Superuser. Error has been logged.

 

Share this post


Link to post
Share on other sites

This is an old issue. I use the following workaround. In case of an unsaved page instance (id = 0) a hook is called from the render() method of my custom module, which provides a form (withfile field) based on a PW template in the frontend:

$this->addHookBefore('PagefilesManager::path', function ($e) {
   $e->replace = true;
   $e->return = null;
});

https://github.com/ryancramerdesign/ProcessWire/issues/1259

Share this post


Link to post
Share on other sites
On 1/13/2018 at 11:30 AM, kixe said:

This is an old issue. I use the following workaround. In case of an unsaved page instance (id = 0) a hook is called from the render() method of my custom module, which provides a form (withfile field) based on a PW template in the frontend:


$this->addHookBefore('PagefilesManager::path', function ($e) {
   $e->replace = true;
   $e->return = null;
});

https://github.com/ryancramerdesign/ProcessWire/issues/1259

this one doesn't work :(

Share this post


Link to post
Share on other sites

Please post your code or explain exactly what you are doing.

  • Like 1

Share this post


Link to post
Share on other sites
12 hours ago, kixe said:

Please post your code or explain exactly what you are doing.

from admin panel I created new field whose type I choose 'file'.

i have a template for contact form where i want to put this field and give access to upload files options to users

but when i add this new field in that template my site stops working, i saw that error which i posted above everywhere.

Share this post


Link to post
Share on other sites

Put the code I have posted in your ready.php and replace $this with $wire.

$wire->addHookBefore('PagefilesManager::path', function ($e) {
   $e->replace = true;
   $e->return = null;
});
  • Like 2

Share this post


Link to post
Share on other sites
12 hours ago, kixe said:

Put the code I have posted in your ready.php and replace $this with $wire.


$wire->addHookBefore('PagefilesManager::path', function ($e) {
   $e->replace = true;
   $e->return = null;
});

Thanks kixe

Love you a lot, you solved my big problem, I was trying to add that code in my main file & in init file.

 

Thanks a lot

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.