ti-enxame.com

Erro: Erro 404 da categoria não encontrado com o costume PHP

Já faz algum tempo que trabalho com o Joomla e agora estou trabalhando com a versão 3.1.5. Costumo criar meus próprios scripts PHP para usar para AJAX e outras coisas. Coloquei-os em uma pasta chamada scripts que não é ' t faz parte da instalação normal do Joomla.

Por isso, tenho que usar algum código de configuração para fazer com que os scripts funcionem bem ao acessá-los no Joomla. Eu uso este código:

define( '_JEXEC', 1 );
define('JPATH_BASE', dirname(dirname(__FILE__)));
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );

/* Create the Application */
$mainframe = JFactory::getApplication('site');

Recentemente, estou tentando chamar esse script para AJAX e estou recebendo o seguinte erro:

404 (Categoria não encontrada)

A única razão pela qual consigo pensar nisso é que o Joomla tem coisas que o usuário não tem privilégios para ler o script por causa de algum motivo relacionado a uma categoria? Não tenho certeza e estou procurando ajuda. Criei categorias para esta instalação do Joomla e não as uso.

3
jeffery_the_wind

Quando você chama scripts independentes PHP para AJAX), você deve verificar como eles vivem no site regular do Joomla!.

Em uma instalação comum do Apache-Joomla, o primeiro .htaccess aplica várias regras para definir restrições de segurança, processamento SEF, etc. Depois disso, o index.php assume o controle, inicializa o CMS, roteia a chamada para o componente certo e, finalmente, gera a saída .

No seu caso, parece O Apache está delegando a chamada para o componente com_content, em vez de chamar o seu script .

2
Anibal

Eu pessoal. No meu caso, eu estava tendo isso porque a 'tarefa' não estava sendo passada para a página. Eu tinha um campo de formulário oculto que tinha

<input type="hidden" name="jform[task]" value="myCustomTask">

ao invés de

<input type="hidden" name="task" value="myCustomTask">

Isso ocorreu principalmente porque eu tinha a tarefa no arquivo XML de um formulário.

0
asiby