我在Joomla中编写了一个自定义组件!从XML提要中提取内容并将其存储在Joomla数据库中。我希望管理URL(/ administrator / index?option = com_mycomp)每晚通过cron运行一次以运行组件。但是,我无法弄清楚如何使这项工作,因为该组件是一个管理员任务,你必须登录才能运行它。
我如何得到这个?我尝试将我的用户/ pw包含在网址中(http:admin:password@www.mysite.com/joomla/administrator ....)但它不起作用。有没有其他方式发送登录凭据,或任何其他方式来做到这一点?
答案 0 :(得分:3)
我知道这个帖子已经很老了,但这就是我处理类似任务的方式。
"技巧"是采用您创建的自定义PHP代码,并将其嵌入Joomla网站的文章中。
我是通过使用JUMI扩展来实现的,它允许自定义PHP代码存储在Joomla存储库中,并根据需要嵌入到文章中。
然后,创建一个CRON任务,该任务将激活包含您要运行的代码的页面的相应URL。
答案 1 :(得分:2)
只需将您的脚本放在组件的管理员目录中,如
/administrator/components/com_yourcomponent/cron.yourcomponent.php
这就是FeedGator处理cron任务的方式[听起来和你正在尝试做的非常类似。] ...你也可以在每个评论中在你的组件中编写一个前端控制器
========== [更新] ============
我创建的this ultra-simple installable component也可以用于此目的。它允许将前端菜单项分配给php页面(包括建议的路径)。所以你:
答案 2 :(得分:1)
即使您的组件仅在Joomla中与管理员打交道,大多数玉米网站也会从前端运行。 所以无论你在admin cron中的代码是什么,都要把它带到前端和前端。这样你的cronurl就像index.php?option = com_yourcomponent& task = cronjob。 使用此URL可以使用cPanel设置cron。
但是,此解决方案无需查看是否记录了管理员。