Forums / Developer / New datatype with 2 or more attribute (data_text)

New datatype with 2 or more attribute (data_text)

Author Message

Andrea Palladino

Tuesday 03 February 2004 12:32:43 am

Hi,
we need a new datatype that can store 2 or more data (varchar).
I see that in the ezcontentobject_attribute table there is only 1 data_text field. We'll need to store 2 (or more) data_text on the same datatype.

Any suggestion?

Thanks,

Andrea

Wenyue Yu

Tuesday 03 February 2004 1:31:15 am

Hi,

Perhaps you can use xml to save those attributes, look how datatype ezselection implements.

Regards,
wenyue

Jim Reverend

Friday 06 February 2004 7:52:07 am

I think that, in most cases, you'll have to do something special to make this happen. There are many ways to do this, but I'll give you an example of one.

Let's say, for instance, that you wanted a "Car" datatype. This data type would have 3 attributes, Year, Make, and Model. There are two ways, I can see, to do this. Either way, you'll need to create a new datatype in PHP, so get your programming skills ready.

The first way, is to create a table in the database. In "data_int" you'll store the ID of the record in the database that holds the information you've stored. Your datatype object, in this case, will be responsible for pulling that data out and putting it back in. I believe ezURL does it this way.

A second, easier method, would be to use PHP's serialize function. Build an array of your items like so....

$blah = array('year' => '2003', 'make' => "Saturn", 'model' => 'ION3');

The serialize it.. .like so

$ser = serialize($blah);

Then store the value of $ser in data_text.

I'm not sure how the internals of DataTypes work just yet, as I haven't gotten to that part of the learning process yet. But, when I do, I can post an actual PHP code example of this datatype.

eZ debug

Timing: Jan 18 2025 19:59:38
Script start
Timing: Jan 18 2025 19:59:38
Module start 'content'
Timing: Jan 18 2025 19:59:39
Module end 'content'
Timing: Jan 18 2025 19:59:39
Script end

Main resources:

Total runtime1.2891 sec
Peak memory usage4,096.0000 KB
Database Queries196

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0060 587.8438180.8125
Module start 'content' 0.00601.1671 768.6563507.7891
Module end 'content' 1.17310.1160 1,276.4453333.4688
Script end 1.2891  1,609.9141 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00430.3373210.0002
Check MTime0.00190.1470210.0001
Mysql Total
Database connection0.00070.057310.0007
Mysqli_queries1.216894.38971960.0062
Looping result0.00180.14141940.0000
Template Total1.253097.220.6265
Template load0.00260.204420.0013
Template processing1.250396.991420.6252
Template load and register function0.00030.019910.0003
states
state_id_array0.00100.074610.0010
state_identifier_array0.00090.070720.0005
Override
Cache load0.00230.1757240.0001
Sytem overhead
Fetch class attribute can translate value0.00140.108340.0003
Fetch class attribute name0.00190.148630.0006
XML
Image XML parsing0.00060.045840.0001
class_abstraction
Instantiating content class attribute0.00000.000730.0000
General
dbfile0.00600.4617210.0003
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
3content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
2content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
4content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 11
 Number of unique templates used: 5

Time used to render debug report: 0.0002 secs