Forums / Developer / Function "xxx" is not registered

Function "xxx" is not registered

Author Message

Damien MARTIN

Thursday 10 December 2009 7:32:34 am

Hi there,

I currently have a problem writing template operators.

I used Felix Woldt's tutorial who works very well but I would like to use different operators and not a single operator with different behaviour based on arguments.

So, I tried something like this :

eztemplateautoload.php

<?php
    
    $eZTemplateOperatorArray = array();
    
  
  $eZTemplateOperatorArray[] = array(    'script' => 
'extension/moo/autoloads/mooperator.php', 
                          
                  'class' => 'MOOperator',
                       
                     'operator_names' => array(
                  
                              
                                      
          'moo',
                                               
 'moo_hello_world'
                                                
  
                                          ) ); 
?>

mooperator.php

<?php
    
    class MOOperator{
        
        function MOOperator(){}
        
        function operatorList(){
            
            return array(
                
                'moo',
                'moo_hello_world'
                
            );
            
        }
        
        function namedParameterPerOperator(){
            
            return true;
        
        }
        
        function namedParameterList(){
            
            return array(
                
                'moo' => array( 'params' => array() ),
                
                'moo_hello_world'     => array(     
                                                    'params' => array(  'type' => 'array', 'required' => false, 'default' => array()  )
                                                )
                
            );
        
        }
        
        function modify(     $tpl, 
                            $operatorName, 
                            $operatorParameters, 
                            $rootNamespace, 
                            $currentNamespace, 
                            $operatorValue, 
                            $namedParameters){
            
            switch($operatorName){
                
                case "moo":
                    // $namedParameters['result_type'];
                    $operatorValue = "";
                    break;
                    
                case "moo_hello_world":
                    $operatorValue = Test::helloWorld();
                    break;
                
            }
            
        }
    
    }

?>

But nothing appends.

eZ Debug

Undefined index:  moo in /var/www/espace/lib/eztemplate/classes/eztemplate.php on line 660
Function "moo" is not registered

Could you say to me what is wrong with my code ?

I used Felix's tutorial and I used the code of ezstarrating and I don't see where I made mistakes...

Thanks

Damien

Jean-Luc Nguyen

Thursday 17 December 2009 9:36:10 am

Hello there, try to regenerate autoload classes:

sudo php bin/php/ezpgenerateautoloads.php

http://www.acidre.com

Giovanni Gigante

Sunday 17 January 2010 7:26:54 am

Note that in your template you should call {moo()} with parentheses, even if there are no arguments. Just using {moo} does not work and produces a 'Function "moo" is not registered' message.

eZ debug

Timing: Jan 30 2025 19:52:01
Script start
Timing: Jan 30 2025 19:52:01
Module start 'content'
Timing: Jan 30 2025 19:52:01
Module end 'content'
Timing: Jan 30 2025 19:52:01
Script end

Main resources:

Total runtime0.3646 sec
Peak memory usage8,192.0000 KB
Database Queries141

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0097 587.9297370.2969
Module start 'content' 0.00970.0126 958.22661,006.1563
Module end 'content' 0.02220.3422 1,964.38283,896.9922
Script end 0.3645  5,861.3750 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00461.2578200.0002
Check MTime0.00140.3723200.0001
Mysql Total
Database connection0.00070.200510.0007
Mysqli_queries0.264372.48711410.0019
Looping result0.00140.38661390.0000
Template Total0.341893.810.3418
Template load0.00070.180810.0007
Template processing0.341293.587610.3412
Override
Cache load0.00040.122610.0004
Sytem overhead
Fetch class attribute can translate value0.00190.522510.0019
XML
Image XML parsing0.00030.070510.0003
General
dbfile0.00942.5743200.0005
String conversion0.00000.001430.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs