pwired Posted August 15, 2022 Posted August 15, 2022 Hi, In a page I want to find an image that has a specific field with a specific value In this case the Page = $p and the image that I am looking for has a field = videocounter and the value of this field = 270 I can find the image like this: $image = $p->images->find("videocounter=270"); so far so good But when I want to show the picture on the front: <img src="<?php echo $image->url ; ?>" /> It doesn't work, the image does not show With a few simple echos of $image; and $image->url; I found a work around that makes the image show up: <img src="<?php echo $image->url . $image; ?>" /> But I find this an ugly work around What would be the correct way to make the image show up ?
Jan Romero Posted August 15, 2022 Posted August 15, 2022 9 hours ago, pwired said: <img src="<?php echo $image->url . $image; ?>" /> Wow, I didn’t believe this until I tried it ? However, since you’re only looking for one image, try using get() instead of find(): $image = $p->images->get("videocounter=270"); Or use first() to get the first matching image: $image = $p->images->find("videocounter=270")->first(); Otherwise find() will give you a Pageimages object that potentially holds multiple images, so calling url() on it won’t work. 1
pwired Posted August 16, 2022 Author Posted August 16, 2022 Quote Otherwise find() will give you a PageImages object that potentially holds multiple images, so calling url() on it won’t work. Thanks @Jan Romero for showing the correct way in this case: $p->images->get("videocounter=270")->url; I am aware now that I have to dive deeper into the processwire api with the use of arrays, Pageobjects and selectors ...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now