Forums / Developer / "top 10" template operator

"top 10" template operator

Author Message

Norman Leutner

Wednesday 22 February 2006 1:39:37 am

Hi,

I'm trying to make a "top 10" template operator which gets a list of users and teir created objects:

function modify( &$tpl, &$operatorName, &$operatorParameters, &$rootNamespace,
                     &$currentNamespace, &$operatorValue, &$namedParameters )
    {
        switch ( $operatorName )
        {
            case 'topauthors':
            {
                
                $db =& eZDB::instance();                
                
                $query="SELECT `owner_id` , count( `owner_id` ) AS user_count
                        FROM `ezcontentobject` 
                        WHERE `contentclass_id` = '".$namedParameters['class_id']."'
                        AND `status` = '1'
                        GROUP BY `owner_id` 
                        ORDER BY `user_count` DESC 
                        LIMIT 0 , ".$namedParameters['limit'];

                $ResultArray = $db->arrayQuery( $query );                

                echo "<pre>Values:<br/>";
                var_dump ($ResultArray);
                echo "</pre>";                
                
                $operatorValue = $ResultArray;
                
            } break;
        }
    }

The function works fine, but I have the problem that the $ResultArray is not passed back to the template correctly:

<hr/>
{set $topten = topauthors('16','10')}
<hr/>
{$topten|attribute(show)}

The returned results is empty, even if the SQL returns the correct array.

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Attribute Type Value 

It seems like

$operatorValue = $ResultArray;

isn't the correct way to pass the array back to the template.

Can anyone give me a advice how to do that?

Thanks in advance

Mit freundlichen Grüßen
Best regards

Norman Leutner

____________________________________________________________
eZ Publish Platinum Partner - http://www.all2e.com
http://ez.no/partners/worldwide_partners/all2e_gmbh

Łukasz Serwatka

Wednesday 22 February 2006 1:49:52 am

Try with

<hr/> 
{def $topten = topauthors('16','10')} 
<hr/> 
{$topten|attribute(show)}

or

<hr/> 
{def $topten=''} 
{set $topten = topauthors('16','10')}
<hr/> 
{$topten|attribute(show)}

or


{topauthors('16','10')|attribute}

Problem is with {set} which assigns value to not defined variable.

Personal website -> http://serwatka.net
Blog (about eZ Publish) -> http://serwatka.net/blog

Norman Leutner

Wednesday 22 February 2006 2:11:34 am

Thanks Lukasz,

it works fine now....

Mit freundlichen Grüßen
Best regards

Norman Leutner

____________________________________________________________
eZ Publish Platinum Partner - http://www.all2e.com
http://ez.no/partners/worldwide_partners/all2e_gmbh

Łukasz Serwatka

Wednesday 22 February 2006 2:23:40 am

Great :)

Personal website -> http://serwatka.net
Blog (about eZ Publish) -> http://serwatka.net/blog

Norman Leutner

Wednesday 22 February 2006 2:57:07 am

I've added the operator to the contributions under:

http://ez.no/community/contribs/template_plugins/topauthors

maybe it's usefull for someone else...

Mit freundlichen Grüßen
Best regards

Norman Leutner

____________________________________________________________
eZ Publish Platinum Partner - http://www.all2e.com
http://ez.no/partners/worldwide_partners/all2e_gmbh

eZ debug

Timing: Jan 19 2025 00:36:27
Script start
Timing: Jan 19 2025 00:36:27
Module start 'content'
Timing: Jan 19 2025 00:36:28
Module end 'content'
Timing: Jan 19 2025 00:36:28
Script end

Main resources:

Total runtime0.7893 sec
Peak memory usage4,096.0000 KB
Database Queries200

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0065 587.7109180.8359
Module start 'content' 0.00650.6543 768.5469586.5469
Module end 'content' 0.66080.1284 1,355.0938341.3750
Script end 0.7892  1,696.4688 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00410.5247210.0002
Check MTime0.00160.2044210.0001
Mysql Total
Database connection0.00080.106710.0008
Mysqli_queries0.709189.84232000.0035
Looping result0.00230.29351980.0000
Template Total0.763396.720.3817
Template load0.00160.208320.0008
Template processing0.761796.501720.3808
Template load and register function0.00010.013910.0001
states
state_id_array0.00090.111110.0009
state_identifier_array0.00060.077520.0003
Override
Cache load0.00140.1768370.0000
Sytem overhead
Fetch class attribute can translate value0.00110.134830.0004
Fetch class attribute name0.00170.211570.0002
XML
Image XML parsing0.00130.165130.0004
class_abstraction
Instantiating content class attribute0.00000.0057100.0000
General
dbfile0.00180.2278360.0000
String conversion0.00000.000530.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
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
5content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
5content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
12content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
7content/datatype/view/ezxmltags/literal.tpl<No override>extension/community/design/standard/templates/content/datatype/view/ezxmltags/literal.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 31
 Number of unique templates used: 6

Time used to render debug report: 0.0002 secs