Drupal面板,“编辑面板”标签丢失了

时间:2011-05-30 20:31:05

标签: php drupal drupal-6 drupal-themes

当我切换主题时,我注意到了一些奇怪的东西。在花环中,我可以看到视图和'编辑面板'标签按钮;但当我切换回我的自定义主题时,它就消失了。

我已经有了标签行:

<?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>

2 个答案:

答案 0 :(得分:1)

到目前为止,我已经在相当多的自定义主题中使用了该代码而没有任何问题。

如果没有看到网站/您的代码,很难知道,但有几种可能性:

  • 清除缓存(效果&gt;清除网站缓存)
  • 确保$ tabs变量位于page.tpl.php,而不是node.tpl.php等。

它可能是其他事情(但如果其他主题正在发挥作用,可能不会):

  • 您的用户无权使用该输入格式(PHP代码,完整HTML等)
  • 会话无效或您在这些页面上已经注销(当然,如果您的管理菜单出现,您会立即看到它。我已经看到它发生在某些设置上,虽然)

通常,代码在错误的位置,它被隐藏/隐藏(通过CSS /页面格式化),或者该人没有查看它的权限。

如果上述方法均无效,您可能需要重建权限(在Drupal 6,内容管理&gt;帖子设置&gt;重建权限),或者启用现有权限以查看是否是罪魁祸首。

答案 1 :(得分:1)

我聘请了某人来解决问题,这是做了什么:

    <?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;
  }
}