Forums / Setup & design / How to do this fetch .. please ?!
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() ) )
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 :(
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
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!