Author
|
Message
|
Emil Österlund
|
Wednesday 08 August 2007 4:16:06 am
I have this fetch:
children_tag=fetch( 'content', 'list',
hash( 'parent_node_id', 12,
depth,4,
class_filter_type,include,
class_filter_array,array('image'),
limit, $page_limit,
offset, $view_parameters.offset ) )
and it is working perfectly fine. i get a result of all the images in that parent node and depth 4. the thing now is that i want to filter the search and only get images from a certain keyword(image/tags). i tried adding
attribute_filter, array(array( 'image/tags' , 'like', 'string')),
but really had no luck - that line broke the whole fetch and no sql query is run. i have tried using the id instead of image/tags and i have tried with = instead of like and i have tried with different strings. cant seem to get it to work. anyone has any ideas?
|
Paul Borgermans
|
Wednesday 08 August 2007 1:19:16 pm
Hi Emil What version of eZ Publish are you running? Paul
eZ Publish, eZ Find, Solr expert consulting and training
http://twitter.com/paulborgermans
|
Ole Morten Halvorsen
|
Wednesday 08 August 2007 3:25:25 pm
Hi Emil, Did you try to add the wildcard character (*)? attribute_filter, array(array( 'image/tags' , 'like', '*string*')),
Doc reference: http://ez.no/doc/ez_publish/technical_manual/3_9/reference/modules/content/fetch_functions/list Ole M.
Senior Software Engineer - Vision with Technology
http://www.visionwt.com
http://www.omh.cc
http://www.twitter.com/omh
eZ Certified Developer
http://ez.no/certification/verify/358441
http://ez.no/certification/verify/272578
|
Bruce Morrison
|
Wednesday 08 August 2007 4:48:32 pm
Hi Emil When you add the attribute_filter line try removing the class_filter_type & class_filter_array lines so you end up with someting like children_tag=fetch( 'content', 'list',
hash( 'parent_node_id', 12,
depth,4,
attribute_filter, array(array( 'image/tags' , 'like', '*string*')),
limit, $page_limit,
offset, $view_parameters.offset ) )
I seem to recall that this has worked for me in the past. Also turn on debugging so you can see the SQL output. This allows you to check the generated SQL and you can tweak the fetch to get the desired result.
Cheers Bruce
My Blog: http://www.stuffandcontent.com/
Follow me on twitter: http://twitter.com/brucemorrison
Consolidated eZ Publish Feed : http://friendfeed.com/rooms/ez-publish
|
Emil Österlund
|
Thursday 09 August 2007 12:47:08 am
Ole: Yes i tried wildcard.
Paul: 3.7.8
Bruce:
It breaks the fetch, whith this i mean that there is no sql run. I have sqldebug on but cant find the query. i even made it original(like puting depth 15) and did not get any. As soon as i put in attribute_filter it breaks the fetch. I am using attribute_filter in other fetches and its fine.
|
Emil Österlund
|
Thursday 09 August 2007 12:50:57 am
here is my full code: http://privat.larsemil.se/galleri.txt
|
Bruce Morrison
|
Thursday 09 August 2007 1:02:16 am
Hi Emil Any errors in the debug? Try changing children_tag=fetch( 'content', 'list',
to children_tag=fetch( 'content', 'tree',
"list" will only return nodes directly under (children) the parent node (12) and depending on the depth of node 12 this may cause issues with depth,4 I'm also assuming they you have a {def $children_tag=...
in there.
Cheers Bruce
My Blog: http://www.stuffandcontent.com/
Follow me on twitter: http://twitter.com/brucemorrison
Consolidated eZ Publish Feed : http://friendfeed.com/rooms/ez-publish
|
Emil Österlund
|
Thursday 09 August 2007 1:25:32 am
bruce: The thing is: The sql/fetch is run if i dont have attribute filter. It shows all the objects only they are unfiltered. It is first when i add attribute_filter it screws up.
On the same page i have other fetches, and they work perfectly fine. It is just that one line of attribute_filter that is screwing it up. And i am using attribute_filter in other templates without any problems what so ever.
|
Emil Österlund
|
Monday 13 August 2007 1:44:23 am
no more ideas?
|
Heath
|
Monday 13 August 2007 1:51:01 am
A number of suggestions have been made, why don't you share the current fetch you have in your template for review.
Cheers, Heath
Brookins Consulting | http://brookinsconsulting.com/
Certified | http://auth.ez.no/certification/verify/380350
Solutions | http://projects.ez.no/users/community/brookins_consulting
eZpedia community documentation project | http://ezpedia.org
|
Emil Österlund
|
Monday 13 August 2007 2:13:20 am
Here we go: http://privat.larsemil.se/galleri.txt also i tried leaving class_filters out.
|
Heath
|
Monday 13 August 2007 2:57:01 am
Emil, I took a moment to <i>really</i> test for myself how to do this this morning and found this worked great for me :) {def $c=fetch( 'content', 'tree', hash( 'parent_node_id', 175,
depth, 7,
attribute_filter, array( array( 'article/keywords', 'like', '*string*' ) )
) )}
{$c|attribute(show,1)}
{$c.0|attribute(show,1)}
Also works by id just fine ... {def $c=fetch( 'content', 'tree', hash( 'parent_node_id', 175,
depth, 7,
attribute_filter, array( array( 865, 'like', '*string*' ) )
) )}
Also works with a variable works as well like this ... {def $tag='string'}
{def $c=fetch( 'content', 'tree', hash( 'parent_node_id', 175,
depth, 7,
attribute_filter, array( array( 'article/keywords', 'like', concat( '*', $tag, '*' ) ) )
) )}
Remember to clear all cache before testing, also consider the following, <i>http://ezpedia.org/wiki/en/ez/solution_template_development_without_clearing_cache</i>
For future users we have published the following documentation on eZpedia for long term storage and searching! eZpedia is your friend :) <i>http://ezpedia.org/wiki/en/ez/solution_how_to_do_an_attribute_filter_using_the_like_condition</i>
Cheers, Heath
Brookins Consulting | http://brookinsconsulting.com/
Certified | http://auth.ez.no/certification/verify/380350
Solutions | http://projects.ez.no/users/community/brookins_consulting
eZpedia community documentation project | http://ezpedia.org
|
Emil Österlund
|
Monday 13 August 2007 3:44:46 am
{def $c=fetch( 'content', 'tree', hash( 'parent_node_id', 3,
depth, 17,
attribute_filter, array( array( 'image/tags', 'like', '*larsemil*' ) )
) )}
{$c|attribute(show,1)}
{$c.0|attribute(show,1)}
i put this in my code as this 'should' work then.
3 is the lowest node containing all users and everyting.
depth 17 should cover all images by far. and i looked up and it should be image/tags.
i ony get this output:
Attribute Type Value Attribute Type Value is it me or is it my ez publish?
|
Heath
|
Monday 13 August 2007 5:29:12 am
Emil, I think your continued breakdowns in search of a resolution and working solution derive from a number of combined factors. 1) Your using an unsupported branch which is very old, (Re: eZ publish <i>3.7.8</i>) 2) Your using a dirty installation, I can't see it but I'm certain you are. By dirty I mean it's in an unknown state (the database could be corrupt for all you know for certain), it's using an old version of eZ (lots of bug fixes you may need are not available), it's an old installation with lots of customizations also in an unknown state. The solution / site as a whole could not be certified without much cleanup and re-organizing in a stable clean install of eZ Publish (Which you should do ... now instead of later) 3) Your new to eZ Publish. This is not so bad except you need professional help to lead you to stability and experience, I hope your employer supports you in seeking this experience and support.
Cheers, Heath
Brookins Consulting | http://brookinsconsulting.com/
Certified | http://auth.ez.no/certification/verify/380350
Solutions | http://projects.ez.no/users/community/brookins_consulting
eZpedia community documentation project | http://ezpedia.org
|