我有一个显示其安装页面点击次数的块。
我想在每个页面上显示该块。
我尝试创建stack
,然后将该堆栈包含到全局区域中。问题是当包含堆栈时,它在每个页面上都包含相同的块。
因此,不是在每个页面上都有不同的块,我在每个页面上都有相同的块。这导致计算所有页面上的点击次数,而不是仅计算当前页面的点击次数。
如何在每个页面上添加一个块,但每个页面都有一个独特的ID
,就像手动添加时一样?
感谢。
答案 0 :(得分:1)
如果不手动添加,就无法在每个页面上创建唯一的块。即使你把它设为“页面类型默认值”,你也会得到一个共享块ID,直到你进行第一次编辑(此时它将获得它自己的ID)。如果您硬编码到页面的PHP代码中,它根本就没有块ID。
话虽如此,我不知道为什么你需要一个唯一的块ID。显然,每个页面都有一个唯一的ID。所以你的块应该能够存储点击(我不确定你在这里的确切含义,但它可能无关紧要)与页面ID(c5用语中的集合ID),并且也可以根据它进行检索。
编辑: 考虑到你的评论,并根据我对你要做的事情的理解,没有理由你不能组合块ID(正如你所说,它会在页面之间重复,但在每个块上会有所不同)在页面上)和页面ID。因此,如果您将两个块放在堆栈中,它们将获得ID 1和2.它们将在堆栈所拥有的每个页面上具有ID 1和2。因此,当您尝试“记录”他们产生的任何数据时,您将bID与cID结合起来得到1-103和2-103,以及1-4719等。
编辑2:
因此,如果您的困难不是“键入”数据,而是物理存储数据,请参阅下面的jordanlev的评论。您将不会使用$btTable
表,因为它已键入bID。相反,您将使用db.xml
创建一个新表,该表可以获取您的新密钥,以及您要存储的任何其他数据。然后,您有责任使用Loader::db()
查询和更新它。有关如何管理自己的数据库表的示例,请参阅他的块,或查看核心的“调查”块。