Forums / Setup & design / Can the keywords attribute be used to relate objects of different classes?

Can the keywords attribute be used to relate objects of different classes?

Author Message

Barney Gumble

Tuesday 27 January 2004 10:42:48 am

In 3.3.2 I'm using the standard method to find related objects, i.e.

{let related=$node.object.data_map.keywords.content.related_objects}
{section show=$related}
{section loop=$related}

This is working fine, however only objects of the same class are showing up. Is there any way that the above can be refined to show objects of a different class? This is required as I need to relate an event object to an article object for example.

Any help offered will be greatly appreciated as always!

Barney Gumble

Tuesday 27 January 2004 10:53:42 am

Looks like I might have just answered my own question, using the related objects from within the admin tool and this...

{section loop=$node.object.related_contentobject_array}

Still, any further pointers welcome.

Paul Borgermans

Tuesday 27 January 2004 11:22:04 am

Not with the current keyword datatype. There are new fetch functions for keywords (3.3-2) which you could use and where you can omit a class to fetch all objects of all classes sharing a specific keyword (or even the first x letters).

It's used in the pdf template functions and I used it to build a keyword index where each keyword is listed with all objects. It is obviously more powerful than $node.object.data_map.keywords.content.related_objects

syntax like

{let kwlist=fetch(content,keyword, hash('alphabet',<part or whole keyword>,  {*required*}
                            'classid',<class id>, {*optional, integer*}
                             'offset',<offset>, {*optional, integer*}
                             'limit',<limit> {*optional, integer*}
                           )}  

It returns a weird array with if you loop over it: $kwlist:item.keyword is available only once (facilitating output formatting) and $kwlist:item.link_object has the structure for displaying/linking

Do an {$kwlist:item|attribute(show,2)} and see for yourself. A more extended example will be in "the book".

-paul

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

Barney Gumble

Tuesday 27 January 2004 11:45:25 am

Thanks Paul that's great. What's the latest news on the book? I need some new bedtime reading...

Bengt Skogly

Tuesday 27 January 2004 12:01:19 pm

What is "the book"?

eZ debug

Timing: Jan 18 2025 16:12:20
Script start
Timing: Jan 18 2025 16:12:20
Module start 'content'
Timing: Jan 18 2025 16:12:20
Module end 'content'
Timing: Jan 18 2025 16:12:21
Script end

Main resources:

Total runtime0.7942 sec
Peak memory usage4,096.0000 KB
Database Queries202

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0059 588.0938180.7813
Module start 'content' 0.00590.6620 768.8750596.2734
Module end 'content' 0.66790.1262 1,365.1484337.6484
Script end 0.7941  1,702.7969 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00430.5423210.0002
Check MTime0.00160.2020210.0001
Mysql Total
Database connection0.00090.117910.0009
Mysqli_queries0.725191.30642020.0036
Looping result0.00190.24312000.0000
Template Total0.767696.720.3838
Template load0.00220.278020.0011
Template processing0.765496.377220.3827
Template load and register function0.00010.015310.0001
states
state_id_array0.00080.101110.0008
state_identifier_array0.00130.161320.0006
Override
Cache load0.00190.2353260.0001
Sytem overhead
Fetch class attribute can translate value0.00130.166740.0003
Fetch class attribute name0.00090.110960.0001
XML
Image XML parsing0.00090.114040.0002
class_abstraction
Instantiating content class attribute0.00000.001460.0000
General
dbfile0.00410.5200280.0001
String conversion0.00000.000930.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/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
7content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
1content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
1content/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: 17
 Number of unique templates used: 7

Time used to render debug report: 0.0002 secs