如何以视图中编程方式添加链接到图像字段 -- 7 领域 和 views 领域 和 theming 领域 drupal 相关 的问题

How to programmatically add a link to an image field in a view


0
vote

问题

中文

我有一个映像字段和其他字段的视图,我需要链接渲染的图像,而不是配置选择的内容,而是在另一个计算的过滤的视图上。 我认为我应该使用 my_theme_preprocess_views_view_field_myviewname 来捕捉这个字段,使用它的名称作为选择器,然后将其包装在计算的链接中,但没有找到如何做到这一点。

要阐明我的问题,通常会显示此视图中的图像,并且我"动态地" 创建与图像无关的另一视图的链接。我写了一个函数(在我的模板中)来计算这个链接,我需要知道如何将此链接添加到 99887661 中的图像字段中。 预处理函数已执行多次以构建视图,我尝试使用var_dump(vars)来查看图像字段的位置,但它生成了太大的数据。
英文原文

I have a view with an image field and other fields, and I need to link the rendered image, not the content which is one of the configuration choice, but on another computed filtered view. I think that I should use my_theme_preprocess_views_view_field_myviewname to catch this field, using it's name as selector then wrap it with the computed link, but didn't find how to do it.

To clarify my question, the image in this view is normally displayed, and I "dynamically" create a link to another view which is not related to the image. I wrote a function (in my template) to compute this link, and I need to know how to add this link to the image field within my_theme_preprocess_views_view_field_myviewname(&vars). The preprocess function is executed several times to build the view, I tried to use var_dump(vars) to see where is the image field, but it generates a too huge amount of data.

        
         
         

回答列表

0
 
vote

根据您的问题,我假设您希望图像链接打开现有/新选项卡中的图像。为此,您可以添加"文件使用情况:file'.post的关系" 您在视图的"字段" 部分中获取文件路径字段。 添加文件路径字段和重写结果部分或在模板文件中,您可以使用所需图像创建标记。 PS:在现场图像设置中选择注释链接图像到设置。

 

As per your question, I assume that you want the image link to open the image in existing/new tab. For this you can add a relationship of 'File Usage : File'.Post that you get the file path field in the fields section of the view. Add that file path field and in the rewrite result section or in template file you can create tag with the required image. PS: In field image setting select noting in link image to setting.

 
 
       
       
0
 
vote

