Passing values between pages | ezHTTPTool ?

Author Message

Paul Wilson

Friday 30 May 2003 6:08:00 am

++SITUATION:
========================
I'm wanting to use the value of a select-box / submit combination to change the presentation of a list of objects.

For example, changing select-box selection to 'sports books' means only book objects with enum attribute 'sports book' are displayed, changing drop-box to 'computer books' means only computer books are displayed etc.

I've got stuck trying to pass and retrieve the select-box value to a re-loaded version of the page listing the objects.

++APPROACH:
========================
I've done the following:
- Created class of book objects, with subject attribute
- Created series of book objects under a folder node
- created an override template on the folder node to handle the drop-box function described above.
- Included a form at the top of the template with the following code:

{let classchild=fetch( 'content', 'node', hash(node_id, 96))}
<Form>
<select name="Category">
{section name=EnumList loop=$classchild.data_map.publication_type.content.enum_list}
{section name=ObjectList loop=$classchild.data_map.publication_type.content.enumobject_list show=$classchild.data_map.publication_type.content.enumobject_list}
<option name="ContentObjectAttribute_data_enumelement_{$classchild.data_map.publication_type.id}[]" value="{$EnumList:item.enumvalue}" >{$EnumList:item.enumelement}</option>
{section-else}
<option name="ContentObjectAttribute_data_enumelement_{$classchild.data_map.publication_type.id}[]" value="{$EnumList:item.enumelement}">{$EnumList:item.enumelement}</option>
{/section}
{/section}
</select>
<input type="submit" value="Go" />
</form>

The code does the following:
- gets enum elements from an example of the object class (in this case, object 96)
- creates a select box that lists the name of the enum elements and uses the enum values
- on pressing the go/submit button, the current page reloads, with the value of the select-box added, as follows...

http://www.mydomain.com/index.php/user/content/view/full/88/?Category=3

++QUESTION
========================
I can't seem to pick up that value from within the template code and use it once the page has been reloaded.

Does anyone have any good ideas how to do this?

++Attempts so far...
Although it hasn't worked, I have tried using ezHTTPTool, likethe following:

{$http =& eZHTTPTool::instance();
if ( $http->hasPostVariable( $Category ) )
$CurrCat = $http->getVariable( $Category );}

This approach follows the code outlined in
http://www.ez.no/developer/ez_publish_3/forum/developer/is_the_posted_values_global_httphaspostvariable_poblem/re_is_the_posted_values_global_httphaspostvariable_poblem

Any clues, thoughts or radical insights gratefully accepted!

Thanks

- Paul

Paul Borgermans

Friday 30 May 2003 8:48:37 am

A mechanism for passing variables between templates is very necessary. I got blocked too in implementing functionality where writing an extension / fiddling with kernel code is too much overhead.

In some cases I can use *_view_gui to pass some variables, but that's far too limited.

Paul

eZ Publish, eZ Find, Solr expert consulting and training
http://twitter.com/paulborgermans

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 30 2025 22:22:28
Script start
Timing: Jan 30 2025 22:22:28
Module start 'layout'
Timing: Jan 30 2025 22:22:28
Module start 'content'
Timing: Jan 30 2025 22:22:28
Module end 'content'
Timing: Jan 30 2025 22:22:28
Script end

Main resources:

Total runtime0.0245 sec
Peak memory usage6,144.0000 KB
Database Queries3

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0045 588.2500151.2266
Module start 'layout' 0.00450.0034 739.4766220.7188
Module start 'content' 0.00790.0150 960.19531,001.8359
Module end 'content' 0.02290.0015 1,962.031333.9922
Script end 0.0245  1,996.0234 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.002811.3592140.0002
Check MTime0.00114.5608140.0001
Mysql Total
Database connection0.00062.377810.0006
Mysqli_queries0.00177.015530.0006
Looping result0.00000.037010.0000
Template Total0.00114.510.0011
Template load0.00083.373910.0008
Template processing0.00031.107110.0003
Override
Cache load0.00062.409910.0006
General
dbfile0.00218.396280.0003
String conversion0.00000.019540.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_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