问题描述
|
切换主题时,我发现有些奇怪的地方。在花环中,我可以看到“视图”和“编辑面板”标签按钮;但是当我切换回自定义主题时,它消失了。
我已经有了选项卡行:
<?PHP if ($tabs): print \'<ul class=\"tabs primary\">\'. $tabs .\'</ul></div>\'; endif; ?>
但是它只是没有出现。这是为什么?
这是page.tpl.PHP的一些代码:
<div class=\"main-container\">
<div class=\"mcontent\">
<div id=\"content-header\">
<?PHP if ($mission): print \'<div id=\"mission\">\'. $mission .\'</div>\'; endif; ?>
<?PHP if ($tabs): print \'<div id=\"tabs-wrapper\" class=\"clear-block\">\'; endif; ?>
<?PHP if ($title): print \'<h2\'. ($tabs ? \' class=\"with-tabs\"\' : \'\') .\'>\'. $title .\'</h2>\'; endif; ?>
<?PHP if ($tabs): print \'<ul class=\"tabs primary\">\'. $tabs .\'</ul></div>\'; endif; ?>
<?PHP if ($tabs2): print \'<ul class=\"tabs secondary\">\'. $tabs2 .\'</ul>\'; endif; ?>
<?PHP if ($show_messages && $messages): print $messages; endif; ?>
<?PHP print $help; ?>
</div> <!-- /#content-header -->
<?PHP print $content; ?>
</div>
</div>
解决方法
到目前为止,我已经在许多自定义主题中使用了该代码,而没有任何问题。
在没有看到站点/您的代码的情况下很难知道,但是有两种可能:
清除缓存(性能>清除站点缓存)
确保$ tabs变量位于
page.tpl.php
中,而不是node.tpl.php
中。
可能是其他情况(但如果其他主题正在工作,则可能不会):
您的用户无权使用该输入格式(PHP代码,完整HTML等)
该会话无法正常工作,或者您在这些页面上被注销了(当然,例如,如果显示管理菜单,您会立即看到此消息。我已经看到这种情况发生在某些设置中,虽然)
通常,代码位于错误的位置,被隐藏/模糊(通过CSS /页面格式设置)或该人无权查看。
如果以上方法均无效,则可能要重建权限(在Drupal 6中,“内容管理”>“帖子设置”>“重建权限”),或尝试启用现有权限来查看这是否是罪魁祸首。
, 我雇了一个人解决此问题,这是完成的操作:
<?php
/**
* Override of theme_menu_local_tasks().
* Add argument to allow primary/secondary local tasks to be printed
* separately. Use theme_links() markup to consolidate.
*/
function kidstoria_menu_local_tasks($type = \'\') {
if (module_exists(\'ctools\')) {
if ($primary = ctools_menu_primary_local_tasks()) {
$primary = $primary;
}
if ($secondary = ctools_menu_secondary_local_tasks()) {
$secondary = $secondary;
}
}
else
{
if ($primary = menu_primary_local_tasks()) {
$primary = $primary;
}
if ($secondary = menu_secondary_local_tasks()) {
$secondary = $secondary;
}
}
switch ($type) {
case \'primary\':
return $primary;
case \'secondary\':
return $secondary;
default:
return $primary . $secondary;
}
}