如何确定当前页面是否是搜索结果页面? -- 7 领域 和 search 领域 drupal 相关 的问题

How to determine if the current page is a search results page?


6
vote

问题

中文

如果当前页面是Apache Solr搜索结果页面,我如何在模块或主题中确定?

英文原文

How can I determine from within a module or theme if the current page is an Apache solr search results page?

     
   
   

回答列表

6
 
vote
vote
最佳答案
 

如果您尝试从模块确定,则可以通过使用arg()函数的路径参数检查页面是否是搜索结果页面。

  if (arg(0) == 'search') {   TRUE } else {   FALSE }   
 

If you're trying to determine from a module then you can check if the page is the search results page via the path arguments using the arg() function.

if (arg(0) == 'search') {   TRUE } else {   FALSE } 
 
 
       
       
2
 
vote

从主题的角度来看,您可以简单地使用

  ::submitForm0  

::submitForm1 如果您在搜索结果页面上时,应仅返回true。

如果您正在考虑自己自己自己自己,您可能希望调查搜索结果.TPL.php

 

From a theming point of view you could simply use

<?php if ($search_results) : ?>     <!-- Do this on search results pages --> <?php endif; ?> 

$search_results should only return true if you are on a search results page.

If you're looking into styling the results themselves you might want to look into search-result.tpl.php

 
 
0
 
vote

如果您想找到SOLR已搜索solr,您可以使用 apachesolr_has_searched()功能。

这不会指示您是否在搜索结果页面上,按照使用solr视图开始,搜索结果页面的定义是模糊的,但它可以告诉您是否已经执行了SOLR搜索。

只是为了引用 apachesolr_static_response_cache ()将为您提供solrs的响应,以及 apachesolr_current_query()将为您提供关于查询的信息。

 

If you are looking to find if solr has been searched you can use the apachesolr_has_searched() function.

This won't indicate if you are on a search results page, as once you start using solr views the definition of a search results page is fuzzy, but it can tell you if a solr search has been performed.

Just for reference apachesolr_static_response_cache() will give you solrs' response, and apachesolr_current_query() will give you information on the query.

 
 
0
 
vote

