如何通过SQL查询从Visualforce页面获取KnowledgeArticleViewStat数据?

时间:2012-06-19 13:35:05

标签: salesforce apex-code visualforce

我正在尝试在我的页面上显示有关知识文章的信息。我要展示的其中一件事是最受欢迎的文章统计数据。

我有一个如下所示的Visualforce Apex组件:

<apex:component controller="Component_Query" access="global">
  <apex:attribute name="QueryString" type="String" required="true" access="global" assignTo="{!queryString}"
    description="A valid SOQL query in string form." />

    <apex:variable value="{!results}" var="results"/>
    <apex:componentBody />
</apex:component>

我有一个如下所示的Visualforce页面:

<apex:page >
    <table id="articles">
        <knowledge:articleList articleVar="article" sortBy="mostViewed" pageSize="5">
        <tr>
            <td>{!article.articlenumber}</td>
            <td><a target="_parent" href="{!URLFOR($Action.KnowledgeArticle.View, article.id)}">{!article.title}</a></td>
            <td>{!article.articletypelabel}</td>
            <td>{!article.lastpublisheddate}</td>
            <td>
                <c:Query_component queryString="SELECT NormalizedScore FROM KnowledgeArticleViewStat WHERE ParentId = '{!article.id}'">
                <apex:repeat value="{!results}" var="result">
                </apex:repeat>
                </c:Query_component>
            </td>
        </tr>
        </knowledge:articleList>
    </table>
</apex:page>

我将Visualforce页面放入选项卡中。当我查看页面时,除了有关最常查看的统计信息的信息外,所有有关知识文章的信息都会显示出来。我怎么看这个统计数据?

2 个答案:

答案 0 :(得分:1)

您忘记为视图统计信息添加输出。您必须在重复内添加<apex:outputText>标记以显示值。

<apex:outputText>{!result.NormalizedScore}</apex:outputText>

答案 1 :(得分:0)

这是我最终在Visualforce页面中使用的内容:

    <c:Query_component queryString="SELECT NormalizedScore, Id, ParentId FROM KnowledgeArticleViewStat WHERE Channel='Csp'">
        <apex:variable value="{!results[articleid]}" var="result"/>
            <span class="inlinesparkline">100, {!result}</span>
    </c:Query_component>