mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-06 07:04:57 +00:00
some more information on how extensions work
This commit is contained in:
parent
44399154b8
commit
8d9d7fddd9
|
@ -5,7 +5,8 @@ Since verson 5.0.0 SeedDMS can be extended by extensions. Extensions
|
|||
can hook up functions into certain operations, e.g.
|
||||
uploading, removing or displaying a document. They can also be
|
||||
used to modify some of the internal variables like the list of
|
||||
translations.
|
||||
translations and they can even replace classes in the core of
|
||||
seeddms and hook up functions into certain operations in the core.
|
||||
|
||||
All extensions are located in the folder 'ext'. Each extension
|
||||
has its own folder named by the name of the extension. The central
|
||||
|
@ -16,7 +17,8 @@ a method init() which is called with any page request. The
|
|||
configuration itself is cached and must be updated within
|
||||
the extension manager if it was changed.
|
||||
|
||||
The integration into SeedDMS is done by hooks. SeedDMS manages
|
||||
The integration into SeedDMS is done by hooks, class and file
|
||||
overloading. SeedDMS manages
|
||||
a globally available array of hooks ($GLOBALS['SEEDDMS_HOOKS']).
|
||||
This array has the elements 'view' and 'controller'. All entries
|
||||
in those array elements contain instances of self defined classes
|
||||
|
@ -29,3 +31,23 @@ class SeedDMS_ExtExample_ViewFolder {
|
|||
...
|
||||
};
|
||||
|
||||
The same approach is implemented for hooks called from the controller
|
||||
logic (the op/op.*.php files).
|
||||
|
||||
$GLOBALS['SEEDDMS_HOOKS']['controller']['removeFolder'][] = new SeedDMS_ExtExample_RemoveFolder;
|
||||
|
||||
class SeedDMS_ExtExample_RemoveFolder {
|
||||
...
|
||||
};
|
||||
|
||||
Based on these two variants of adding hooks to the seeddms application code,
|
||||
the seeddms core can be extended by implementing the controller hook 'initDMS'
|
||||
which is called right after the class SeedDMS_Core_DMS has been initiated.
|
||||
|
||||
Beside hooks and callbacks another way of modifying seeddms is given
|
||||
by overloading the files in the directory 'views' and 'controllers'. Both
|
||||
directories contain class files with a single class for either running
|
||||
controller or view code. If an extension provides those file in its
|
||||
own extension dir, they will be used instead of the files shipped with
|
||||
seeddms.
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user