Get last published article since a date

Author Message

Lydie Soler

Monday 24 October 2005 7:48:58 am

Hi,

I would like to know how I can find the last published article since a specified date.

To be more precise, I know I may manage to do it with the fetch function. I just don't know how to specified the begining date.

Thanks a lot

Kristof Coomans

Monday 24 October 2005 9:49:59 am

You can make a timestamp with the template operator maketime: http://ez.no/doc/ez_publish/technical_manual/3_6/reference/template_operators/miscellaneous/maketime
and use that timestamp in the attribute filter.

There are also other threads about this on the forum, like http://ez.no/community/forum/general/show_events_for_the_next_x_days

independent eZ Publish developer and service provider | http://blog.coomanskristof.be | http://ezpedia.org

Lydie Soler

Tuesday 25 October 2005 7:41:50 am

Thanks!
with your help I have been able to do what I wanted!
I created a new class that has 2 parameters begining and end date

here is the code:


<div class="content-view-full">
    <div class="class-article">

        <h1>{$node.object.data_map.nom.content|wash()}</h1>
        Période de recherche des éléments modifiés sur le site: 

        {section show=$node.data_map.date_debut.content.is_empty|not}
           <br/>
           Date de début:
            <div class="attribute-long">
                {$node.data_map.date_debut.content.timestamp|l10n(date)}
            </div>
        {/section}
        {section show=$node.data_map.date_debut.content.is_empty|not}
            <br/>
            Date de fin: 
            <div class="attribute-long">
                {$node.data_map.date_fin.content.timestamp|l10n(date)}
            </div>
        {/section}
 <br/>

{let 

    start = $node.data_map.date_debut.content.timestamp
     x=1
     end = maketime( 23, 59, 59, $node.data_map.date_fin.content.month, $node.data_map.date_fin.content.day|sum( $x ), $node.data_map.date_fin.content.year )
     events = fetch( 'content', 'tree',
         hash(
               'parent_node_id', 2,
              'sort_by',        array( 'modified', true() ),
               'attribute_filter', array( 'and',  
                                                array( 'modified', '<=', $end ),
                                                array( 'modified', '>=', $start ))
                
              )
            )
}

<ul type="square">
{foreach $events as $event}


<br/>
<li>
{node_view_gui view='line' content_node=$event}
Date de modification: {$event.object.modified|l10n(date)} 
</li>

{/foreach}

</ul>

{/let}
   
<br/>
{section show=$node.object.data_map.author.content.is_empty|not()}
        <div class="attribute-byline">
        <p class="author">
             {attribute_view_gui attribute=$node.object.data_map.author}
        </p>
        <p class="date">
             {$node.object.published|l10n(date)}
        </p>
        </div>
        {/section}

    </div>
</div>


How could I add the google navigation in order to limit the number of element per page?

Thanks

Kristof Coomans

Thursday 27 October 2005 12:57:43 am

Take a look in the standard design, design/standard/templates/node/view/full.tpl. It also uses the google navigator.

independent eZ Publish developer and service provider | http://blog.coomanskristof.be | http://ezpedia.org

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