Jump to content

Recommended Posts

Posted

Hi all, 

I created a custom Fieldtype / Inputfield combo (similiar to https://processwire.com/modules/fieldtype-events/) and also want to add content to this fieldtype via API. 

Now, with lazy loading enabled I get the error that class is not found. 

 

//will throw an error here.. Class ProcessWire\Event not found.
$event = new Event();

With lazy loading disabled via config.php everything works well. 

Is there any way to "register" or make ProcessWire aware to actually load this class or any other workaround (besides disabling lazy loading)? 

  • Like 1
Posted

Have you tried calling $modules->get('yourfieldtype') before using the API?

To avoid that, you could turn Event and EventArray into autoload modules.

  • Like 1
Posted

Hi @BitPoet

thanks for your help.

Calling $modules->get('myfieldtype') does the trick (although it's a little cumbersome to add it everywhere before I'm using this fieldtype via the API).

However, I don't understand your second suggestion. Event and EventArray are classes which extend WireData/WireArray, how could they be autoloaded? Setting autoload to true in both FieldtypeEvents and InputfieldEvents (just to make sure) has no positive effect.

Posted
3 hours ago, androbey said:

However, I don't understand your second suggestion. Event and EventArray are classes which extend WireData/WireArray, how could they be autoloaded? Setting autoload to true in both FieldtypeEvents and InputfieldEvents (just to make sure) has no positive effect.

You'd need to turn Event and EventArray into modules programmatically, i.e. add "implements Module" to the class declaration and add the static getModuleInfo() method. The returned array from that method is where you can set the autoload value. Then you can also drop the require_once() statements in the fieldtype's constructor. (And don't forget to install Event and EventArray Modules in the backend after the change)

  • Like 1

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...