在Drupal视图中调整CiViCRM图像的大小
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Drupal视图中调整CiViCRM图像的大小相关的知识,希望对你有一定的参考价值。
如何在Drupal视图中调整civicrm图像的大小(通过webform上传)。图像正在显示,但宽度和高度是上传图像时的大小。
答案
我想到了2种解决方案
- 使用css为每个图像赋予
max-width
属性。这将使图像正确显示,但不会节省带宽,因为将下载完整图像并在客户端进行缩放。 - 使用像Image Resize Filter这样的drupal模块
另一答案
如果需要更高级的大小调整/图像转换选项,可以为图像URL字段创建自定义模板文件,并使用drupal图像样式(admin / config / media / image-styles)来定义所需的转换。
由于CiviCRM正在保护文件(自4.4.4以来我们没有数据库中的文件URL?),你需要使用imagecache_external(没有设法让image_style_url工作)。这个模块的缺点是图像在drupal中重复。
无论如何,为了使这项工作:
- 安装imagecache_external,转到配置页面(
http://YOUR_SITE/admin/config/media/imagecache_external
)并将YOUR_SITE添加到白名单 - 创造一种风格
http://YOUR_SITE/admin/config/media/image-styles/add
- 根据需要配置视图并添加CiviCRM图像URL字段
- 编辑视图 - >高级 - >信息
- 找到与要自定义的字段对应的文件名,并在
YOUR_THEME/templates/
中使用此文件名创建文件 - 粘贴以下代码(将
'thumbnail'
替换为您创建的样式名称):<?php if ($row->{$field->field_alias} != '') { print theme('imagecache_external', array( 'path' => $row->{$field->field_alias}, 'style_name'=> 'thumbnail')); } ?>
- 返回编辑视图 - >高级 - >信息 - >重新扫描模板文件,然后保存视图。
另一答案
这在drupal 7 / CiviCRM 5.10+系统上并不是很有用(不知道它是否仍能在之前运行)。 为了使其工作,将其放在模板文件中:
<?php
$path = $field->render($row);
if (!empty($path)) {
print theme('imagecache_external', array(
'path' => $path,
'style_name'=> 'thumbnail'));
}
?>
以上是关于在Drupal视图中调整CiViCRM图像的大小的主要内容,如果未能解决你的问题,请参考以下文章
页脚中的版权符号未与其余文本一起调整大小(在 Drupal 7 中)
为 SwiftUI(iPod Touch 第 7 代)调整视图大小