使用SPIP,我正在尝试拥有一个系统,它将每天选择一篇随机文章。我需要存储当天的文章有两个主要原因:
- 确保每个人都有相同的文章
- 避免在另一天再次选择同一篇文章
为了能够存储所选项目,我创建了一个通用表:
CREATE TABLE IF NOT EXISTS `spip_random` (
`id_random` bigint(21) NOT NULL AUTO_INCREMENT,
`object` varchar(25) NOT NULL,
`id_object` bigint(21) NOT NULL DEFAULT '0',
`type` text NOT NULL,
`date_picked` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id_random`),
KEY `object` (`object`,`id_object`),
KEY `id_random` (`id_random`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
这是一堆可以存储的行:
(1, 'article', 54, 'article_of_the_day', '2014-11-29 00:03:54')
(2, 'article', 198, 'article_of_the_day', '2014-11-30 09:32:03')
(3, 'article', 113, 'article_of_the_day', '2014-12-01 14:11:04')
(4, 'article', 3, 'article_of_the_day', '2014-12-02 11:52:28')
选择当天文章的脚本运行良好。
现在,当我尝试在 SPIP 循环中检索这篇文章时,我遇到了一个问题。我正在考虑使用这种循环:
<BOUCLE_day(ARTICLES spip_random) {par date_picked} {inverse} {0,1}>
#ID_ARTICLE
</BOUCLE_day>
如 SPIP 文档(EN / FR)中所述,连接应该在 和 之间完成spip_articles
,spip_random
因为我有这两个字段:
object
id_object
但是什么都没有返回。
如果我尝试这个简单的循环,它会显示正确的#ID_OBJECT
:
<BOUCLE_day(spip_random) {par date_picked} {inverse} {0,1}>
#ID_OBJECT
</BOUCLE_day>
我根本无法加入我的自定义表 ( spip_random
) 和ARTICLES
( spip_articles
)。我错过了什么吗?