Serve Views, Widgets Etc From 3Rd Party Library?


At my company we are trying to implement our own CMS as a vendor in the Yii framework, and everything has been working good so far.

We would like to have as much of the views, controllers, widgets and models as possible served from the library / vendor, and then have only the site/client - specific stuff in the yii-site directory structure.

Does anyone know what I am talking about? Is that possible at all?

Kind regards


not quite understand, is that just an cms module? why bother vendor at all, do i miss anything?

Well, basically our CMS has a “framework” of its own with models for all kinds of content that can be managed through the CMS. It also has a lot of templates for presentation, and we would like to use all of them as views or widgets, with an option to have all the yii sites utilizing our framework have just the site-specific templates served from it’s own directory structure.

Do I express myself clearer by adding that information?

just my 2 cents, i noticed that someone doing this way:

you can have another ‘framework’ in vendor/lib as is and you build your whole stuff in the form of module and extend all your ‘vendor/framework’ without worry about vendor’s framework upgrade etc. and at the same time you have your flexiblity to do what ever in term of controllers, views in your CMS module.

is this an option?

It might be. If Modules can have their own controllers, views etc, would that also solve the main issue with letting the client have a few unique views in their own directory tree that "overrides" the files from the vendor module?

basically my understanding is that module is a application inside an application, it basically self-contains all aspects of regular app as top level. so views, controllers, components you name it, with php OOP we can override anything from the vendor

Yeah, modules really seems to be exactly what I am looking for. I will dig deeper into that to find the best way around it. Really appreciate the help rootbear!