Linking to objects using their alias in ezoe GUI

Author Message

Russell Michell

Tuesday 14 September 2010 3:34:35 pm

Hi all,

When using ezoe's link-create/edit GUI, I'd like to be able to have a link created that uses an object's custom URL alias.

Currently in ezoe, you can link to a node_id, object_id, http, https etc but there's no way to choose which virtual URL will be used for the link.

Here's an example of what I mean:

Say I have an article content-object: node_id = 7116, short_title = 'my page'. It normally exists at: 2/183/7116 (Main/Folder1/my-page).

I then add an additional location to the object: eZ generates a new node_id and the clone's location is at: 2/184/7117 (Main/Folder2/my-page).

Now I create a custom alias for Main/Folder2/my-page: Main/Folder2/your-page, and would like to link to this object but using the alias as the url.

At the moment when I save/preview the article, the link has actually been created using the original object's short_title not the clone's alias.

Is there a way for ezoe to check if an alias exists for an object being linked-to in the popup dialogue, and prompt the user for which URL they would like to be used?

I hope this makes sense, or there might be an alternative solution that I haven't seen yet. At the moment, the only use for additional aliases is when linking in template overrides, but not for standard linking from ezoe, without needing to write any code.

Thanks a lot.
Russ

Russell Michell, Wellington, New Zealand.
We're building! http://www.theruss.com/blog/
I'm on Twitter: http://twitter.com/therussdotcom

Believe nothing, consider everything.

Gabriel Finkelstein

Tuesday 14 September 2010 4:32:39 pm

Why not just use Main/Folder2/your-page as the link?

I havent tried this, but maybe you could edit templates/content/datatype/view/ezxmltags/link.tpl and do:

$node = fetch(content, node, hash( node_path, $href ));

If a node matches, then find a way of getting its url aliases and use one that was created manually. If no node matches, just leave $href as the link. To find a node's url aliases you can make a template operator that searches the ezurlalias table.

Russell Michell

Tuesday 14 September 2010 6:54:06 pm

>Why not just use Main/Folder2/your-page as the link?

That's exactly it - you can't. You can link to the node_id or object_id etc but the generated path is the original auto-generated alias, not one of the custom aliases - hence my wondering how one might modify ezoe to ask the user which custom alias she would like to use (if one exists).

Thanks for taking the time to reply Gabriel but I was wondering wether this was do-able from the ezoe GUI without writing code - it seems to me otherwise that the custom URL alias's are only of limited use if they cannot be utilised at the GUI level.

I thought of the template override method as well, but cannot seem to retrieve a node using this kind of fetch (no error message) - thanks a lot regardless

Russ

Russell Michell, Wellington, New Zealand.
We're building! http://www.theruss.com/blog/
I'm on Twitter: http://twitter.com/therussdotcom

Believe nothing, consider everything.

Russell Michell

Tuesday 14 September 2010 7:09:44 pm

I have added this as enhancement 17284.

Cheers all,
Russ

Russell Michell, Wellington, New Zealand.
We're building! http://www.theruss.com/blog/
I'm on Twitter: http://twitter.com/therussdotcom

Believe nothing, consider everything.

Gabriel Finkelstein

Wednesday 15 September 2010 9:47:42 am

"

Why not just use Main/Folder2/your-page as the link?

"

What I mean is, why not just put "/Main/Folder2/your-page" as a regular link instead of an eznode link? Letting you choose which url alias you want to use is almost the same as typing the url yourself in the href input.

Russell Michell

Wednesday 15 September 2010 2:01:58 pm

"
"

Why not just use Main/Folder2/your-page as the link?

"

What I mean is, why not just put "/Main/Folder2/your-page" as a regular link instead of an eznode link? Letting you choose which url alias you want to use is almost the same as typing the url yourself in the href input.

"

Ah I see. I trued the full path (inc hostname) but that didn't work in my scenario (Static deployment) but using the URI (the pathname) did! I'd never bothered to look at using the 'other' field - but that works.

I maintain that some functionality in ezoe that prompts for an existing alias selection would be idea, but this will do me for now.

Thank you so much for your perseverance Gabriel! :-)

Have a good one!
Russ

Russell Michell, Wellington, New Zealand.
We're building! http://www.theruss.com/blog/
I'm on Twitter: http://twitter.com/therussdotcom

Believe nothing, consider everything.

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 18 2025 05:01:41
Script start
Timing: Jan 18 2025 05:01:41
Module start 'layout'
Timing: Jan 18 2025 05:01:41
Module start 'content'
Timing: Jan 18 2025 05:01:42
Module end 'content'
Timing: Jan 18 2025 05:01:42
Script end

Main resources:

Total runtime0.8076 sec
Peak memory usage4,096.0000 KB
Database Queries67

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0054 589.4688152.6406
Module start 'layout' 0.00540.0034 742.109439.4766
Module start 'content' 0.00870.7973 781.5859597.4688
Module end 'content' 0.80600.0015 1,379.054720.1250
Script end 0.8076  1,399.1797 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00340.4158160.0002
Check MTime0.00130.1598160.0001
Mysql Total
Database connection0.00080.093510.0008
Mysqli_queries0.728490.1912670.0109
Looping result0.00070.0870650.0000
Template Total0.765694.820.3828
Template load0.00250.303920.0012
Template processing0.763194.495420.3816
Template load and register function0.00010.013010.0001
states
state_id_array0.00310.380710.0031
state_identifier_array0.00170.205520.0008
Override
Cache load0.00230.2821560.0000
Sytem overhead
Fetch class attribute can translate value0.00060.077920.0003
Fetch class attribute name0.00240.302080.0003
XML
Image XML parsing0.00100.121320.0005
class_abstraction
Instantiating content class attribute0.00000.0036120.0000
General
dbfile0.00090.1072220.0000
String conversion0.00000.001640.0000
Note: percentages do not add up to 100% because some accumulators overlap

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
6content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
6content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
16content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
1content/datatype/view/ezxmltags/strong.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/strong.tplEdit templateOverride template
2content/datatype/view/ezxmltags/emphasize.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/emphasize.tplEdit templateOverride template
3content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1content/datatype/view/ezxmltags/literal.tpl<No override>extension/community/design/standard/templates/content/datatype/view/ezxmltags/literal.tplEdit templateOverride template
1content/datatype/view/ezxmltags/link.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/link.tplEdit templateOverride template
3content/datatype/view/ezxmltags/quote.tpldatatype/ezxmltext/quote.tplextension/ezwebin/design/ezwebin/override/templates/datatype/ezxmltext/quote.tplEdit templateOverride template
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 41
 Number of unique templates used: 11

Time used to render debug report: 0.0001 secs