joomla / joomla-cms

Home of the Joomla! Content Management System
https://www.joomla.org
GNU General Public License v2.0
4.78k stars 3.65k forks source link

Error: Call to undefined method Joomla\CMS\Document\XmlDocument::addFavicon(): Couldn not find view [name, type, przedrostek]: article, xml, contentView. #20004

Closed zyzak closed 6 years ago

zyzak commented 6 years ago

Steps to reproduce the issue

In google search console I have over 8000 indexed links for example domainname.pl/index.xml domainname.pl/ayuda.do domainname.pl/careless/Zehy/br.cgi ect...

I do not know why google is indexing this stuppid URLs. I have RSFirewall and can not find anything dangerous by test.

all of this stuppid links giving me error Error: Call to undefined method Joomla\CMS\Document\XmlDocument::addFavicon(): Couldn not find view [name, type, przedrostek]: article, xml, contentView.

Expected result

get error 404 ?

Actual result

Error: Call to undefined method Joomla\CMS\Document\XmlDocument::addFavicon(): Couldn not find view [name, type, przedrostek]: article, xml, contentView.

System information (as much as possible)

System operacyjny Linux sm1.linuxpl.com 4.4.41-grsec #1 SMP Fri Jan 13 01:28:39 CET 2017 x86_64
Typ bazy danych mysql
Wersja bazy danych 5.6.36
Metoda porównywania znaków w bazie danych utf8mb4_general_ci
Metoda porównywania znaków przy połączeniu z bazą danych utf8mb4_general_ci
Wersja PHP 7.1.10
Serwer WWW Apache
PHP działa na cgi-fcgi
Wersja Joomla! Joomla! 3.8.6 Stable [ Amani ] 13-March-2018 14:00 GMT
Wersja Platformy Joomla! Joomla Platform 13.1.0 Stable [ Curiosity ] 24-Apr-2013 00:00 GMT
Klient użytkownika Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36

Additional comments

zyzak commented 6 years ago

If I turn off in the configuration \Add the suffix to the URL\ then is ok.

any ideas?


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/20004.

ggppdk commented 6 years ago

any ideas?

yes report to the author of your Joomla template ... and ask them to fix or if they are no longer updating the template / framework you can try to patch it your self

if you enable Joomla debug and you try to load url e.g. domainname.pl/index.xml

you will see that (quite propably) the call addFavicon() is happening by custom code in your Joomla template that does not check if the current request was for an HTML page

zyzak commented 6 years ago

Hi

I enabled Joomla debug in Global Configuration - System and Debug System is ON I enabled reporting errors to development mode

if I load url domainname.pl/index.xml have no any debug .
Just message Error: Call to undefined method Joomla\CMS\Document\XmlDocument::addFavicon(): View not found [name, type, prefix]: article, xml, contentView

this error is under Helix3 template and template is up to date . I have few websites based on Helix3 but just on this one is the problem.

I checked Protostar and Beez3 template with link domainname.pl/index.xml I have also no debug there, and error message is Error: Call to undefined method Joomla\CMS\Document\XmlDocument::addHeadLink(): View not found [name, type, prefix]: article, xml, contentView - little different error but is giving 404

If i turn set Add Suffix to URL to OFF then everything is working perfect.

and even I disable all modules have still problem

brianteeman commented 6 years ago

Please use the forum for support

brianteeman commented 6 years ago

HTTPS://forum.joomla.org

Or

http://forum.joomla.pl

ggppdk commented 6 years ago

I checked Protostar and Beez3 template with link domainname.pl/index.xml I have also no debug there, and error message is Error: Call to undefined method Joomla\CMS\Document\XmlDocument::addHeadLink(): View not found [name, type, prefix]: article, xml, contentView - little different error but is giving 404

Yes but the above error is a different issue


Regarding error of this issue

... addFavicon()

From a quick search the above will not happen with Protostar and Beez3 templates because they do not call addFavicon() directly, instead the loading of it happens by JDocumentHTML::_loadtemplate,

but several template framework will load their template files with custom code and they will call addFavicon() manually !

and if they do not check the current format is HTML (which means that the JDocument is an JDocumentHTML) then when they call addFavicon() they will get this error because addFavicon() only exists in JDocumentHTML.

This is not a bug that can be fixed in the core unless Joomla starts adding empty methods in classes for the sake of avoiding such errors

zyzak commented 6 years ago

If I turn off website in global configuration and tyr to login on front than link domainname.pl/index.xml redirect to domainname.pl/index.php and do not have errors. Strenge