Forums / Setup & design / How to do this fetch .. please ?!

"Please Note:
  • At the specific request of Ibexa we are changing this projects name to "Exponential" or "Exponential (CMS)" effective as of August, 11th 2025.
  • This project is not associated with the original eZ Publish software or its original developer, eZ Systems or Ibexa".

How to do this fetch .. please ?!

Author Message

Marvix Marx

Tuesday 17 June 2008 10:52:44 am

Hi ..

I have multi folders, each folder have articles ..
I need to list latest articles from those folders based on publish date ..

what am using now

{let  		CentersNodes=$block.valid_nodes  $ArtArray=array()}

	{foreach $CentersNodes as $Center}
    	
        {def   $Articles=fetch( 'content', 'list', hash( 'parent_node_id', $Center.node_id , 
        																	  'depth', 10, 
                                                                              'class_filter_type',  'include',
                                                                              'class_filter_array', array(16,17),
                                                                              limit , 1
                                                                                 ) )  
        }
		
        
		{foreach $Articles as $Article}
        	<div id="article-list">
            {if $Article.data_map.image.content.is_valid}
            <div id="list-image">{attribute_view_gui attribute=$Article.data_map.image image_class=small}</div>
			{/if}
            <a href={$Article.url_alias|ezurl} id="link1"><h1 id="link1">{$Article.name|wash}</h1></a>
            {*<div id="date">{$Article.object.published|datetime('custom', '%d.%m.%y')}</div> <div id="clearboth"></div>*}
            <div id="article-content">{attribute_view_gui attribute=$Article.data_map.intro maxlength=200}</div>
            
            <div id="article-links"><a href={$Article.url_alias|ezurl}>moreد</a></div>
           </div> 
        {/foreach}

      
        {undef $Articles}        


    
    {/foreach}
{/let}

from the block admin I select the folders for this folder.

this for ez4.

Thanks.

Tuesday 17 June 2008 11:14:58 am

Hi, you should be able to just add the "sort_by" parameter:

'sort_by', array(array('published', false() ) )

Marvix Marx

Tuesday 17 June 2008 11:54:39 am

Peter .. this too easy .. :)

this will do the sort based on the folders publish date .. not the articles publish date :(

Marvix Marx

Tuesday 17 June 2008 12:20:21 pm

I think I found it ..


{let  		CentersNodes=$block.valid_nodes   ArticlesArray=array() }



	{foreach $CentersNodes as $Center}
		{set $ArticlesArray = $ArticlesArray|append( $Center.node_id  )}
    {/foreach}

        {def   $Articles=fetch( 'content', 'list', hash( 'parent_node_id', $ArticlesArray , 
        																	  'depth', 10, 
                                                                              'class_filter_type',  'include',
                                                                              'class_filter_array', array(16,17),
                                                                              'sort_by', array( array( 'published', false() ) ),
                                                                              limit , 10
                                                                                 ) )  
        	
        		
        }

		{foreach $Articles as $Article}
        	
        	<div id="article-list">
            {if $Article.data_map.image.content.is_valid}
            <div id="list-image">{attribute_view_gui attribute=$Article.data_map.image image_class=small}</div>
			{/if}
            <a href={$Article.url_alias|ezurl} id="link1"><h1 id="link1">{$Article.name|wash}</h1></a>
            {*<div id="date">{$Article.object.published|datetime('custom', '%d.%m.%y')}</div> <div id="clearboth"></div>*}
            <div id="article-content">{attribute_view_gui attribute=$Article.data_map.intro maxlength=200}</div>
            
            <div id="article-links"><a href={$Article.url_alias|ezurl}>more</a></div>
           </div> 
        {/foreach}



{/let}

Can you give better code ?

thx

Patrice DUCLAUD

Wednesday 18 June 2008 1:42:07 am

Hi,

You can perhaps try something like this ...

fetch ('content', 'tree', hash( 'parent_node_id', parent_node_of_your_folders,
..... with your other parameters)

Patrice

Marvix Marx

Wednesday 18 June 2008 9:15:29 am

The folders located under the root folders with another folders ... if used what you saying will list all the folders!