path_to_theme()转到父主题而不是亚主题 -- 7 领域 和 theming 领域 和 uri 领域 drupal 相关 的问题

path_to_theme() goes to parent theme not subtheme


0
vote

问题

中文

我用zen作为我的父主题,出于某种原因 path_to_theme()突然打印 /sites/all/themes/zen 而不是子项 /sites/all/themes/<mytheme> 。更令人困惑的是,它才会发生<强大>节点/ 12 时发生。

这个代码可以与它有关吗?

  <?php //template.php if(isset($vars['node'])){     if($vars['node']->nid == 12) {         $vars['is_request_quote'] = true;     } } ?>   

我使用变量 $is_request_quote 更改Page.tpl.php的布局。我通过 <?php elseif( $is_request_quote ) : ?> -New layout here- <?php endif; ?> 这样做。这可能是影响它的人吗?

英文原文

I'm using zen as my parent theme and for some reason path_to_theme() is suddenly printing /sites/all/themes/zen instead of the subtheme /sites/all/themes/<mytheme>. What's even more confusing is that it's only happening when node/12 is being displayed.

Could this code have something to do with it?

<?php //template.php if(isset($vars['node'])){     if($vars['node']->nid == 12) {         $vars['is_request_quote'] = true;     } } ?> 

I use the variable $is_request_quote to change the layout in page.tpl.php. I do this through <?php elseif( $is_request_quote ) : ?> -New layout here- <?php endif; ?>. Could that be the one affecting it?

        
   
   

回答列表

4
 
vote

我也有这个问题。解决方案在这里,应用于节点而不是页面,为我工作:复制 node.tpl.php 到您的自定义主题模板目录。一旦我这样做, path_to_theme() 表现正确。

 

I had this problem too. Solution here, applied to node instead of page, worked for me: copy node.tpl.php to your custom theme templates directory. Once I did that, path_to_theme() behaved correctly.

 
 
2
 
vote
vote
最佳答案
 

我找到了答案!这可能不是最好的挑战。经过几次测试,我发现 path_to_theme() 正确地指向 page.tpl.php 但是在 node.tpl.php中使用它时,请在 node.tpl.php时它突然指向父主题(ZEN)。

