用JavaScript检测Drupal 6中的前页 -- javascript 领域 drupal 相关 的问题

Detect front page in Drupal 6 with javascript


8
vote

问题

中文

在drupal 6中使用javascript,有没有办法检测本页是否是前页吗?我有一个自定义drupal 6模块,基于本页是否是前页,输出不同的JavaScript代码。它将单个JavaScript文件添加到Drupal,因此我需要在JavaScript中查看检查。

该站点将通过varnish缓存服务,因此我不想在php中添加检查,尽管我知道 drupal_is_front_page() 的情况会更容易。

有没有任何疣状的方式来做这件事?基于jQuery的建议将受到高度赞赏。

谢谢。

英文原文

Using javascript in Drupal 6, is there a way to detect whether the present page is the front page? I have a custom Drupal 6 module that outputs different javascript codes based on whether the present page is front page or not. It adds a single javascript file to drupal, so I need to put the check in the javascript.

The site will be served through Varnish cache, so I don't want to add the check in PHP, though I know that would have been way easier with drupal_is_front_page().

Is there any Drupal-native way to do this? jQuery based suggestions will be highly appreciated.

Thanks.

  

回答列表

19
 
vote
vote
最佳答案
 

一般Drupal将" front " 类添加到任何页面的身体元素作为首页。如果您的主题Page.tpl.php正在打印身体类(即 998876663 ),它很可能是(它应该),那么你的javascript可以检查主体元素是否有"前面" 类。

