Php Drupal 7-将同一类添加到所有<;img>;内容区域中的标记
我有一个在线投资组合网站,我把它从静态HTML转换成Drupal7,试图学习Drupal。我有3个单独的页面,有图像库。我有一个javascript(.js)文件,可以将反射添加到任何带有class=“reflect”的图像上。显然,在HTML中,这很容易做到,而且在我的静态站点中效果很好。我想继续使用它,但我一辈子都不知道如何将所需的类添加到我的图像中 预期结果:Php Drupal 7-将同一类添加到所有<;img>;内容区域中的标记,php,drupal,drupal-7,drupal-theming,Php,Drupal,Drupal 7,Drupal Theming,我有一个在线投资组合网站,我把它从静态HTML转换成Drupal7,试图学习Drupal。我有3个单独的页面,有图像库。我有一个javascript(.js)文件,可以将反射添加到任何带有class=“reflect”的图像上。显然,在HTML中,这很容易做到,而且在我的静态站点中效果很好。我想继续使用它,但我一辈子都不知道如何将所需的类添加到我的图像中 预期结果: <img src="image.jpg" class="reflect" /> <img src="image2
<img src="image.jpg" class="reflect" />
<img src="image2.jpg" class="reflect" />
<img src="image3.jpg" class="reflect" />
等等
解决其他发现的建议:
目前我所有的图片都没有任何类别。
我确实找到了一些建议的解决方法,但它们不太适合我的需要,因为我需要将相同的类添加到所有现有的标记中,而忽略任何其他地方,例如页眉和页脚。另外,虽然我懂一点PHP,但我并不擅长它。Drupal应该是完全动态的,所以我肯定有办法做到这一点,但我不知所措。您可以将图像放在一个div中,并通过它为所有图像分配一个类,如下所示:
<div class="imgDiv">
<img src="image.jpg" alt="" />
<img src="image2.jpg" alt="" />
<img src="image3.jpg" alt="" />
</div>
是的,您可以使用id包装div,并在css文件中为img标记添加css。您还可以使用jquery 您可以实现()来实现这一点,在
template.php
文件中键入以下内容:
function [YOUR_THEME]_image($variables)
{
$attributes = $variables['attributes'];
$attributes['src'] = file_create_url($variables['path']);
$attributes['class'][] = 'reflect'; // add the class name here
foreach (array('width', 'height', 'alt', 'title') as $key) {
if (isset($variables[$key])) {
$attributes[$key] = $variables[$key];
}
}
return '<img' . drupal_attributes($attributes) . ' />';
}
函数[你的主题]\u图像($variables)
{
$attributes=$variables['attributes'];
$attributes['src']=file_create_url($variables['path']);
$attributes['class'][='reflect';//在此处添加类名
foreach(数组('width','height','alt','title')作为$key){
if(isset($variables[$key])){
$attributes[$key]=$variables[$key];
}
}
返回“”;
}
请注意,该类将被添加到整个站点的所有图像中
希望这有助于。。。穆罕默德。对不起,这根本不是我需要的。这不是CSS问题,这是HTML问题(可能是PHP问题,取决于您如何看待它)。坦率地说,你似乎甚至没有阅读整个问题,因为我认为我已经说得很清楚了。我需要的是我所有的图像都有一个class=“reflect”。如果我的图像与上面显示的不一样,那么它就不正确,也不起作用。我正在使用的.js不会以任何其他方式完成。你的所有图像都是同一个字段的实例吗?如果我理解你的问题,我不这么认为。我相信我为每个画廊创作了不同的作品。但我可能在想其他的事情。好吧,这确实起到了作用,并且为我的所有图片添加了所需的类。所以我感谢你。正如我担心的那样,它会进入不受欢迎的区域,比如网站的其他页面,其中包含图片,但不属于我的图库——比如我的博客。有没有办法告诉它忽略特定的节点、页面、区域或其他东西?或者将其聚焦,使其仅在3个图像库中工作?因此我猜这是否定的?图像是否通过
视图
或节点页面
传递到页面?!我很确定他们是通过一个视图输入的,这个视图是一个画廊模块,它使用视图来更加具体。
function [YOUR_THEME]_image($variables)
{
$attributes = $variables['attributes'];
$attributes['src'] = file_create_url($variables['path']);
$attributes['class'][] = 'reflect'; // add the class name here
foreach (array('width', 'height', 'alt', 'title') as $key) {
if (isset($variables[$key])) {
$attributes[$key] = $variables[$key];
}
}
return '<img' . drupal_attributes($attributes) . ' />';
}