我的答案是一个2步骤进程,从创建存储我想要的路径的变量:

  function themename_preprocess(&$vars, $hook){     $vars['THEMEPATH'] = base_path() . path_to_theme(); //points to subtheme }   

然后要确保它在节点中工作,请启用以下功能以使其在Node.tpl.php中可用。只要函数在 template.php 文件中声明,就不需要在它内部内部。

  function themename_preprocess_node(&$vars, $hook){     // Put anything here or leave it blank }   

这样做后,瞧!您现在可以在节点和页面中使用$ themepath。

 

I found the answer! It's probably not the best one so feel free to challenge. After several tests, I found out that path_to_theme() correctly points to the subtheme in page.tpl.php but when you use it in node.tpl.php it suddenly points to the parent theme (zen).

My answer is a 2 step process starting with creating the variable which stores the path I want:

function themename_preprocess(&$vars, $hook){     $vars['THEMEPATH'] = base_path() . path_to_theme(); //points to subtheme } 

then to make sure it works in nodes, enable the following function to make it available in node.tpl.php. There doesn't need to be anything inside it, as long as the function gets declared in your template.php file.

function themename_preprocess_node(&$vars, $hook){     // Put anything here or leave it blank } 

After doing so, voila! You can now use $THEMEPATH in both nodes and pages.

 
 
 
 

相关问题

3  在处理提交时使用WebForm 3.x获取表单选项的显示值  ( Getting the display value for a form option with webform 3 x while processing su ) 
我想创建一个相关的表单数据的关联数组,并在提交的数据上做一些额外的处理(即将数据发送通过HTTP POST)。我有以下代码: function webformssalesforce_form_alter(&$form, &$form_state, $form_id) { if (substr($form_...

1  图像田间裁剪的问题[关闭]  ( Problem with image field crop ) 
此问题似乎在帮助中心中定义的范围内涉及Drupal。 想要改进这个问题?更新问题,所以它是关于drupal答案的主题。 ...

12  如何包含PHP库?  ( How do i include a php library ) 
在Drupal 7中,有 hook_library() 和 998887661 ,可用于管理js和css库。我正在寻找如何在我的分发中包含库。 我该怎么做? ...

1  从jquery_plugin模块导入和使用叠加层  ( Importing and using overlay from jquery plugin module ) 
我正在尝试(并且失败)使用jQuery_Plugin模块中的jQuery叠加插件在Drupal 7中。 我正在使用 drupal_add_library() 添加插件和drupal_add_js以添加代码以生成叠加。 覆盖触发元素是地图中的区域元素。 每当我尝试触发叠加层时,我都没有 - 没有错误或堆叠或警报,或者在...

0  在没有结果行为的情况下使用上下文过滤器  ( Use contextual filter on no results behavior ) 
我正在创建一个图,其中我想在没有结果行为上使用页面上看到的当前节点的节点ID。是否有可能? ...

4  无法从Drupal 7卸载模块  ( Cant uninstall module from drupal 7 ) 
我从2011-01-05运行drupal 7,我正在尝试卸载视图幻灯片:周期(7.x-3.0 alpha1)和视图幻灯片(7.x-3.0-alpha1)。我在模块列表中禁用它们然后转到卸载列表并在那里卸载它们,但它们仍然在模块列表中显示,我无法重新安装它,因为它表示已安装模块。 我已经尝试清除缓存。 任何想法? ...

1  如何在D7中使用叠加?  ( How do i use overlays in d7 ) 
Drupal 7具有使用jQuery覆盖的内置功能吗?我想和他们一起做一些确认屏幕和表格向导。 ...

2  从外部数据库获取信息 - 找不到基本表或视图  ( Getting info from an external database base table or view not found ) 
目前正在处理从外部应用程序的数据库获取一些信息作为测试。 我遇到了一个障碍,我似乎无法过去。这可能是如此简单,但我把头发拉过来。 我有2个数据库 - 一个是drupal,另一个是来自SomecyEningine。这些都托管在同一服务器上(不是localhost)。 我的错误是:not found:not foun...

2  改善多语言网站的工作流程  ( Improve workflow for multi lingual site ) 
我的客户在Drupal 7中管理多语言内容的可怕时间。我正在使用国际化模块和Drupal 7在管理多种语言中的默认功能。以下是我的客户端执行的示例工作流,粗体语句表示挑战。 客户端开始添加内容类型页面的新内容。他填写了标题并选择语言作为英语。 客户端点击菜单设置,然后选择提供菜单链接。在父项下,客户端从下拉树中选择...

4  维护页面 - >显示特定块  ( Maintenance page show a specific block ) 
如何在维护页面(例如jQuery倒计时)上提供块?它是关于设置正确的权限吗? ...

12  禁用用户帐户中的时区  ( Disable timezones in user account ) 
如何禁用在用户帐户中编辑时的时区?有一个配置设置我可以关闭吗? ...

2  创建Splash广告?  ( Create splash ad ) 
drupal 7.7。 我有front_page安装并为匿名用户工作 - 用十秒到期的cookie测试它: <?php print 'Splash Ad!<br/><a href="index.php">Go to site.</a>' ?> 现在,我需要从OpenX中放置实际的广告。我有javascr...

0  节点如何出现在不同的地方?  ( How can a node appear in different places ) 
这是一种规划阶段问题,我将自己与...... 相结合 电影网站有喜剧,幻想,儿童等的主导军标题。每个菜单项都显示了内容类型'电影'标记的列表视图,标记为相关分类术语。 例如,"哈利波特" 电影被标记为幻想和孩子,并出现在上市页面上。 如果用户进入幻想部分并点击"哈利波特" 以查看完整节点,则需要出现在幻想部分内。...

0  获取引用节点的作者电子邮件的最佳方法是什么?  ( Whats the best way to get the email of the author of a referenced node ) 
我希望使用带有规则或通知的MailHandler组合。当志愿者创建"注释" (引用另一个节点的节点)时,我想通知作者引用的节点。这里的用例是志愿者帮助台,其中一名志愿者在票证上记录一张票据,售票的作者收到一封电子邮件。 似乎是一个定位的自定义令牌要找到机票作者的电子邮件在任何一种情况下都很有用。是正确的方法吗?如果是...

0  安装模块的问题  ( Problem installing a module ) 
当我尝试启用模块时,我得到 /users/12 在moduleename.install我有 /users/13 module_cron()肯定在moduleename.module文件中定义。什么可能导致这个问题,我怎么能修复它? ...

1  在hook_boot jquery中未定义  ( In hook boot jquery is undefined ) 
我在 hook_boot 中做了一些处理,因为我需要在每个页面上运行该代码,而不管他们是否被缓存。 结果,当我将内联JavaScript添加到页面时,jQuery是未定义的。 function hook_boot() { drupal_add_js("jQuery('document').ready(func...

4  以编程方式从字段API检索数据  ( Retrieve data from field api programmatically ) 
我有一个名为phone_number的自定义字段。我需要从数据库中检索其中的数据并使用它来调用其他函数。我看过Field API,我找不到特定的功能。我在字段中的某个地方附上API,大多数函数都需要$实体作为变量,但没有任何功能给我我需要的东西。请帮忙。 ...

2  在使用数据库抽象层时,我应该在哪些情况下个人消毒输入和输出  ( In what cases should i personally sanitize input output when using the databas ) 
我正在尝试更清晰地了解我网站上的安全漏洞。在我的代码中没有任何点,我曾直接查询MySQL数据库;我始终使用数据库抽象层(db_query()等)。在什么情况下可能这不提供足够的防止SQL注入攻击的保护? 我正在使用drupal 7。 ...

6  如何延长或“钩”杜拉努尔表格Ajax?  ( How to extend or hook drupal form ajax ) 
我正在使用标准管理表单,其中一个字段中的 'add_more' 按钮。 我的任务是将某些字段移动到jQuery UI对话框以获得可用性。关闭对话框时,我手动附加它的内容以形成,因此它正常发送。 当某些表单部件在对话框中发送某些核心Ajax时,出现问题(即 99887662 标记之外,因为jQuery UI对话框中...

1  Drupal 7 JS压缩生成6个文件  ( Drupal 7 js compression generating 6 files ) 
我正在使用drupal_add_js和drupal_add_library将一些js添加到我的网站上。但是当我打开Drupal JS压缩时,Drupal正在聚合文件,但它会生成6个文件,yslow会说它是太多文件。有没有办法迫使Drupal聚合更多文件?如果Drupal 7每页只生成2或3个文件,那就太棒了。 ...




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


Licensed under cc by-sa 3.0 with attribution required.