Forums / Extensions / eZ Flow / ezflow custom fetch class for dynamic block not fetching the nodes with selection attribute which is been edited more than once.

ezflow custom fetch class for dynamic block not fetching the nodes with selection attribute which is been edited more than once.

Author Message

Romeo Antony

Friday 12 November 2010 3:04:51 am

Hi, is there anyone know following kind of issue with ezflow dynamic fetch class .

 

In ezflow I have a custom fetch class , which will fetch the nodes for a dynamic block.

This custom fetch class fetches nodes (article class nodes with a selection attribute

which has a specific value.).

When I run the cronjob , custom fetch class fetches the correct article nodes with that speciific value.

But the issue is

If I edit the same article and changes the selection attribute value to some other value and run the cronjob , It shouldn't be appear on the dynamic block Bez fetch class , attribute fetch condiion for selection attribute will not satisfy.

But even after changing the selection attribute value , same article is shown on dynamic block ,

I have cleared the all caches.

I do not know why. May be this is bez something wrong with in a fetch class

Here is the fetch class.

$subTreeParameters = array();
$subTreeParameters['AsObject'] = false;
$subTreeParameters['SortBy'] = array( 'published', true ); // first the oldest
$subTreeParameters['AttributeFilter'] = array(
'and',
array( 'published', '>', $publishedAfter ),
array( 'published', '<=', $publishedBeforeOrAt )
);
if ( isset( $parameters['Class'] ) )
{
$subTreeParameters['ClassFilterType'] = 'include';
$subTreeParameters['ClassFilterArray'] = explode( ';', $parameters['Class'] );
}

// Do not fetch hidden nodes even when ShowHiddenNodes=true
$subTreeParameters['AttributeFilter'] = array( 'and', array( 'visibility', '=', true ),array( 'article/catogary', '=', 0 ) );

Here this fetch class fetches nodes with article class with catogary selection attribute whose valuse is '0'. But If I change the selection attribute value to 2 by editing the same article , even after clear the cache it is shown on dynamic block.

Anyone feels something I did wrong in this cutom fetch class? Please do give me a suggestion.

Gaetano Giunta

Saturday 13 November 2010 7:58:56 am

I am not sure that an item that was returned by the block fetch function once will be removed from the block if it's not in the list anymore in subsequent runs... It will probably stay in the block queue anyway.

That's one of the reasons in the end I prefer custom blocks to dynamic blocks most of the times: the mgmt of the queue is too tricky!

Principal Consultant International Business
Member of the Community Project Board

Romeo Antony

Sunday 14 November 2010 3:39:56 am

Thanks for the reply Gaetano .

The only solution for the moment I have is to delete that node that fetched in dynamic block and create a new node with same contents.