经过一些更多的搜索/测试,您这里的帮助是我曾经做过的解决方案。在我的主题模板中,我添加了

  function MyTHEME_preprocess_views_view_field__VIEWNAME__page(&$vars) {   $view = $vars['view'];   $field = $vars['field'];    // field is an object of type views_handler_field_node    if ((isset($field)) && ($field->field == 'my_image_field_name' )) {       // create a string like <a href="" >      $myLink = myFunctionToBuildLink($view);       $vars['output'] = $myLink . $vars['output'] . '</a>';   } }   

现在我有正确的链接到我想要的特定视图和页面。函数名称结束时的"__page" 是因为我使用带有显示页面的视图。

 

After some more search/tests and your help here is the solution I used to do it. In my theme template.php I added

function MyTHEME_preprocess_views_view_field__VIEWNAME__page(&$vars) {   $view = $vars['view'];   $field = $vars['field'];    // field is an object of type views_handler_field_node    if ((isset($field)) && ($field->field == 'my_image_field_name' )) {       // create a string like <a href="" >      $myLink = myFunctionToBuildLink($view);       $vars['output'] = $myLink . $vars['output'] . '</a>';   } } 

Now I have the right link to the specific view and page I wanted. The "__page" at the end of the function name is because I use a view with display page.

 
 

相关问题

2  $ pager_total_items在自定义搜索模块中提供错误的结果计数  ( Pager total items giving wrong results count in custom search module ) 
我不是太确定会发生什么,但在我的自定义搜索模块中, $GLOBALS['pager_total_items'] inall在第一页上是错误的。 例如,我搜索一个术语,它将显示:显示77个结果的1 - 10 ,寻呼机显示9页(当它应该仅显示8)。 然后,如果我点击寻呼机转到第2页(或任何其他页面),显示更改为:显...

3  为什么要从一组节点加载30秒加上的字段值?  ( Why is loading a field value from a group of nodes taking 30 seconds plus ) 
我有一个带有大约300,000个节点的D7网站。我传递这个函数是300-500个nids的数组。有时函数在一秒钟内运行。有时需要40秒或更长时间!我无法弄清楚导致慢速运行的原因。如何获得Query和Fast的查询? function _load_field_values_for_nids($field_name,...

0  每用户获得修订次数?  ( Get number of revisions per user ) 
我正在尝试展示用户编辑一个节点的次数,如下所示,因此我已经启用了对我的内容类型的修订。 user1(300) user2(288) user3(200) 问题是,当有人创建一个新节点时,它会在node_revision表中保存为修订,但我不想将其计算为编辑。 如何实现这一目标? 这是我正在使用的代码,到目前...

1  添加图像上传到主题配置  ( Add image upload to theme configuration ) 
我正在尝试将图像上传到我所做的主题中的主题设置。显示图像上传字段确实出现,但实际上没有上传,并且图像永远不会得到保存。 在主题 - settings.php中我有函数 function mytheme_form_system_theme_settings_alter(&$form, $form_state, $...

0  转换为指定的语言[已关闭]  ( Translate to specified language ) 
关闭。这个问题需要更多聚焦。它目前不接受答案。 想要改进这个问题?更新问题,因此它仅拍摄了一个问题,只有编辑此帖。 关闭 1年前。 ...

2  如何从节点中删除一些注释?  ( How to remove some comments from a node ) 
我在数据库中创建了一个新表,以将评论与他们提交的节点版本相关联。现在,当节点渲染时,我只想显示与特定节点VID关联的注释。我考虑在hook_node_view中查询db以删除不适用的注释,但理想情况下,只有与vid关联的注释首先将添加到节点。有没有更好的方法来实现这个?我可以在评论添加到它之前是否在节点上? ...

4  如何基于身体中的字符数显示视图块?  ( How to display a view block based on number of characters in body ) 
我目前有一个视图,它会创建"关于作者" 框,从用户的配置文件中提取信息,并根据节点(内容)的作者显示相应的作者框。我只想在节点中具有最小字符量的节点上显示它。 (它目前显示所有节点,块已启用。) 所需的结果是长块内容有一个"关于作者" 框,而短件的内容没有。 我所拥有的问题是,当我选择视图的过滤条件时,未列出节点的主...

1  某些阻止代码正确处理匿名用户  ( Certain block code processes correctly for anonymous user ) 
我在Drupal 7.41网站上安装了Bluemasters主题。在此主题中,我创建了几个新区域并将新块添加到这些区域,所有这些区域都在任何访问者可用的主页上。 我发现当我将其视为经过身份验证的用户时,主页与匿名用户一起看。作为匿名用户,我有4个独立的文本块,彼此顶部,但是当我登录此文本都是正确的地方。 我发现如果我...

0  克隆网站指向原始网站的数据库 - 这可能会出现问题吗?  ( Cloned site pointing to original sites database can this cause problems ) 
可以指向原始网站的数据库的克隆站点导致问题? 我正在使用坐在单独的服务器上的MySQL数据库运行Drupal 7站点。 我将站点的代码库存储库的克隆挂在一个单独的开发服务器上,然后将数据库的最近备份导入了一个新的数据库。该站点从不同的域中正常运行。 但是,我忘了更新 local.settings.php 文件...

0  仅为其他页面启用高速缓存的前页提升?  ( Boost only for front page with cache enabled for other pages ) 
我知道 boost 模块只在禁用耳机缓存时才工作。 但是有没有办法打开 boost 模块仅限前页,启用缓存对于其他页面。 ...

-1  找到所有节点中重复了多少次关键字  ( Find how many times keyword is repeated in all nodes ) 
我有商业列表的节点,具有业务的标题,正文和其他联系人字段。 我想对所有内容"10000节点" 进行研究,并在每个节点的标题和身体字段中找到最重复的单词,因此我可以使用找到的关键字标记内容。 任何想法? ...

1  如何检查实体已创建?  ( How to check entity is already created ) 
我有创建名为"胜利" 的代码以实体类型为单位,我的问题是如何防止用户再次以相同的名称创建实体。 function commerce_services_store_create($data, $flatten_fields) { $storeName = $data['store_name']; $stat...

0  WebServices创建(注册)新用户  ( Webservices to create register a new user ) 
我计划编写连接到Drupal 7的客户端应用程序。我喜欢通过应用程序创建新用户,遇到一些文献,但我不确定该方法是否安全,也是它是否认为所有可能的使用 - 案例。 我遇到的第一个链接是这样的: https://www.drupal.org/node/1514312 我能够配置端点并成功发布+创建用户。但是,上述方...

4  如何为特定的Drupal页面添加jQuery较低版本?  ( How to add jquery lower version for a particular drupal page ) 
我已安装jQuery更新模块并将jQuery 1.10设置为默认jQuery版本,但我以前的功能停止工作之一。 我只想为特定页面使用jQuery 1.8。我如何实现这一目标? ...

1  如何获取实体参考字段的产品图像字段URL  ( How to get url of product image field of entity reference field ) 
尝试使用产品页面上的相关产品创建视图(块)。产品有一个字段"相关产品" (实体参考)以及在我的视图中(显示产品"字段)我可以使用上下文过滤器(内容:nid)和关系来获取它们的图像和标题(实体参考:相关产品)。但是,标题和图像URL存在问题,它们导致编辑页面(如管理员/商业/产品/ 1),但不限于内容。 我试图添加一个...

1  HTML标签未通过打印模块和HTML邮件[关闭]  ( Html tags not filtered with print module and html mail ) 
关闭。这个问题需要详细信息或清晰度。它目前不接受答案。 想要改进这个问题?添加详细信息并通过编辑此帖的问题。 关闭 4年前。 ...

2  过滤器包含完整的单词吗?  ( Is filter contains all words working well ) 
我有一个视图和过滤器,"包含所有单词" 。我看到SQL包含表达式 '%word1%' AND '%word2%', 但是,如果我写"角度" ,就在我开始写作"A" 时,也有字符A且不一定从A开始的单词出现,例如"物质" 。 不应该占位符%只在一个地方,以这种方式: LIKE ( 'word1%' AN...

1  Drupal无法为位于主题目录中的文件创建图像样式  ( Drupal cant create image styles for files located in theme directory ) 
我有一个位于站点/全部/主题/ mytheme / images目录的图像。 我正在以编程方式向图表方式显示如下: $style = array( 'style_name' => 'my_style', 'path' => drupal_get_path('theme', 'mytheme'...

0  如果主题给出白色屏幕,我如何选择默认主题?  ( How do i choose a default theme if the theme gives a white screen ) 
我试图为所有TPL文件制作一个文件夹模板,但是在现在我不能在XAMP上再加载我的主题?现在,当我尝试在drupal加载主题时,只有白色屏幕。我可以做什么? 我厌倦了,所以如果你在drupal犯了一个错误,你需要一次又一次地安装。 我选择一个不同的主题,我关闭浏览器,但主题不起作用。如果我不再进入Drupal?,我如何...

2  插入PostgreSQL的查询  ( Insert query for postgresql ) 
在Drupal 7中用开发的自定义模块插入PostgreSQL数据库中,我使用以下查询: $query = Database::getConnection('default', 'move') ->query("INSERT INTO clients (client_ref,client_lastname,c...




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


Licensed under cc by-sa 3.0 with attribution required.