Как запустить задачу администратора в Joomla с заданием cron? - PullRequest
6 голосов
/ 18 июля 2011

Я написал пользовательский компонент в Joomla!который извлекает контент из XML-канала и сохраняет его в базе данных Joomla.Я хочу, чтобы URL администратора (/ administrator / index? Option = com_mycomp) запускался через cron один раз каждую ночь для запуска компонента.Я не могу понять, как заставить это работать, так как компонент является задачей администратора, и вы должны войти в систему, чтобы запустить его.

Как я могу получить это?Я попытался включить моего пользователя / pw в URL (http: admin: password@www.mysite.com/joomla/administrator ....), но это не работает.Есть ли другой способ отправить учетные данные для входа или другой способ сделать это?

Ответы [ 3 ]

3 голосов
/ 21 августа 2012

Я знаю, что этот поток очень старый, но вот как я справился с подобной задачей.

"Хитрость" заключается в том, чтобы взять созданный вами нестандартный код PHP и встроить его в статью в вашем Joomla.веб-сайт.

Я сделал это с помощью расширения JUMI, которое позволяет сохранять собственный код PHP в репозитории Joomla и при необходимости встраивать его в статью.

Затем создайте CRONзадача, которая активирует соответствующий URL для страницы, содержащей код, который вы хотите запустить.

2 голосов
/ 24 ноября 2011

Просто поместите ваш скрипт в директорию администратора компонента, как

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

Вот как FeedGator обрабатывает задачи cron [Звучит очень похоже на то, что вы пытаетесь сделать.] ... вы также можете написать контроллер внешнего интерфейса в вашем компоненте для каждого комментария

========== [Обновить] ============

Я создал этот сверхпростой устанавливаемый компонент , который также можно использовать для этой цели. Это позволяет назначить пункт меню внешнего интерфейса на страницу php (включая предложенный маршрут). Итак, вы:

  1. установить компонент
  2. создать новый пункт меню, (может захотеть использовать «скрытое» меню ), выбрать опцию просмотра «show» и ввести скрипт для запуска через cron в «file to include», например path / yourcron .php
  3. вызовите «страницу» в вашем cron или тесте, используя: yourjoomlasite.com/index.php?option=com_show или yourjoomlasite.com/your-menu-alias
1 голос
/ 11 июля 2013

В основном кукурузные URL работают из внешнего интерфейса, даже если ваш компонент имеет дело с администратором только в Joomla.Так что, какой бы код вы ни вводили в cron администратора, он попадает во внешний интерфейс, и ваш cronurl становится похожим на index.php? Option = com_yourcomponent & task = cronjob.Используйте этот URL для установки cron с помощью cPanel.

Однако этому решению не нужно видеть, зарегистрирован ли администратор или нет.

...