从ExpressionEngine中的Comments获取原始代码

时间:2012-11-12 18:41:31

标签: php jquery sql expressionengine

如何在ExpressionEngine(前端)中获取注释的原始代码?

问题是:如果评论包含代码或HTML,如[quote] -Tags,则ee-native {comment} -Tag会将其呈现为<blockquote>Life is like a box of… ...但是如何获取原始代码,如{ {1}}?

我目前正在为原生EE评论开发一个Quote-Feature(前端/ JavaScript)。到目前为止,我已经使用过jQuery.text()或.html()...但两种方式都没有标记(.text())或html标记(.html())。 有没有办法获取原始注释代码(例如,数据属性或脚本标记)以便以后使用JavaScript?

编辑(1):我尝试过SQL - 这是唯一/最好的方法吗?

[quote]Life is like a box of…

编辑(2): SQL工作正常,但如果原始注释代码中有<blockquote data-raw="{exp:query sql="SELECT exp_comments.comment AS comment_raw FROM exp_comments WHERE exp_comments.comment_id = {comment_id} "}{comment_raw}{/exp:query}"> {comment} </blockquote> ,整个事情就会中断,因为浏览器认为这是结束引用«data-raw» - 属性: - /有没有办法'掩盖'所有字符? (""以及'<等。)

编辑(3):我现在使用> - 标签插入{comment_raw}代码,这样字符就不会打扰。

1 个答案:

答案 0 :(得分:0)

您可能最好通过ajax调用检索原始注释,而不是为页面上的每个注释添加查询。您可以避免性能损失,也不必担心在数据属性中存储大字符串。我可能会做这样的事情:

  • 使用{exp:query}

  • 创建一个包含WHERE comment_id = '{segment_X}'标记的新“get_comment”模板
  • 当用户点击回复/引用按钮时,使用jQuery.get()向您的get_comment模板发送请求,并根据回复按钮上的data-commentid属性传入comment_id。

  • 使用.get()响应更新输入值。