如何在模板中打印多值链接图像cck字段? -- 6 领域 和 theming 领域 和 entities 领域 drupal 相关 的问题

How to print multi-value link image CCK field in template?


1
vote

问题

中文

我有一个使用链路图像字段模块设置的多值CCK字段,我需要在内容页面上打印所有图像(链接)。我使用下面的代码本身打印图像,但无法弄清楚如何将每个图像的链接包围每个图像。

                  <?php if ($node->field_day_option_buttons[0]['filepath']): ?>              <?php                 foreach($node->field_day_option_buttons as $image) {                  if (file_exists($image['filepath'])) {                      print theme_imagecache('my image cache preset name', $image['filepath']);                     }                   }               ?>             <?php endif; ?>   

任何人都可以提供如何完成的输入?

谢谢!

编辑 以下是在CCK字段上运行Print(R)时放置在页面上的信息:

  Array (    [0] => Array (      [fid] => 347     [uid] => 1     [filename] => days-5.png     [filepath] => sites/default/files/days-5_0.png     [filemime] => image/png     [filesize] => 440     [status] => 1     [timestamp] => 1366038083     [list] => 1     [data] => Array (        [alt] => Alt Text        [title] => Title Text        [url] => http://www.mysite.com        [target] => _self     )      [nid] => 18   )   [1] => Array (     [fid] => 348     [uid] => 1     [filename] => days-20.png     [filepath] => sites/default/files/days-20_0.png     [filemime] => image/png     [filesize] => 506     [status] => 1     [timestamp] => 1366038108     [list] => 1     [data] => Array (        [alt] => Alt Text        [title] => Title Text        [url] => http://www.mysite.com        [target] => _self      )     [nid] => 18   ) )    
英文原文

I have a multi-value CCK field set up using the Link Image Field module, and I need to print all of the images (linked) on the content page. I used the code below to print the images themselves, but cannot figure out how to wrap each image's link around each image.

                <?php if ($node->field_day_option_buttons[0]['filepath']): ?>              <?php                 foreach($node->field_day_option_buttons as $image) {                  if (file_exists($image['filepath'])) {                      print theme_imagecache('my image cache preset name', $image['filepath']);                     }                   }               ?>             <?php endif; ?> 

Can anyone provide input on how to accomplish that?

Thanks!

EDIT Here is the info placed on the page when I run a print(r) on that cck field:

Array (    [0] => Array (      [fid] => 347     [uid] => 1     [filename] => days-5.png     [filepath] => sites/default/files/days-5_0.png     [filemime] => image/png     [filesize] => 440     [status] => 1     [timestamp] => 1366038083     [list] => 1     [data] => Array (        [alt] => Alt Text        [title] => Title Text        [url] => http://www.mysite.com        [target] => _self     )      [nid] => 18   )   [1] => Array (     [fid] => 348     [uid] => 1     [filename] => days-20.png     [filepath] => sites/default/files/days-20_0.png     [filemime] => image/png     [filesize] => 506     [status] => 1     [timestamp] => 1366038108     [list] => 1     [data] => Array (        [alt] => Alt Text        [title] => Title Text        [url] => http://www.mysite.com        [target] => _self      )     [nid] => 18   ) )  
        
     
     

回答列表

2
 
vote

您应该能够使用L()函数(链接功能)打印出您的链接。

通常,l()与参数l("我的链接文本" ,$ path)一起使用,但是,第一个参数不必是文本,可以只是HTML。如果您包括HTML,则必须使用可选$选项数组参数指定。 : - )

此处使用l()是更多的文档: http://api.drupal.org/api/drupal/includes!incmon.inc/function/l/7 6&amp; 7个版本应该类似地工作。

在您的情况下,您可以像这样构建链接:

  1. 您的第一个参数将是一个图像,而不是文本作为链接
  2. 你的第二个参数将是您希望图像链接到的路径,应该是$ image ['filepath']
  3. 您的第三个参数应指定第一个参数是HTML,而不仅仅是文本

所以,尝试类似的东西:

  <?php print l(       theme_imagecache('my image cache preset name', $image['filepath']),     $image['data']['url'],     array(           'attributes' => array(   // Sample attributes you can apply to your anchor tag             'id' => 'your-link-id',             'class' => 'your-link-class',             'target' => '_blank',  // open link in new window.           ),          'html' => true,     ) ); ?>   

我还没有测试过这个,因为我没有一个drupal 6网站,但这应该工作。让我们知道它是否有效,或者如果需要一些调整...

 

You should be able to use the l() function (link function) to print out your link.

Typically, l() is used with the arguments l("My link text", $path), however, the first argument doesn't have to be text and can be just html. You just have to specify that with the optional $options array argument at the end if you're including html. :-)

Here is more documentation on using l(): http://api.drupal.org/api/drupal/includes!common.inc/function/l/7 The 6 & 7 versions should work similarly.

In your case, you can build your link like this:

  1. Your first argument will be an image, rather than text as the link
  2. Your second argument will be the path you want the image to link to, which should be $image['filepath']
  3. Your third argument should specify that the first argument is html, and not just text

So, try something like:

<?php print l(       theme_imagecache('my image cache preset name', $image['filepath']),     $image['data']['url'],     array(           'attributes' => array(   // Sample attributes you can apply to your anchor tag             'id' => 'your-link-id',             'class' => 'your-link-class',             'target' => '_blank',  // open link in new window.           ),          'html' => true,     ) ); ?> 

I haven't tested this yet, as I don't have a Drupal 6 site handy, but this should work. Let us know if it works or if it needs some tweaking...

 
 
         
         

相关问题

0  如何使用包含多个图像的节点的一个图像创建网格视图?  ( How to create a grid view with only one image from nodes containing multiple ima ) 
我有一个可以具有任何数量图像字段的图像字段的节点。我想创建一个网格视图,其中我应该只应该是一个图像字段(可以是第一个或任何一个实际)。 附加图像显示了显示多个图像的视图设置 - 如何限制从网格视图显示的每个节点中选择单个图像? (我在drupal 6) ...

0  反馈模块块不遵循可见性规则  ( Feedback module block doesnt follow visibility rules ) 
我正在使用Drupal 6上的反馈模块,但我发现了关于其块的可见性的奇怪行为。 模块出现了即使块处于禁用区域中,也不会分配给任何站点空间,此外,即使我设置例如返回false的PHP代码,或者我将其设置为仅显示它列出的页面而不给出任何有效页面。 如果我将块移动到不同的区域,它仍然显示在右下角,所以我没有控制它的工作原理...

0  如何在外部页面上使用Drupal页脚和标题  ( How to use a drupal footer and header on an external page ) 
抱歉,如果标题不是最佳描述,是我第一次使用drupal工作。我的客户端有一个在Drupal 6.22上创建的门户,我为他创建并发网站,他想使用在我所区域的Drupal Portal上创建的相同的标题和页脚。 所以基本上我想知道是否有一个包含,或者我可以添加到我的网站上,这将使用 compile something...

1  如何在某些页面上拨打块?  ( How to style block on certain pages ) 
我想在一个菜单块上添加一个菜单块,我在我的站点的一部分上显示,仅在某个页面上用不同的方式进行样式。 我该怎么做?我可以以某种方式有条件的特定页面吗? ...

1  “消息状态”div未显示在提交页面注释[已关闭]时出现  ( Messages status div not showing up when submitting page comment ) 
关闭。这个问题需要更多聚焦。它目前不接受答案。 想要改进这个问题?更新问题,因此它仅关注一个问题,仅通过编辑此帖。 关闭 2年前。 ...

1  CAPTCHA不保存form_id  ( Captcha does not save form id ) 
我添加了 captcha 模块使用此过程,我正在尝试将验证码添加到我的用户注册页面。 但是,当我转到/ admin / user / captcha时,带有默认表单的列表为空。我期望默认列表。 我输入了user_register作为form_id,从下拉下拉列表中选择了标准验证码。但它不会将新表单添加到列表中。它仍然...

0  将菜单项链接到同一页面上的元素ID  ( Link menu item to an element id on the same page ) 
我想将我的菜单项链接到页面,但是在同一页面上的div标记的特定ID,因此如果有人点击它将转到div部分。基本上是因为我想在我的页面中制作一些物品。 我欣赏任何指导,谢谢。 ...

0  如何在Drupal 6中添加两个CCK字段中添加内容页面  ( How to put two cck fields in add content page in drupal 6 ) 
0向下投票收藏夹 我在drupal 6中创建了内容类型。 我想将一个输入字段添加到数字,然后选择(下拉)字段以获得年/月。它们应该在添加内容页面中彼此相邻。 用户通过在文本输入中输入3个月,然后从下拉列表中选择几个月来输入3个月。但我不知道我可以在Druapl 6使用cck。 如果我添加两个字段,它们将以其标签显示...

0  如何在Drupal 6中设置默认角色  ( How to set default role in drupal 6 ) 
我在Drupal 6网站中创建了一些用户角色。 在网站中注册时,可以将其中一个作为默认角色设置为默认角色? ...

1  如何在search_index中索引注释?  ( How to not index comments in search index ) 
我正在使用核心搜索,核心模块。 我希望不索引搜索_index 中的注释 在node.module中,"函数_node_index_node($节点)" 加载并呈现节点。此处加载并索引了评论内容。我想在此处加载评论内容,以便不是索引此内容。我怎样才能做到这一点 ?谢谢 nb:我是drupal 6,但是在6或7中的提示...

0  如何在添加内容页面中隐藏某些字段?  ( How to hide some fields from user in add content page ) 
我有一个内容类型,其中一些字段使用dck 6中的cck模块创建。我希望用户只填写创建内容页面中的一些,并且没有看到admin稍后填写的其他人。 如何在Drupal 6中进行?是否有可能? ...

1  Drupal 6或模块中是否有中央文档存储? [关闭]  ( Is there a central document store in drupal 6 or a module that does ) 
此问题似乎在帮助中心中定义的范围内涉及Drupal。。 想要改进这个问题?更新问题,所以它是关于drupal答案的主题。 ...

1  为什么我的WebForm特殊令牌值在D6中没有正确呈现?  ( Why my webform special token values not rendered correctly in d6 ) 
我正在尝试在特殊令牌" 。 Drupal 6上的模块(6.x-3.18)。我希望数据填充我在同一表格上使用电子邮件字段创建的隐藏字段。 在隐藏字段的默认值下,我尝试使用多个不同的值,包括: %post[submitted][email]<br /> %post[email]<br /> %post[submitt...

2  新遗物:“应用程序代码(IN /主题)”  ( New relic application code in theme ) 
我有几个drupal站点,我正在使用新的遗体来帮助监控和调试性能问题。 我一直在发现在"监视" 下的"Web交易" 部分时,在"/主题" 中花费了很大的时间。当我点击查看跟踪时,然后查看跟踪详细信息,我经常发现大多数时间都列在名为"应用程序代码(IN /主题)" 的行中。 "应用程序代码(IN /主题)旁边的帮助...

4  更改视图暴露过滤表单  ( Alter views exposed filter form ) 
我正在尝试将更多元素添加到公开的视图过滤表单,但是正在运行到一个奇怪的问题,这让我困扰了我。 我在自定义模块中使用hook_form_alter调用以添加新选择下拉。这有效,除了他们作为提交元素的一部分呈现。 dpm()0 呈现它如下所示: dpm()1 有谁知道我错过了什么?为什么新添加的"测试" ...

0  登录后,Drupal正在欢迎其他用户  ( Drupal is welcoming other user after login ) 
我在drupal 6.26上有网站。 现在我面临的麻烦有时当用户登录时,网站正在向他的态度向另一个用户展示欢迎消息!例如,如果您使用用户X登录,在重新加载页面后,它将向您展示一条消息"欢迎Y" ,并显示Y.幸运的配置文件页面,它显示了个人资料y但不编辑许可。如果你试图访问X的个人资料,它将是可编辑的!!。 任何想法可...

0  Drupal错误消息  ( Drupal error message ) 
我今天收到了这两个错误消息。不确定他们来自哪里或者我做了什么来造成它。关于我如何解决问题以及导致它的建议? 1 - warning: htmlspecialchars(): Invalid multibyte sequence in argument in /home1/XXX/public_html/inclu...

1  如何将内容从视图中提取到数组中?  ( How do i pull content from a view into an array ) 
我有一个奇怪的任务,在那里我需要将内容从(井数)的drupal视图拉到数组中,以便稍后使用该数据。我不想立即显示内容,但我需要稍后访问它。 我已经构建了这一观点,但有人建议我可以导出视图,然后创建一个模块来抓住查看数据,但我不知道如何做到这一点。 基本上我正在做什么,正在创建一个play say,9个节点类型"博客"...

0  灯箱/弹出窗口中的开放节点参考链接  ( Open node reference links in lightbox popup ) 
我想要在我的节点视图页面中,在弹出窗口或灯箱窗口中打开节点参考链接。 有没有人有解决方案? ...

1  如何在用户单击节点编辑表单上单击“保存”后添加确认表单?  ( How to add a confirmation form after the user clicks save on a node edit form ) 
在我构建的网站上,用户可以在节点上编辑某些字段,导致连锁反应发生(我使用 99887665 的"更新" OP)。 由于该链反应可能影响大量的其他内容,我想通知用户究竟将改变其他内容(这取决于更改的字段值,直到用户提交到节点)。在用户阅读此受影响内容的此列表之后,我想选择单击"是" 的选项,该选项将保存节点并启动链反...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.