Ciao a tutti, è da tanto che non aprivo un topic, e sinceramente me lo sarei risparmiato volentieri (non per voi, ma perché evidentemente ho un problema serio).
Mi sono imbattuto in uno dei bug più ostici di joomla, almeno da quello che ho letto in giro, e dopo tanto affannarmi credo di essermi messo sulla strada giusta.
Premessa:
sul sito si possono registrare gli utenti e possono creare una propria pagina personale, alla quale hanno accesso solo da
front-end. (sottolineo da front-end perché è importante per distinguere dal comune errore di backend)
Sintomi:
L'utente modifica la sua pagina, usa jce con un profilo creato appositamente per il front-end, insomma redige il suo articolo, salva, e gli compare il simpatico messaggio:
"Errore. Non puoi utilizzare questo link per accedere direttamente alla pagina (#ID articolo)"
che fa riferimento alla stringa JLIB_APPLICATION_ERROR_UNHELD_ID
tutte le soluzioni proposte nel forum italiano e in joomla.org non sono state utili al mio caso, anche perché facevano appunto riferimento, per la maggior parte, al backend.
Sembra che il problema sia nell'MVC, in particolare alcune soluzioni proponevano modifiche e patch ai file
libraries/joomla/application/component/controllerform.php
e
administrator/components/com_content/controller.php
per analogia ho provato ad applicare la patch proposta da
https://github.com/elinw/joomla-cms/compare/unheldidanche su components/com_content/controller.php (per analogia sul front-end, che è la parte che mi interessava), ma senza successo.
Dopo alcuni sbattimenti credo di aver trovato l'origine del problema, anche se non la soluzione.
Il problema si presenta infatti con i paramtri SEF URL abilitati, mentre se disabilito le SEF URL il salvataggio della pagina avviene correttamente.
Per maggiori informazioni dico che non faccio uso della cache e che utilizzo un modulo di redirect che dopo il login indirizza verso una pagina dove voglio siano indirizzati gli utenti (altrimenti indirizzati verso il proprio profilo). Non so se può essere utile alla soluzione, ma quando sono sulla pagina da modificare la mia URL (con i parametri SEF abilitati) risulta essere questa:
edit/31-altro/456-test-test.html?c_id=456:test-test&return=aHR0cDovL2V0aW5vbWlhLm9yZy9jb21wb25lbnQvY29udGFjdGVuaGFuY2VkL2NvbnRhY3QvMzEtYWx0cm8vNDU2LXRlc3QtdGVzdC5odG1s&view=edit
che mi sembra una stringa un po' strana.
Disabilitando le SEF url il problema non si presenta, ma ovviamente non è una soluzione accettabile. Inoltre pare che questo bug sul controller sia piuttosto diffuso e ce lo portiamo dietro da un bel po' di tempo, tanto da presentarsi anche con joomla 3
spero che qualcuno più esperto possa suggerirmi qualcosa, scusate se sono stato lungo.
A presto!