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

时间:2012-03-16 17:52:19

标签: php jquery expressionengine

我想做点什么

$('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 / performance-results'}可以工作,但我需要它依赖于last_segment变量。我只想渲染一个特定的模板,这样我就不必在过滤结果集时刷新整个页面。感谢。

2 个答案:

答案 0 :(得分:0)

我没有测试过,但试一试:

 $('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});
            });

答案 1 :(得分:0)

您不能混用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中使用路径调用?