medienbaecker / kirby-modules

Plugin for modular Kirby websites
MIT License
73 stars 7 forks source link

Add custom module model #18

Closed pedroborges closed 3 years ago

pedroborges commented 3 years ago

I prefer to keep complex logic outside templates and page models are great for that.

You can already override module models individually by adding a site/models/module.text.php file, for example:

// site/models/module.text.php

class ModuleTextPage extends ModulePage {
  // methods...
}

It would be great to be able to override the default module model as well. This PR adds a medienbaecker.modules.model option.

// site/config/config.php

return [
   'medienbaecker.modules.model' => 'CustomModulePage',
];
// site/models/module.php

class CustomModulePage extends ModulePage {
  // methods...
}
medienbaecker commented 3 years ago

That's a great idea, Pedro! Thanks for the PR.

I will have to add some explanation to the README so people remember to extend the ModulePage model with the overwritten url() and render() methods.