首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未登录时未定义的concrete5 ccm_activateTabBar()

未登录时未定义的concrete5 ccm_activateTabBar()
EN

Stack Overflow用户
提问于 2018-02-14 14:19:26
回答 1查看 97关注 0票数 1

我有一个特定的问题,我用本教程在concrete5 v8中构建了一个带有选项卡的组件:

在concrete5中创建选项卡面板

只要登录到concrete5,只要没有登录,控制台就会出现以下错误,因此无法单击不同的选项卡:

未定义的ReferenceError: ccm_activateTabBar没有在HTMLDocument中定义。(简写:84)在j (jquery.js:2) at Object.fireWith as resolveWith at Function.ready (jquery.js:2) at HTMLDocument.J .J (jquery.js:2)

对第84行这一部分的错误引用:

代码语言:javascript
复制
<script type="text/javascript">$(function() { ccm_activateTabBar($('#ccm-tabs-1077221103'));});</script>

它直接在ul元素之后出现,似乎是由concrete5生成的。

我根本找不到任何相关的东西,我想这与丢失的资产有关,这些资产只有在作为管理员登录时才会加载。

我目前只在未登录时加载以下资产:

代码语言:javascript
复制
$u = new User();
if(!$u->isLoggedIn()) {
  $this->requireAsset('javascript', 'jquery');
  $this->requireAsset('jquery/ui');
}

也许已经有人使用了concrete5选项卡,可以帮助我解决这个错误。

EN

回答 1

Stack Overflow用户

发布于 2018-02-15 08:43:15

由Michele建议,您可能应该使用jquery/ui或引导组件来构建选项卡组件。

但是,如果您发现自己与我所处的情况相同,那么一个非常简单的修复方法就是从

混凝土/js/build/core/app/tpos.js

到主题文件夹,并在用户未登录时将其包括在内。

例如:

代码语言:javascript
复制
<?php
$u = new User();
if(!$u->isLoggedIn()) : ?>
  <script src="<?php echo $view->getThemePath(); ?>/js/c5_tabs/tabs.js"></script>
<?php endif; ?>

tabs.js是相当大的app.js的一部分,所以我只使用tabs.js,它只包含我所缺少的所需的函数。

此信息在MrKDilkington中的学分来自concrete5论坛

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48789390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档