如何使用cron作业在joomla中运行管理任务?

时间:2011-07-18 15:01:12

标签: joomla cron

我在Joomla中编写了一个自定义组件!从XML提要中提取内容并将其存储在Joomla数据库中。我希望管理URL(/ administrator / index?option = com_mycomp)每晚通过cron运行一次以运行组件。但是,我无法弄清楚如何使这项工作,因为该组件是一个管理员任务,你必须登录才能运行它。

我如何得到这个?我尝试将我的用户/ pw包含在网址中(http:admin:password@www.mysite.com/joomla/administrator ....)但它不起作用。有没有其他方式发送登录凭据,或任何其他方式来做到这一点?

3 个答案:

答案 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页面(包括建议的路径)。所以你:

  1. 安装组件
  2. 创建新菜单项,(可能想要使用'hidden' menu)选择'show'视图选项并输入脚本以通过cron运行'file to include'like path / yourcron.php
  3. 使用以下命令调用您的cron或测试中的'page':yourjoomlasite.com/index.php?option=com_show或yourjoomlasite.com/your-menu-alias

答案 2 :(得分:1)

即使您的组件仅在Joomla中与管理员打交道,大多数玉米网站也会从前端运行。 所以无论你在admin cron中的代码是什么,都要把它带到前端和前端。这样你的cronurl就像index.php?option = com_yourcomponent& task = cronjob。 使用此URL可以使用cPanel设置cron。

但是,此解决方案无需查看是否记录了管理员。