【问题标题】:Count page visits in Bolt CMS在 Bolt CMS 中计算页面访问次数
【发布时间】:2018-02-09 10:59:37
【问题描述】:

我需要统计 Bolt CMS 中的网页访问次数以对网页进行评级。类似于 StackOverflow 中的内容:

我的内容类型为pages,字段为visits。我知道我需要在页面模板中添加一些代码,但我不明白如何增加当前record 的字段visits。可以通过twig吗?

或者我必须在模板中添加一些自定义查询?但我不知道该怎么做。

如果有任何建议,我将不胜感激。

【问题讨论】:

    标签: twig bolt-cms


    【解决方案1】:

    好的,有一种快速但可能不正确的方法可以做到这一点,在您的树枝模板中,您可以增加并保存访问值:

    {% record.setValue('visits', record.visits +1 ) %} {% app.storage.saveContent(record) %}

    如果您正在处理一个简单的项目,这会很好,但它确实会在您网站的每个网页浏览中强制执行数据库查询(包括来自机器人/自动化脚本等),因此它对于生产媒体来说并不是真正的理想选择/高流量网站。

    如果您想以更强大的方式解决它,那么使用 Async JS 跟踪器的 Google Analytics 方法可能会更好,或者您甚至可以使用 Google Analytics API 根据 Google 记录的综合浏览量定期更新您的访问.

    【讨论】:

    • 非常感谢!这就是我需要的!它只是用于排序,所以我不需要复杂的检查。但我得到一些错误。当我将您的代码粘贴到我的模板中时,我收到错误 Unknown "record" tagUnknown "app" tag。问题出在哪里?
    【解决方案2】:

    我猜还有一点。堆栈溢出还会检查访问过的唯一人员。但是对于一个基本的解决方案,我会在数据库中创建一个带有简单 int 字段的表。并将其设置为 0。(对于每一页)

    然后创建一个 PHP 文件,你会得到这个。

    $pagid (Get url)
    $result = mysql_query('Select count from counter WHERE pageid=$pagid');
    $newcount = $result['count'] + 1;
    
    mysql_query('UPDATE counter SET count=$newcount');
    

    然后只需将其包含在每个页面中,并测试当您刷新页面时计数器是否上升。 (我在上面的代码字段中声明的是需要发生的事情的一般纲要,所以你需要稍微调整一下)

    当你得到这个工作时,你可以去尝试添加一些检查器,如果访问者是唯一的等等。但这本身就是一个问题。

    如果您可以使用 PHP,则添加 PHP 标签、sessions 标签和 sql 标签,其他人可能会给您比我在这里做的更好的解释。

    另外,您需要使用 PHP 或其他脚本执行此操作的原因是因为 twig 模板化的“PHP”不允许您修改数据库数据。它只允许您获取它。

    希望我的一些解释是有道理的,希望这可以帮助您解决问题!

    【讨论】:

    • 感谢您的回复。我了解如何组织页面浏览量计数器。但我不太明白如何在 Bolt CMS 上执行此操作。在 PHP 上执行此操作对我来说不是问题,但我无法弄清楚如何从 twig 模板调用我的 PHP 脚本。 Bolt CMS 需要我正在搜索的解决方案 - 这是很重要的一点。
    • 你需要为它找到或创建扩展
    猜你喜欢
    • 2018-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 2017-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多