RE: it appears that this part massively slows my site down
Interesting because that code is far, far, more “lighter” than the
$entry->getImage(... block of code. The later has to check for an existing image of the correct size and scale, if one is not found open the original image and process it. Which is quite a bit of work. The
$entry->getOriginalImageURL('logo'); simply returns the file name of the image being requested. That info is already available whether or not any image code is used.
RE: The other thing is that the listings that don’t have an image added show a broken image, so the conditional part is not working I guess?
Play with the conditional until it works correctly. Looking at the source, it seems the return will never be empty because at least the folder path will be returned. So you’ll have to adjust the conditional to take that into account.