public
public (main)
|
|_skin
|
|__theme name
|
|__css,js,vendor,fonts,etc
1 : public ->public folder is default folder in laravel
1.1 : skin -> skin folder is our assets folder
1.1.1 : theme name -> folder name is theme name , that contain css, fonts ,js,etc
{
"name": "helloworld",
"version": "0.0.1",
"type" : "local",
"providers": [
"Providers\\HelloworldServiceProvider"
]
}
Parameter | Data type | Use | is optional? |
---|---|---|---|
name | string | name of the module | NO |
version | string | version of the module | NO |
type | string (core/local) | type of the module | NO |
providers | Array | Provider of this module,provider is register point of our module | NO |
plugins | string (relative path of plugin) | plugin path,that used to defind plugin | YES |
helpers | object (relative path of helpers) |
helpers path,that used to defind helpers,helpers contain common functions,we can use any where
eg:
"helpers" : {
"HelperName1":"cms\\core\\blog\\helpers\\Blog",
"HelperName2":"some path",
....
}
|
YES |
search | object (relative path of search class) |
search path,that used to defind search helper,search class functions, this is used to make our module is searchable
eg:
"helpers" : {
"HelperName1":"cms\\core\\blog\\helpers\\Blog",
"HelperName2":"some path",
....
}
|
YES |
configuration | string (view file path of configuration) | configuration is used to view or edit module configuration
eg:
"configuration" : "user::admin.configuration.configuration",
Above example is taken from user module,that mean user configuration is place on cms/core/user/admin/configuration/configuraion.blade.php |
YES |
configuration_data | string (configuration data function path) | configuration data is get module configuration from function,its define function name,this function should return module configuration eg:
"configuration_data" : "\\cms\\core\\user\\Controllers\\UserController@getConfigurationData"
Above example is taken from user module, that mean user configuration function is place on cms/core/user/controller/UserController.php and function name is getConfigurationData
/*
Above function return available user groups |
YES |
{
"name": "cms/user",
"description": "",
"authors": [
{
"name": "Ramesh",
"email": "shunramit@gmail.com"
}
],
"autoload": {
"psr-4": {
}
}
}
< ?xml version="1.0" encoding="utf-8"? > <menus> <group name="General" order="0"> <menugroup name="Users" icon="fa fa-user" order="0"> <menu name="View Users" route="user.index" /> <menu name="Add User" route="user.create" /> </menugroup> </group> </menus>
Tag | Use | Parent | Attributes |
---|---|---|---|
<menus>
|
menus tag is main tag of the menu.xml,that is bootstarp of menu.xml | NULL | NULL |
<group>
|
group tag is defind menu type,default type is general,you can create own group using name attribute |
<menus>
|
|
<menugroup>
|
menugroup tag is defind menu group for example user module menus is placed under user menugroup Menugroup is optional |
<menus>
|
|
<menu>
|
menu tag is used to give a link otherword its just clickable link |
<menus> OR <menugroup>
|
|
routes.php file contain routes of the frontend app exclude admin routes
don't have routes.php?,just create it.. :)
if you don't like file name?
we have good solution for you
go to your module main provider and find registerRoot function then change it
adminroutes.php file contain routes of the admin
this file is include admin middlewares and admin route group with administrator prefix
if you dont want admin middleware of current module
go to your module provider and find registerAdminRoot method and remove middleware
Name | Use | Sub-folders |
---|---|---|
Controller | controller folder contain controllers | - |
Database | Database folder contain migrations and seeds | Migration -> that contain migrations Seeds -> that contain seeds |
Models | Models folder contain Models class | - |
helpers | helpers folder contain helpers class | - |
providers | providers folder contain providers class | - |
resources | resources folder contain assets and views | views,assets |
Mail folder contain Mail class | - | |
Events | Events folder contain Events class | - |
Listeners | Listeners folder contain Listeners class | - |
Middleware | Middleware folder contain Middleware class | - |
Console | Console folder contain artisan comands | Commands |
config | config folder contain config array like roles (deprecated) and mailer configurations | - |
we provide more artisan commands
imagin we have more than 30 artisan commands,its not remebarable,but you know default laravel commands so we have some idea,we added one common word for all laravel commands,thats it,now easily you can remember our commands
eg:/* * artisan command */ protected $commands = [ 'cms\core\{module-name}\Console\Commands\{Commandclass}' ];please replace module-name and commandclass like
/* * artisan command */ protected $commands = [ 'cms\core\menu\Console\Commands\AdminMenu' ];
/* * register commands */ protected function registerCommand() { $this->commands($this->commands); }then add following line to register method
$this->registerCommand();eg:
public function register() { $this->registerViews(); $this->registerRoot(); $this->registerAdminRoot(); $this->registerCommand(); }