在ExpressionEngine路径标记中包含javascript变量


Including javascript variable in ExpressionEngine path tag

我想做一些类似的事情

$('a.filter-link').click(function(e) {
            e.preventDefault();
            var that = $(this), 
                categoryId = that.data('id'),
                categoryName = that.data('catname');
            $('div.results').load("{path='ums/performances-results/<I WANT var categoryName here>'}", {category: categoryId, ajax: true});
        });

如何将变量放置在那里?这是在模板页面中内联的,所以我知道{path='ums/performances-results'}有效,但我需要这取决于lastrongegment变量。我只想呈现一个特定的模板,这样在过滤结果集时就不必刷新整个页面。谢谢

您不能将EE标记和JavaScript混合使用。EE代码库的一部分试图识别JavaScript花括号和EE括号之间的区别。有时它会失败,所以我们必须通过单独构建EE位而不是与类似的JS括号混合来帮助它。

以下内容有效吗?

$('a.filter-link').click(function(e) {
            e.preventDefault();
            var that = $(this),
                categoryId = that.data('id'),
                categoryName = that.data('catname');
            var path = "{path='ums/performances-results/'}"+categoryName;
            $('div.results').load(path, {category: categoryId, ajax: true});
});

你有没有试过只放/ums/performance-results/,而不是在EE中使用路径调用?

我还没有测试过,但尝试一下:

 $('a.filter-link').click(function(e) {
                e.preventDefault();
                var that = $(this),
                    categoryId = that.data('id'),
                    categoryName = that.data('catname');
                $('div.results').load("{path='ums/performances-results/'}"+categoryName, {category: categoryId, ajax: true});
            });