créer sa fonction dans une extension... eZ 4.0.0
|
|
Sujet suivant
 »

Vous devez être connecté pour utiliser le forum. Vous pouvez le faire ici.

Auteur Message

anne martinet

Mardi 19 Août 2008 10:56:23 am

créer sa fonction dans une extension... eZ 4.0.0

Bonjour à tous,

Je récupère d'un web service un ensemble de bateau, et je souhaiterai pouvoir les trier, depuis mes templates.
J'ai créé une extension, dans laquelle j'ai:
extension/mon_extension/modules/mon_module/function_definition.php

$FunctionList = array();
$FunctionList['newfunction'] = array(       
             'name'=>'newfunction',
             'operation_types' => array('read'),
             'call_method' => array(
                   'include_file' => 
'extension/media_module/modules/media_module/newModuleFunctionCollection.php',
                   'class' => 'newModuleFunctionCollection',
                   'method' => 'fetchNumber' ),
             'parameter_type' => 'standard',
             'parameters' => array(array(  'name' => 'number',
             'type' => 'integer',
             'required' => true
             )
             )
);


et j'ai aussi ce fichier :
extension/mon_extension/modules/mon_module/newModuleFunctionCollection.php
class newModuleFunctionCollection
{
        function newModuleFunctionCollection(){}
        function fetchNumber($object_id)
        {
                return array('result' => 
                                         'Square of ... : '.$number.' is '.$number*$number);
        }
}


Et j'appelle cette fonction depuis ce templates:
extension/mon_extension/design/standard/templates/mon_design/upload.tpl
{def $fun=fetch('mon_module','newfunction',hash(number,999))}
        Output from function is : {$fun}
{undef $fun}


Mais j'obtiens cette erreur dans le eZ Debug:
Error: eZModuleFunctionInfo::execute  	Jul 23 2008 15:58:53

No class 'newModuleFunctionCollection' available for 
                          function 'newfunction' in module 'mon_module'


Je ne trouve pas où est mon erreur....
Une idée?
merci à l'avance

Damien POBEL

Mardi 19 Août 2008 12:43:26 pm

Re: créer sa fonction dans une extension... eZ 4.0.0

Salut,

Avec eZ4 lorsque tu ajoutes une nouvelle classe PHP, il faut que tu regénères le tableau d'autoload soit avec le script bin/php/ezpgenerateautoloads.php, soit via le backoffice dans http://tobackofficeez/setup/extensions pour que les inclusions PHP se fassent automatiquement.

A+

--
Damien POBEL
Publications autour d'eZ publish http://pwet.fr/tags/keywords/weblog/ez_publish
eZVim, plugin vim pour eZ Publish : http://projects.ez.no/ezvim

anne martinet

Mardi 19 Août 2008 12:54:17 pm

Re: créer sa fonction dans une extension... eZ 4.0.0

Oui effectivement c'etait cela l'erreur

merci

eZ publish™ copyright © 1999-2008 eZ systems as