mirror of
				https://git.code.sf.net/p/seeddms/code
				synced 2025-10-30 20:51:22 +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
	 Uwe Steinmann
						Uwe Steinmann