Salve a tutti, ho seguito passo passo
questa guida e ho appena creato un plugin che dovrebbe permettere l'elaborazione di chiamate AJAX da parte di un form inserito su client, in modo tale che lato back-end i dati inviati da ciascun utente che ha compilato il form vengano ristrutturati e venga inoltre inviata una email a ciascuno di loro. Il form è scritto in HTML, CSS e Javascript puri, cioè è stato costruito al di fuori del framework Joomla. La mia versione di Joomla è la 3.10.11 .
Ho quindi creato 3 file:
- formplugin.php
- formplugin.xml
- index.html
Poi ho installato il plugin e tutto sembra essere andato a buon fine.
Il contenuto del primo file è il seguente:
<?php
defined('_JEXEC') or die;
use Joomla\CMS\Factory;
use Joomla\CMS\Plugin\CMSPlugin;
jimport('joomla.plugin.plugin');
class plgAjaxFormplugin extends JPlugin {
protected $app;
protected $autoloadLanguage = true;
public function onAjaxFormplugin() {
var_dump("prova");
return "prova";
}
}
?>
Il file "formplugin.xml" è così costruito:
<?xml version="1.0" encoding="utf-8"?>
<extension type="plugin" group="ajax" method="upgrade">
<name>formplugin</name>
<author>Autore</author>
<creationDate>Apr 2023</creationDate>
<license>MIT</license>
<authorEmail>email@email.it</authorEmail>
<authorUrl>www.sitoweb.it</authorUrl>
<version>0.01</version>
<description>FORMPLUGIN_XML_DESCRIPTION</description>
<files>
<filename plugin="formplugin">formplugin.php</filename>
<filename>index.html</filename>
</files>
</extension>
Il file "index.html" contiene soltanto la classica riga:
<!DOCTYPE html><html></html>
Lato client, invece, per il momento mi sono limitata ad effettuare una richiesta HTTP tramite Postman, con il seguente URL:
http://localhost/joomla_3-10/index.php?option=com_ajax&plugin=formplugin&format=rawTutte le richieste sembrano avere successo, mi viene restituito un codice 200. Tuttavia, nonostante io abbia provato vari metodi, non mi viene mai restituita alcuna risposta. E' come se la funzione onAjaxFormplugin non venisse neppure letta.
A cosa potrebbe essere dovuto il problema?