在 Drupal 7 中,如果图像不存在,我可以更改输出吗?



我在Drupal 7中有一组文章,每篇文章都有一个图像字段。如果我从FTP中删除图像,或者它变得损坏,或者由于某种原因它不在它认为的位置,该网站将显示替代文本并显示损坏。我想告诉Drupal在这种情况下做其他事情,例如显示"填充"或"默认"图像。有没有办法做到这一点?

我尝试在 php 中执行"如果文件存在"语句,但它不允许我编写它。如果没有显示输出,我尝试添加一个案例,但这仅适用于空输出,不适用于指向无效文件的输出。在我的研究中,我没有发现任何其他东西可以让我在Drupal中做到这一点。

请注意,当没有提供图像时,这不是操作。这适用于提供了图像但不存在的情况。我希望网站正常失败。

谢谢!布兰登

在hook_field_display_alter中,您可以检查file_exists并显示默认图像

template_preprocess_node将图像变量的uri值传递给file_create_url。这将为您提供图像的绝对路径。

然后使用 PHP 的 file_exists 函数来验证图像路径是否存在。将此分配给变量$variables[image_exists] = file_exists($image_path);

然后在节点文章模板文件中:

if ($image_exists) {
    // render $content['field_image']
} else {
    // render some other markup
}

相关内容

  • 没有找到相关文章

最新更新