× Please submit new Bug Reports on GitHub: github.com/Jensen-Technologies/component-creator-issues/issues

Fatal error: Cannot declare class - Joomla 3.7

6 jaren 11 maanden geleden #1568 door Carl Willingham
Beantwoord door Carl Willingham in topic Fatal error: Cannot declare class - Joomla 3.7
The OP made an error with the path, it should be:
/administrator/components/com_example

He forgot the components directory

Gelieve Inloggen of een account aanmaken om deel te nemen aan het gesprek.

6 jaren 11 maanden geleden #1569 door Carl Willingham
Beantwoord door Carl Willingham in topic Fatal error: Cannot declare class - Joomla 3.7
If your component is com_example
The path would be: /administrator/components/com_example
There would not be any line of code with ExampleHelpersExample
It would be ExampleHelper

Gelieve Inloggen of een account aanmaken om deel te nemen aan het gesprek.

6 jaren 11 maanden geleden #1570 door George Taylor
Beantwoord door George Taylor in topic Fatal error: Cannot declare class - Joomla 3.7
I started searching and replacing and then realised it was a lot of work.
This might help if you want to avoid RSI.
sudo find ./ -type f -exec sed -i 's/ExampleHelpersExample:/ExampleHelpersExampleAdmin:/g' {} \;

Gelieve Inloggen of een account aanmaken om deel te nemen aan het gesprek.

6 jaren 11 maanden geleden #1571 door Søren Beck Jensen
Beantwoord door Søren Beck Jensen in topic Fatal error: Cannot declare class - Joomla 3.7

Do you have idea if this issue will remain or be fixed in upcoming 3.7.1 for example?

We do not expect Joomla to reverse their change in 3.7.1 so this should be fixed. One thing to note though is that this only affects components that use our front end views.

Any other problems affecting component creator like these mentioned here: www.akeebabackup.com/home/news/1676-joom...and-cli-scripts.html

This issue is not related to the issue with Component Creator.

Can you please tell us which change in Joomla 3.7 caused this and any other compatibility break?

Joomla 3.7 introduced a new check that prevents two classes to have the same name (even though the documentation still says the two should be named the same way)

And should you not rename that file in the view.html.php files

You should do that yes, but it is as you say because you have an old version of a component. We now use the JLoader library to load helpers and no further editing is needed (if you had built your component the last few months).

So, I just want to confirm the search is not recursive right ?

Yes. Recursive. That folder and sub folders.

Søren Beck Jensen
Founder, Component-Creator.com
De volgende gebruiker (s) zei dank u: Gosling Cools

Gelieve Inloggen of een account aanmaken om deel te nemen aan het gesprek.

6 jaren 11 maanden geleden #1572 door nigel
Beantwoord door nigel in topic Fatal error: Cannot declare class - Joomla 3.7
Unfortunately, this doesn't work for me. The front end is now ok, but the backend will not allow me to add, or edit any existing entries in my table. Hitting anything other than 'cancel' results in a blank screen, with no errors.

These are the files that were changed:
helpers/beers3admin.php:class Beers3HelpersBeers3admin
helpers/beers3admin.php:class Beers3Helper extends Beers3HelpersBeers3admin
views/beers/view.html.php: Beers3HelpersBeers3admin::addSubmenu('beers');
views/beers/view.html.php: $canDo = Beers3HelpersBeers3admin::getActions();
views/beer/view.html.php: $canDo = Beers3HelpersBeers3admin::getActions();

Any help gratefully received.

Gelieve Inloggen of een account aanmaken om deel te nemen aan het gesprek.

6 jaren 11 maanden geleden #1574 door George Taylor
Beantwoord door George Taylor in topic Fatal error: Cannot declare class - Joomla 3.7
Nigel,
I couldn't get the back end to work either as Joomla couldn't find the new help file Søren told us to create.
So I added it using an include in the top level file for the components admin.
Edit: administrator/components/com_beers3/beers3.php
and add this line after the defined('_JEXEC') or die;
require_once JPATH_COMPONENT . '/helpers/beers3admin.php';
That worked for me on both components.
De volgende gebruiker (s) zei dank u: Søren Beck Jensen

Gelieve Inloggen of een account aanmaken om deel te nemen aan het gesprek.

Tijd voor maken pagina: 0.137 seconden
Gemaakt door Kunena

We use cookies so that you can place orders and we can provide a better service. You can control the use of cookies at the individual browser level. If you reject cookies, you may still use our website, but your ability to use some features or areas of our website may be limited.