Forums / Developer / Questions about custom extensions

"Please Note:
  • At the specific request of Ibexa we are changing this projects name to "Exponential" or "Exponential (CMS)" effective as of August, 11th 2025.
  • This project is not associated with the original eZ Publish software or its original developer, eZ Systems or Ibexa".

Questions about custom extensions

Author Message

Deepin Prayag

Friday 25 August 2006 8:12:34 am

Hi,
I have two questions:

Question 1
Can an extension contain multiple modules with each of those modules having more than one view? If so, how do we go about creating one such custom extension?

Question 2
Modules, datatypes, events, and template operators are all forms/types of extensions that can be customised. Right?
In a single custom extension, can there be a module, a new datatype, a new event, and custom template operators? If so, how are they related, and how can they be included in a custom extension?

Felix Woldt

Saturday 26 August 2006 8:54:14 am

Hi Deepin,

1. Yes you can have different modules with different views in one extension!

for example:

filesystem structure

extension/
- myextension/
    - modules/
       - mymodul/
           - script1.php
           - script2.php
           - module.php
       - mymodul2/
           - script3.php
           - script4.php
           - module.php

    - settings/
         - module.ini.append.php

Access Urls:

 ... index.php/siteaccess/ mymodul / view1
 ... index.php/siteaccess/ mymodul / view2

 ... index.php/siteaccess/ mymodul2 / view1
 ... index.php/siteaccess/ mymodul2 / view2

For each module you can set the views in the module.php:
mymodul/module.php

<?php

$Module = array( "name" => "MyModule" );

$ViewList = array();

$ViewList['view1'] = array(
	"script" => 'script1.php',
	"params" => array( ) );

$ViewList['view2'] = array(
	"script" => 'script2.php',
	"params" => array( ) );	

?>

mymodul2/module.php

<?php

$Module = array( "name" => "MyModule 2" );

$ViewList = array();

$ViewList['view1'] = array(
	"script" => 'script3.php',
	"params" => array( ) );

$ViewList['view2'] = array(
	"script" => 'script4.php',
	"params" => array( ) );	

?>

That the module would be find from eZ you have to register the extension in which eZ will looking for modules:

settings/module.ini.append.php

<?php /*
[ModuleSettings]
ExtensionRepositories[]=myextension
*/ ?>

===========

2. Have a look to the extension extension_builder

http://ez.no/community/contribs/applications/extension_manager

online demo: choose all what you want and then the extension will be generated.
http://www.xl714.info/index.php?/site/mes_scripts/ez_extension_builder

Its a very complex thema to generate an extension.

Have a look to the documentation:
http://ez.no/products/ez_publish/documentation/development/extensions (choose a topic in the right menu)

Hope this will help a little bit.

Best Regards
Felix Woldt

http://www.jac-systeme.de - Developers united in eZ Publish: http://www.cjw-network.com

CJW Newsletter 1.0.0 released: http://projects.ez.no/cjw_newsletter

Deepin Prayag

Monday 28 August 2006 12:12:17 am

Hi, Felix

Thanks a lot for the code snippets and the url links.

Cheers,
Deepin