We have begun a v8->v9 theme upgrade guide here. This includes some of the main questions and stumbling blocks we have encountered or seen folks encountering in the community. Please have a look, bookmark it for your reference as you’re working on your themes and add-ons, and most importantly,
if you have any other things you think would be helpful to add go ahead and post them as a reply to this thread! Thanks!
Access new Instances through the app container:
$app->make('helper/mesch/user', ['ui' => $ui]); or
Support for the
tools route has been removed:
01:16PM - 07 Aug 20 UTC
04:38PM - 19 Oct 20 UTC
We're removing tools support from concrete5 version 9. Tools were a very old way
… of handling backend scripts like AJAX endpoints, etc... and things like dialogs/panels before we had the routing/controller system. You could just go to `index.php/tools/required/foobar` and that would just load the script located at concrete/tools/foobar.php`. Tools would also work with subdirectories so `index.php/tools/required/foo/bar` would load the content at `concrete/tools/foo/bar.php`.
To finish this task, you'll need to take all tools scripts located here:
and do the following for EACH tool script.
1. Search the core for any usage of the script. Some of these scripts may have already been migrated, but the original code was left behind. If there is no usage of the tool script in the core, delete it and proceed to the next tool. If the script is indeed in use, proceed with the next step.
1. Create new routes for these tools. They'll have to be created specifically and registered in our routing system. Put them in either `routes/misc.php` or in an appropriately named routes file.
2. Make sure these routes are registered in `SystemRouteList`. If the file they're being added to already existed, they should be.
3. Create backend controllers for relevant portions of these routes.
4. If there is a frontend aspect to this tool, make sure that there is a front-end view in the `concrete/views` directory for it.
5. Make sure that all code in the core is updated to point to the new `ccm/system/` URL for this endpoint instead of the old `index.php/tools/required` endpoint.
Requiring core assets the old way like:
$this->requireAsset('core/sitemap'); will create a log entry, that the asset can not be found.
The new way is to implement the related feature interfaces.
I can not add more than 3 messages, without an answer of someone else. Therefor my last message comes here:
Using the tab helper like:
$app->make('helper/concrete/ui')->tabs(); needs following adjustments:
the container with the tab contents needs an additional CSS class
the tab contents need the additional CSS class
tab-pane and the additional attribute
role="tabpanel", the active tab needs the additional CSS class
the item IDs in the initial
$helper->tabs() call need to be prefixed with
ccm-tab-content- (e.g. old:
If you need to make these changes backward compatible with c5-8:
Add the prefixes only on c5-9 (3rd point)
All other changes do not interfer with c5-8
@1stthomas! I will add these in.
All right I have added those in and gave you a shout out and a badge - thanks!