Octobercms组件Twig

时间:2016-07-05 05:40:35

标签: javascript html twig uniqueidentifier octobercms

有人可以告诉我如何为组件设置唯一ID吗? 我只知道我必须将此代码放在我的default.htm

{% set uid = '{{__SELF__.id}}' %}

如何在javascript中使用它?

这是为了什么?

var avatar_{{uid}} = {{ avatar }};

例如这是我的js

$(function(){
    $("#tab-close").click(function() {        
         $("#tab").addClass("hidden");
    });
});

如何为其设置唯一的ID,以便在复制组件时,两者仍能正常工作而不会出错?

1 个答案:

答案 0 :(得分:1)

使用单个标识符封装控件可能更好,例如

<div id="mycontrol{{ __SELF__.id }}">
   ...
</div>

然后在JavaScript中,您可以定位内部元素:

function initTabs(controlEl) {
    var $control = $(controlEl)
    $(".tab-close", $control).click(function() {        
         $(".tab", $control).addClass("hidden");
    });
}

上面的代码定位仅在$control容器内找到的类名。您可以从标记中调用此函数,如此

<script>
    $(function(){
        initTabs('#mycontrol{{ __SELF__.id }}');
    });
</script>