【问题标题】:Adjust image attribute so I can change src调整图像属性,以便我可以更改 src
【发布时间】:2013-05-21 02:22:25
【问题描述】:
<img class="lazy" title="Windows 8" alt="Windows 8" src="http://b.a.org/sites/default/files/styles/thumbnail/public/category_pictures/Windows%20Media%20Player%20alt.png?itok=NXy-3w5_" href="lazy" data-original="http://b.a.org/sites/default/files/styles/thumbnail/public/category_pictures/Windows%20Media%20Player%20alt.png?itok=NXy-3w5_">

我想调整 src 以便它可以显示“/sites/all/themes/s5/images/blank.jpg”而不是图像 url。您能帮我修改我在 Drupal 7 的 template.php 中使用的以下代码来实现这一点吗?

function s5_preprocess_image(&$variables) {
 if ($variables['style_name'] == 'thumbnail') {
     $variables['attributes']['class'][] = 'lazy';
     $variables['attributes']['data-original'][] = file_create_url($variables['path']);
}}

非常感谢!!

【问题讨论】:

  • 这里总猜测,但试试这个: $variables['attributes']['data-original'][] = '/sites/all/themes/s5/images/blank.jpg';或试试这个: $variables['attributes']['src'][] = '/sites/all/themes/s5/images/blank.jpg';
  • 我已经尝试了“['src']”位,它仍然显示相同的输出。没有任何变化。
  • 如果更改 $variables['path'] 会发生什么?添加行: $variables['path'] = '/sites/all/themes/s5/images/blank.jpg';就在“if”语句的上方。
  • 我们正在取得进展!将 src 和 data-original 都更改为自定义路径。为了延迟加载,我想保持数据原始并只修改 src。
  • 查看答案...在“if”块之后设置路径应该这样做

标签: php image drupal drupal-7


【解决方案1】:

在“if”块的底部添加了一行:

function s5_preprocess_image(&$variables) {
   if ($variables['style_name'] == 'thumbnail') {
       $variables['attributes']['class'][] = 'lazy';
       $variables['attributes']['data-original'][] = file_create_url($variables['path']);
       $variables['path'] = '/sites/all/themes/s5/images/blank.jpg';
   }
}

【讨论】:

  • 通过在“if”语句下方添加它,它会影响网站上的所有图片,而不仅仅是缩略图。
  • awwww..ok 将其移至“if”块的底部
  • 将它添加到“if”块的底部使lazyloader可以处理图像,但是在html中src仍然显示完整的文件路径,而不是新的自定义路径。哦,好吧,它仍然按我想要的方式工作。谢谢你的帮助,你太棒了!
  • hmmm...是的,您可能需要更深入地挖掘并找到从所有属性中实际创建“img”标签的位置,并可能在那里进行调整。很高兴我能帮上忙!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-30
  • 1970-01-01
  • 2013-07-16
  • 1970-01-01
  • 2021-05-27
  • 1970-01-01
相关资源
最近更新 更多