Forums / Developer / Custom Action Handler

Custom Action Handler

Author Message

David Wirth

Wednesday 27 January 2010 6:04:12 am

I am attempting to understand how the custom action handler described at http://serwatka.net/blog/do_you_need_action works. I created a test script following his rules and it works but I think I'll be able to develop better eZ apps if I understand how it's working.

The form action is 'content/action' just like it is for any other form in eZ. It would make sense to me if the custom code were an extension of an action handler class but it's not -- it's a standalone function. This means there are (at least) two action handler functions defined. When content/action is called it seems that eZ can use either the standard action function or the custom function. Is eZ executing both functions or is it somehow choosing between them?

Also, is this the standard way to customize action handling?

eZ debug

Timing: Jan 29 2025 13:30:05
Script start
Timing: Jan 29 2025 13:30:05
Module start 'content'
Timing: Jan 29 2025 13:30:05
Module end 'content'
Timing: Jan 29 2025 13:30:05
Script end

Main resources:

Total runtime0.1254 sec
Peak memory usage2,048.0000 KB
Database Queries141

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0049 587.8281180.8438
Module start 'content' 0.00490.0050 768.671989.8359
Module end 'content' 0.00980.1154 858.5078518.4844
Script end 0.1253  1,376.9922 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00342.6969200.0002
Check MTime0.00120.9395200.0001
Mysql Total
Database connection0.00070.582310.0007
Mysqli_queries0.082765.96951410.0006
Looping result0.00090.75461390.0000
Template Total0.115291.910.1152
Template load0.00060.515410.0006
Template processing0.114591.345410.1145
Override
Cache load0.00050.365310.0005
Sytem overhead
Fetch class attribute can translate value0.00050.396510.0005
XML
Image XML parsing0.00020.154010.0002
General
dbfile0.00645.1048200.0003
String conversion0.00000.003230.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