所以,假设jquery(因为drupal包括它),那么你会做:

  if ($('body').hasClass('front')) { // do stuff...}   
 

Generally Drupal adds a "front" class to the body element of whatever page is acting as the front page. If your theme's page.tpl.php is printing the body classes (i.e <body class="<?php echo $classes; ?>"), which it most likely is (it should), then your javascript can check if the body element has the "front" class.

So, assuming jQuery (because Drupal includes it) then you'd do:

if ($('body').hasClass('front')) { // do stuff...} 
 
 
 
 
0
 
vote

如果需要,使用JSON格式将DRUPAL_IS_FRONT_PAGE()的结果转换为JavaScript变量。只需编写JavaScript函数即可在需要时检查它。

 

Print the result of drupal_is_front_page() into a javascript variable, using json formatting if necessary. And just write a javascript function to check it when you need it.

 
 

相关问题

2  jquery进入drupal 7  ( Jquery into drupal 7 ) 
我正在尝试这个: http://jsfiddle.net/sghj5/ 在Drupal 7. 出于某种原因,当我将其粘贴到我的前面时 - Page.tpl(页脚)它不起作用。 我还尝试在我的template.php中包括js文件。 ...

19  如何将jquery插件添加到drupal?  ( How to add jquery plugin to drupal ) 
我应该只粘贴主模板文件中的代码,或者是否有任何其他推荐的方法在Drupal 7中附加新的jQuery插件? ...

0  无法在Drupal 7上工作jQuery插件  ( Cannot get jquery plugin working on drupal 7 ) 
我正在尝试运行jQuery插件qtip。问题是它不运行,即使所有文件都在Corect文件夹中(插件均为Info文件,并且作为下面的脚本验证),我将从Plugin的网站中占据了以下代码并粘贴在Wysywig的HTML部分中编辑。谁能告诉我为什么是这种情况? <script type="text/javascript...

8  如何使用Ajax加载视图,以便加载视图所需的其他JS / CSS文件?  ( How to load a view with ajax so that additional js css files needed by the view ) 
目前我正在使用jquery加载视图,如下所示: >>> $node->field_my_date => DrupaldatetimePluginFieldFieldTypeDateTimeFieldItemList {#8836 0: DrupaldatetimePluginFieldFieldTypeDate...

2  jQuery对话框,将HTML传递给对话框  ( Jquery dialog passing html to dialog ) 
我正在寻找一种将html传递给jQuery对话框的方法。没有成功。 我尝试: Drupal.jqui_dialog.html(messages); 和 Drupal.jqui_dialog.open({ data : messages }); ...

5  将LightBox添加到Ubercart中的产品列表  ( Add lightbox to product list in ubercart ) 
我正在尝试为ubercart为ubercart for drupal 6启用lightbox2。这是简单的通过视图,但我认为产品列表是由uc_catalog模块生成的。如何将类添加到产品缩略图或为它们启用LightBox2?是要自定义输出的TPL.php文件吗?谢谢你的任何帮助。 ...

3  如何使用jqm主题和jquerymobile插件与drupal?  ( How to use jqm theme and jquerymobile plugin with drupal ) 
我正在开发一个带有drupal 7的移动网站,我想使用jQuery Mobile。我发现了很多插件,但只有一个可用的ropal 7(jQuery Mobile Module)。我还有一个jquery移动主题(JQM主题)。我的问题是不起作用(只有HTML,没有CSS和JQuery Mobile,显示)。 有没有人使用...

6  如何使用drupal.behaviors?  ( How to use drupal behaviors ) 
我正在尝试在文档准备就绪时执行简单的AJAX请求。除此之外,我还希望提供一个onclick事件的函数。 这是我的代码: (function ($) { Drupal.behaviors.user_alert_get_message = { attach: function(context, sett...

0  寻找在标题中使用的滑块模块  ( Looking for a slider module to use in the header ) 
在Drupal 7中标题的良好滑块是什么(我想在网站的其他块/页面中拥有不同内容的滑块,因此如果同一模块可以为两者都能为,更好) ...

1  在Nodeapi设置位置时缩放到位置  ( Zoom to location when setting a location in nodeapi ) 
在某些情况下,我会自动在我的内容类型上设置WKT字段。我在 hook_nodeapi() 时,在 $op 准备时这样做。这是将WKT精细设置。地图显示了屏幕上正确位置的标记。但是它不会放大它(这是在我的预设中设置的)。 openlayers_render_map() 没有看到 $node 所以使用我在世界地图视图上...

1  如何在Drupal 7表格中进行动态选择?  ( How can i do the dynamic select in drupal 7 forms ) 
我使用drupal 7.在以下代码中,我调用返回值数组的函数播放器()。此值预先通过手定义。如何从数据库动态加载它? $form['officers']['officer'] = array( '#title' => t('Select the officer'), '#type' => 'select',...

3  将全屏背景图像添加到Drupal 7 / Bartik主题  ( Adding a full screen background image to drupal 7 bartik theme ) 
有没有人管理用默认Bartik主题添加图像作为Drupal 7的背景? 也许使用a fultscreenr插件用于jquery? 我不确定在哪里存储那个代码,我需要包括jQuery或已经包括jQuery(我假设它包括在内,但你不能调用 $()有些原因?在下面的全屏幕码中更改是什么意味着什么?) 以及如何调用 $。f...

6  使用Drupal 7覆盖模块在叠加层中显示节点  ( Show node in overlay using drupal 7 overlay module ) 
是否有没有使用Drupal覆盖核心模块与节点内容打开叠加叠加?如果我至少可以重用我已经快乐的JavaScript代码=) ...

0  如何在Drupal 7表格中进行动态选择?  ( How can i do the dynamic select in drupal 7 forms ) 
在以下代码中,我调用函数播放器()返回值数组以获取选项。此值预先通过手定义。如何从数据库动态加载它? $form['officers']['officer'] = array( '#title' => t('Select the officer'), '#type' => 'select', '#desc...

2  使用Drupal 6使用CDN for JQuery和JQuery-UI  ( Using cdn for jquery and jquery ui with drupal 6 ) 
对于我的Drupal 6站点,我想从Google CDN获取最新的jQuery和jQuery-UI脚本。虽然这似乎是许多人想要做的事情,但似乎并不那么容易。 项目高级CSS / JS聚合( avagg )似乎有希望,但在安装它并尝试之后以标准方式使用Google CDN,例如,添加 <script type="t...

2  jQuery会导致看似无限的循环和1分钟+的页面加载时间+ - “警告:引用未定义的属性d.cache [a] [d]”  ( Jquery causes seemingly endless loop and page load times of 1 minute warnin ) 
我网站上的页面的渲染已经急剧放缓。当我打开错误控制台时,我会得到下面的图像,显​​示错误: Warning: reference to undefined property D.cache[a][d] 您可以在下面看到一个屏幕截图: 这些警告继续,直到浏览器内存变为臃肿,浏览器锁定,或者页面只是需要一分...

0  如何从父叠加层中删除覆盖顶部和尾随菜单  ( How to remove overlay hashtag and trailing menu from the parent overlay ) 
让我们说是,我们有激活的上下文链接&amp;覆盖模块以及单击节点的编辑按钮,这一切都是页面的底部,它在叠加层上打开。现在,当我们看看地址栏时,链接现在看起来像这样 http://localhost:8888/node#overlay=node/25/edit%3Fdestination%3Dnode 叠加的问题是...

22  触发的多个值#states  ( Multiple values to trigger states ) 
如何具有多个值触发表单API的#states? 例如,我希望这个字段不仅可以看到该字段,不仅要有5(目前在下面工作),而且希望如果值为3,4或5. ,则希望使字段可见。 '#states' => array( 'visible' => array( ':input[name="field_s...

1  主题文件夹路径更改  ( Themes folder path changes ) 
我正在开发一个网站,我的客户端只有访问网站/默认/文件路径(他们的公司只允许只有公开的这条路径)我得到了一个新要求,即CSS和JS等主题文件需要是admin可编辑,因此它们希望主题文件/默认/文件/主题/站点主题中的主题文件。这是可实现的吗?如果是这样,请给我任何想法。 ...

4  如何在D7中缩小JavaScript  ( How to minify javascript in d7 ) 
我在Rackspace的云网站服务中,因此我无法修改我的服务器环境。我也在运行drupal 7.我花了最后几天正在寻找一种弥漫于Drupal 7的方法,我的结论尚不存在。我错了吗?或者我需要等待 http://drupal.org/project/advag ? ...




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


Licensed under cc by-sa 3.0 with attribution required.