2011-07-18 8 views
5

Joomla!でカスタムコンポーネントを書きました! XMLフィードからコンテンツを取得し、Joomlaデータベースに格納します。私は管理URL(/ administrator/index?option = com_mycomp)を毎晩1回cron経由で実行してコンポーネントを実行したいとします。しかし、コンポーネントが管理者のタスクであり、実行するためにはログインする必要があるため、この作業を行う方法を理解できません。joomlaでcronジョブで管理タスクを実行するにはどうすればいいですか?

どうすればこのようになりますか?私はURL(http:admin:[email protected]/joomla/administrator ....)に私のuser/pwを含めてみましたが、うまくいきません。とにかくこれを行うには、ログイン資格情報、または他の方法を送信する他の方法はありますか?

+0

ログインするためにphp scfiptを作成して実行するか、単にハードコードされたパスワードまたはHTTP_REFERERチェックを使用してフロントエンドコンポーネントにする必要があります – jdog

+0

この問題の解決方法を見つけましたか?私はまた、dbと同期するために少なくとも1日1回実行する必要があるコンポーネントを開発しています。回避策を見つけましたか? –

答えて

2

ジャスト[あなたが何をしようとして非常によく似ね。] ...あなたがすることもできます。これは、FeedGatorは、cronタスクを処理する方法である

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

のようなコンポーネントの管理者ディレクトリにスクリプトを置きます私はその可能性this ultra-simple installable componentを作成したコメントの一つ

========== [更新]あたりのコンポーネントにおけるフロントエンドコントローラ============

を書きますこの目的のためにも使用されます。フロントエンドメニュー項目をPHPページに割り当てることができます(提案されたルートを含む)。だから:

  1. のような「を含むために、ファイル」「ショー」ビューオプションを選択して、でcronを経由して実行するスクリプトを入力します('hidden' menuを使用する場合があります)、新しいメニュー項目を作成するコンポーネント
  2. をインストールパス/ yourcron.php
  3. コール使ってのcronまたはテスト中に 'ページ':
3

私はこれを知っているyourjoomlasite.com/index.php?option=com_showかyourjoomlasite.com/your-menu-aliasスレッドは非常に古いですが、ここで私は同様のタスクをどのように処理したのですか。

"トリック"は、作成したカスタムPHPコードを取得し、Joomlaウェブサイト内の記事に埋め込むことです。

私はJUMI拡張を使用してこれを行いました.JUMI拡張を使用すると、カスタムPHPコードをJoomlaリポジトリに格納し、必要に応じて記事内に埋め込むことができます。

次に、実行するコードを含むページの適切なURLをアクティブにするCRONタスクを作成します。

+0

私はこの非常に古い答えについて尋ねます!記事を実行するためにあなたがどのようなコマンドを使用したかを教えてください。 – Mark

+0

Jumiに似た、私の更新された答えを見てください。しかしあなたはあなたが呼びたいURLがJoomlaでどういうものかを正確に定義することができます – idea34

1

あなたのコンポーネントがJoomlaだけの管理者を扱っていても、主にコーンURLはフロントエンドから動作します。 admin cronのあなたのコードはフロントエンド&になるので、あなたのcronurlはindex.php?option = com_yourcomponent & task = cronjobのようになります。 このurlを使用して、cPanelを使用してcronを設定します。

ただし、この解決策では、管理者がログに記録されているかどうかを確認する必要はありません。

関連する問題