2011-07-18 105 views
5

我在Joomla寫了一個自定義組件!它從XML提要中提取內容並將其存儲在Joomla數據庫中。我希望管理員URL(/ administrator/index?option = com_mycomp)每天晚上通過cron運行一次以運行組件。但我無法弄清楚如何使這項工作,因爲該組件是一個管理員任務,你必須登錄才能運行它。如何使用cron作業在joomla中運行管理任務?

我該怎麼辦?我嘗試在URL中包含我的用戶/密碼(http:admin:[email protected]/joomla/administrator ....),但它不起作用。無論如何還有其他方式發送登錄憑證,或以其他方式來執行此操作嗎?

+0

你或者需要編寫一個php scfip來登錄並執行它,或者只需將它作爲一個帶有硬編碼密碼或HTTP_REFERER檢查的前端組件 – jdog

+0

您是否找到解決此問題的解決方案?我也在開發一個組件,每天至少運行一次以便與db同步。你找到解決方法嗎? – 2011-10-10 22:39:46

回答

2

只要把你的腳本組件的管理員目錄像

/administrator/components/com_yourcomponent/cron.yourcomponent.php 

這是怎麼FeedGator處理後臺任務[聽起來非常相似,你想要做的事。] ...你也可以在每一個評論你的組件

========== [更新] ============

寫一個前端控制器我創建this ultra-simple installable component可能也可以用於這個目的。它允許將一個前端菜單項分配給一個php頁面(包括建議的路線)。所以你:

  1. 安裝該組件
  2. 創建新的菜單項,(可能需要使用一個'hidden' menu)選擇「顯示」視圖選項,並輸入腳本通過cron來運行「文件,包括」像路徑/ yourcron.php
  3. 呼叫 '頁' 在cron或測試使用:yourjoomlasite.com/index.php?option=com_show或yourjoomlasite.com/your-menu-alias
3

我知道這線程很舊,但這是我處理類似任務的方式。

「訣竅」是將您創建的自定義PHP代碼嵌入到Joomla網站的文章中。

我通過使用JUMI擴展實現了這一點,該擴展允許自定義PHP代碼存儲在Joomla存儲庫中,並根據需要嵌入到文章中。

然後,創建一個CRON任務,爲包含要運行的代碼的頁面激活適當的URL。

+0

輪到我問這個非常古老的答案了!您能否請告知您用來運行文章的命令。 – Mark

+0

查看我更新的答案,類似於Jumi,但您可以準確定義您想要調用的URL在Joomla中 – idea34

1

即使您的組件僅與Joomla中的管理員打交道,大多數玉米網站仍在前端工作。 因此,無論你在管理員的cron代碼讓它到前端&,讓你的cronurl變得像index.php?option = com_yourcomponent & task = cronjob。 使用此URL來設置使用cPanel的cron。

但是,此解決方案不需要查看admin是否已記錄日誌。