Forums / Developer / Navigate blog posts

Navigate blog posts

Author Message

Kim Bjurling

Tuesday 21 June 2011 1:56:40 am

Hi,
I want the users to be able to navigate between blog posts in the current blog post. Let me show you an example.
 __Blog
 |____ Post 1
 |____ Post 2
 |____ Post 3
 When the user is in Post 2, the user should be able to navigate to Post 1 and 3. In Post 2, there should be a navigatior that looks like this.
 <- Post1 Post3 --->

This is my code so far:

"

                                    {def $menu_count=fetch('content','list_count',
                                        hash( 'parent_node_id', 81))}
                                   
                                                                       
                                    {include name=navigator
                                    uri='design:navigator/simple.tpl'
                                    page_uri=concat('/content/view','/full/', $node.node_id)
                                    item_count=$menu_count
                                    view_parameters=hash(offset,10)
                                    item_limit=2}

"

I can not make this work. I can see the "Previous" link in Post 1 and Post 3. When I click on the link nothing happens.

If you hover the link you get this address
http://localhost/ez/index.php/content/view/full/<current id>

I am new in eZ Publish, so please be nice :)

Ivo Lukac

Tuesday 21 June 2011 2:56:38 am

Hi

Search for override/templates/full/gallery.tpl for example of code, it does the same thing...

http://www.linkedin.com/in/ivolukac
http://www.netgen.hr/eng/blog
http://twitter.com/ilukac

Kim Bjurling

Tuesday 21 June 2011 3:13:39 am

"

Hi

Search for override/templates/full/gallery.tpl for example of code, it does the same thing...

"

Alright, thanks :)

Kim Bjurling

Wednesday 29 June 2011 6:01:26 am

If someone looking after similar functionality like this, look into this code :)
The orginal code will you find in override/templates/full/images.tpl

"

{def $parent = $node.parent
$previous_item = false()
$next_item     = false()}
                                       
{if $parent.class_identifier|eq( 'blog' )}
                                   
{def $siblings = fetch( 'content', 'list', hash( 'parent_node_id',    $parent.node_id,
                                                                    'as_object', true(),
                                                                    'class_filter_type', 'include',
                                                                    'class_filter_array', array( 'blog_post' ),
                                                                    'sort_by',            array( 'attribute', false(),            'blog_post/publication_date' ),
                                                                                      'limit',              10000 ) )
                                          $index    = 0
                                          $node_id  = $node.node_id}
                                         
                                     {while is_set( $siblings[$index] )}
                                         {if $siblings[$index]['node_id']|eq( $node_id )}
                                             {if $index}
                                                 {set $previous_item = fetch( 'content', 'node', hash( 'node_id', $siblings[$index|dec]['node_id'] ))}
                                             {/if}
                                             {if is_set( $siblings[$index|inc] )}
                                                 {set $next_item = fetch( 'content', 'node', hash( 'node_id', $siblings[$index|inc]['node_id'] ))}
                                             {/if}
                                             {break}
                                         {/if}
                                         {set $index = $index|inc}
                                     {/while}
                                     {undef $siblings $index $node_id}

"

Cheers!

Nicolas Pastorino

Wednesday 29 June 2011 6:11:48 am

That is useful for others landing on this page/question. Thanks for this Sim.

Cheers,

--
Nicolas Pastorino
Director Community - eZ
Member of the Community Project Board

eZ Publish Community on twitter: http://twitter.com/ezcommunity

t : http://twitter.com/jeanvoye
G+ : http://plus.tl/jeanvoye

eZ debug

Timing: Jan 17 2025 23:56:40
Script start
Timing: Jan 17 2025 23:56:40
Module start 'content'
Timing: Jan 17 2025 23:56:41
Module end 'content'
Timing: Jan 17 2025 23:56:41
Script end

Main resources:

Total runtime0.7361 sec
Peak memory usage4,096.0000 KB
Database Queries203

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0052 589.0391180.8516
Module start 'content' 0.00520.6061 769.8906643.2188
Module end 'content' 0.61120.1248 1,413.1094345.3828
Script end 0.7361  1,758.4922 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00420.5698210.0002
Check MTime0.00150.2042210.0001
Mysql Total
Database connection0.00060.087010.0006
Mysqli_queries0.651488.49202030.0032
Looping result0.00210.28202010.0000
Template Total0.712596.820.3562
Template load0.00200.271620.0010
Template processing0.710596.514220.3552
Template load and register function0.00020.029010.0002
states
state_id_array0.00080.106910.0008
state_identifier_array0.00080.103920.0004
Override
Cache load0.00190.2525750.0000
Sytem overhead
Fetch class attribute can translate value0.00180.241340.0004
Fetch class attribute name0.00140.187370.0002
XML
Image XML parsing0.00130.182940.0003
class_abstraction
Instantiating content class attribute0.00000.002570.0000
General
dbfile0.00370.4994340.0001
String conversion0.00000.000730.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
5content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
11content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
3content/datatype/view/ezxmltags/quote.tpldatatype/ezxmltext/quote.tplextension/ezwebin/design/ezwebin/override/templates/datatype/ezxmltext/quote.tplEdit templateOverride template
1content/datatype/view/ezxmltags/link.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/link.tplEdit templateOverride template
2content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
1content/datatype/view/ezxmltags/emphasize.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/emphasize.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 30
 Number of unique templates used: 9

Time used to render debug report: 0.0001 secs