要验证页面是搜索页面,则应验证当前URL的第一个路径元素是 998887660 ,第二条路径元素是实现的模块的名称hook_search() 。 (我使用了临时变量,并添加了额外的括号,以使代码更可读。)

  $bool = ((arg(0) == 'search') &&   ($module == arg(1)) && module_invoke($module, 'search', 'name') ); if ($bool) {   // The page is a search page returned from apachesolr.module. }   

在特定情况下,考虑到要验证页面是否是从Apachesolr.module返回的结果页面,则代码可以简化如下:

  if ((arg(0) == 'search') && (arg(1) == 'apachesolr')) {   // The page is a search page returned from apachesolr.module. }   

通用代码可以简化的原因是您知道模块的名称,该模块肯定实现 hook_search()
通用代码验证了 998887665 返回的值,当最后一个参数等于 "name" 时,因为存在仅部分地实现 hook_search() 的模块。至少在我调试OpenSearch Feed的代码时发现了我发现的。

 

To verify if a page is a search page, you should verify the first path element of the current URL is search, and the second path element is the name of a module that implements hook_search(). (I used a temporary variable, and added extra parentheses just to be make the code more readable.)

$bool = ((arg(0) == 'search') &&   ($module == arg(1)) && module_invoke($module, 'search', 'name') ); if ($bool) {   // The page is a search page returned from apachesolr.module. } 

In the specific case, considering that you want to verify if a page is a result page returned from apachesolr.module, the code can be simplified as follows:

if ((arg(0) == 'search') && (arg(1) == 'apachesolr')) {   // The page is a search page returned from apachesolr.module. } 

The reason the generic code can be simplified is that you know the name of the module, and that module surely implements hook_search().
The generic code verify the value returned by hook_search() when the last parameter is equal to "name" because there are modules that implement hook_search() only partially. At least that what I discovered when I was debugging the code of OpenSearch Feed.

 
 
-1
 
vote
如果您正在谈论主题或模块,您可以检查当前的URL /路径,如果它以"搜索" 开头。
 

In case you are talking about a theme or module you could check the current URL/path if it begins with "search".

 
 
   
   

相关问题

5  重建ImageCache  ( Rebuild imagecache ) 
我每个节点有一个图像域,它通过ImageCache运行。由于ImageCache缓存按需,因此在首次请求之前不会创建缓存文件/变体。因此,如果我更新一堆图像,重新部署或以其他方式吹整个缓存,这取决于第一个访问该文件的访问者。 如何才能备用用户加载时间并手动重建整个缓存? 最后一次提出来,我以编程方式加载了与jQu...

3  视图2条件过滤器  ( Views 2 conditional filter ) 
如何将条件安装程序应用于视图(使用视图2)? 例如: 我有一个视图,它使用节点上的过滤器显示多个不同节点类型的预告:[博客条目,论坛主题,用户配置文件] 这适用于显示这些类型的所有节点,但假设我只想显示用户的个人资料,如果它也有图片(以及所有其他类型)。 ...

3  是否有一个可以处理MIDI文件的媒体处理模块?  ( Is there a media handling module that can handle midi files ) 
我一直在使用 mp3播放器提供一个页面mp3播放器,但我也需要能够处理MIDI文件。现在我可以做的最好的就是允许它们上传到"MP3文件" 字段中,但是当它呈现节点时,它只是给出了文件的链接,这意味着您必须导航到文件(或打开它在一个新标签中,浏览器播放它。 ...

5  删除用户时会导致站点挂起的内容?  ( What can cause a site to hang when deleting a user ) 
当我尝试删除用户时,整个站点挂起,即drupal不再响应了。什么会导致它? 该站点没有安装任何特殊的用户配置文件模块。 编辑: 只有一个自定义(自制)模块,带有Hook_User,它打开 $op 。 "删除" 案例外观未验证: case 'delete': $sql = "DELETE FROM {m...

16  如何在Drupal 7的一页上获得超过10个搜索结果?  ( How can i get more than 10 search results on one page in drupal 7 ) 
默认搜索页面仅显示10个结果。如何更改它以显示无限数量的结果? ...

6  从视图中重复分类分类术语  ( Duplicate taxonomy terms from view ) 
所以我尚未能够找到解决方案,而无需使用预处理函数来检查重复或仅使用"标签" 模块。很好,可以封闭。 如何配置(块)视图以显示词汇表的术语列表,每个术语显示一次(也许是指示它使用的次数的数字) - 即使术语可以由多个节点? "截然不同" 没有工作..字段'分类:所有术语'和'分类:术语'都会产生类似的重复项目,当该术...

80  任何方法为单页/节点添加CSS?  ( Any way to add css for a single page node ) 
我正在清理我的大疯狂风格的表格(可能与未来的问题有关),我想知道将自定义CSS添加到特定节点或页面的最佳方法。 特别是,我的工作网站的主页是面板页面,它有一堆不同的造型。现在,CSS刚刚包含在主题样式表中。 有没有办法说,"如果这是节点foo,则添加foo.css" ?是 css注射器我正在寻找什么? i 可能对其...

12  如何管理Drupal网站上的协作发展?  ( How do i manage collaborative development on a drupal site ) 
我在Drupal网站上使用另一个开发人员。我们一直在努力在没有彼此的情况下同时找到在网站的不同部分工作的好方法。我们已经尝试过在网站的同一开发实例上工作,但我们经常踩到其他人脚趾,或者用一些不好的代码延续网站,使其无法继续工作,直到它得到解决。所以我们搬到了分开的开发实例。但现在将我们的工作合并到网站的单一实例中是一...

4  如何使用子主题覆盖主题的Template.php的单一函数?  ( How to override single function of themes template php using sub theme ) 
目标: drupal 7子主题开发 我不想覆盖整个template.php文件。我只是想覆盖template.php文件的单一函数。 ...

5  使用数据库的良好做法  ( Good practices working with databases ) 
我正在学习drupal,我想开发一个网站,主要是它的数据库。 我已经拥有数据库的扩展实体关系模型(类型的复杂)。 在创建要由drupal使用的数据库时,采取的正确方向是什么,创建它手动,并使用php在drupal中进行查询,因为它是从头开始的php + mysql站点? Drupal是否提供了更容易的方法来做这件事?...

17  如何在有多个功能有多个功能时选择要使用的模块?  ( How do i choose which module to use when there are several options for the same ) 
它并不罕见,找到提供基本相同的功能的多个模块。例如,有许多垃圾邮件控制模块提供极为相似的功能(例如, spamicide 和)。并且有很多不同的分类模块可以做类似的事情。因此,当多个模块满足我的要求时,我应该如何选择使用哪一个? ...

5  如何每次查看节点时执行操作?  ( How to perform an operation every time a node is viewed ) 
在编写模块时,我如何每次用户查看节点时执行一次操作? ...

0  如何生成一个列表,其中包含哪些空格?  ( How to generate a list of which features are enabled in which spaces ) 
我正在使用有机组,特征和空格运行一个Drupal 6.x站点,我对生成一个空格启用的空格的列表有兴趣。优选地,具有沿Y轴的空间的表,以及沿X轴的特征。 关于如何生成此的任何想法?我可以使用视图生成组空间列表,但无法找到已启用功能的字段。 ...

5  批量保存节点与文件字段  ( Bulk saving nodes with a file field ) 
我正在为笨拙网站创建批量上载函数的进度。使用Flash我能够将文件上传到应该能够处理文件的特定URL。 我想做什么,不仅仅是上传文件,而是使用保存到已使用CCK设置的文件字段的文件创建特定类型的节点。由于这些是音频文件,因此文件字段处理文件是重要的,因此可以使用GetID3模块提供其他元数据。 我看了代码/ doc,...

3  如何处理博客标签在贡献主题中?  ( How to handle blog tags in a contrib theme ) 
在博客或博客的网站中,分类通常用于标签和类别。 在Drupal 6中,Node.TPL.php文件可以使用$分类系统,如果它们需要访问与当前节点相关联的UnRended分类链接数组。该变量通常是通过Control主题假设来包含帖子标记和或类别,并且相应地呈现。 在Drupal 7中,$分类学不再可用。 是什么选择...

11  hook_preprocess_page():如何讲述视图页面?  ( Hook preprocess page how to tell a views page ) 
im写一个需要在视图页面中插入一些javascript和css文件的自定义模块。 im使用hook_preprocess_page,但我无法判断当前页面是否来自视图: function mymodule_preprocess_page(&vars) { var_dump($vars); //outpu...

5  Field API与自定义代码  ( Field api versus custom code ) 
如果我需要仅为用户配置文件添加自定义字段,它是否更好地创建使用字段API的模块,或者使用自己的代码以自定义URL显示自定义字段的模块,并保存数据在自己的数据库表中? 字段API无法实现决定哪些字段可对其用户可见的权限;是足以实现自定义代码的原因? ...

5  视图幻灯片VS列表视图+ jQuery Cycle Lite?  ( Views slideshow vs list viewjquery cycle lite ) 
在我的工作站主页上的旋转图像是以列表格式的视图创建。我正在使用 jquery循环Lite 插件,用于旋转效果。 CycliT.Lite.js文件在我的主题的.info文件中的脚本数组中设置,页面中有一点代码.TPL.php检查这是否是主页,如果是,则设置旋转器。< / p> 现在我正在第二个旋转器用于另一个部分,我一...

3  如何使功能仅适用于某些空格?  ( How to make a feature available only to certain spaces ) 
对于Drupal 6开放式庭院站点(即,功能,空格,有机组)我正在运行,我创建了一些自定义功能,只能真正适用于站点上的数百个群体。 它代表,"自定义功能" 配置屏幕显示所有的功能,包括那些我想故意限制到几个特殊群体的那些。 预防每个小组提供这些特殊功能的最佳方法,同时保留了特殊组上的这些功能? ...

4  在子域之间共享登录  ( Login shared between subdomains ) 
如果我应该允许用户使用相同的用户名/密码登录,在以下解决方案之间选择时,我应该考虑什么? 安装,并使用面包店单点登录系统在主站点上,以及所有子域。 共享包含用户数据的数据库表。 ...




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


Licensed under cc by-sa 3.0 with attribution required.