Warning The update from 2.34 will cause an error during the process. Just refresh the current page in your browser to finish the update. It will not break anything.
Also, if your widgets have suddenly disappeared, install the following plugin (manual installation): blogrollLinkStatus, then once the installation is complete, return to the dashboard home page. You should then see a notification that the blogroll plugin has been updated. You may then uninstall the blogrollLinkStatus plugin.
Remember to clear the template cache (Maintenance plugin) once the updates have been made.
As a reminder, if you need help, a Matrix salon is ready to welcome you: https://matrix.to/#/#dotclear:matrix.org
A new version of your favorite blogging software is now available, featuring:
- A new way to modify themes (see below for detailed explanations).
- A suggestion to reset the URL of the entry you are editing if you change its publication date (only if the entry has not already been published).
- The addition of an option to immediately publish a comment recognized as non-spam even if comments are moderated a priori.
- Some optimizations (plugin updates, media library display, etc.).
- Addition of a header to prevent your content from being indexed by AI (no guarantee, however, that they will respect this setting).
- The management of dark/light themes in the backend has been revised.
- Addition of a field in the donation panel on the dashboard to record the date of your last donation to Dotclear, by the way... :-).
- Addition of a page that provides a list of all installed (and active) plugins with their respective settings links.
- Removal of an unnecessary step at the end of the update (you will see this in the next update).
Details are described in the CHANGELOG file provided with the version.
Theme Adaptations
This version brings a significant change to theme management.
Starting with this version, modifications made via the theme editor will be stored in a specific directory associated with the current blog and the selected theme1.
Advantages:
- No need to worry about whether you can update a theme, which, as I said, completely overwrites the previous one, including modifications.
- Return of the "modification" function, which becomes an override rather than a modification, for themes natively delivered with Dotclear.
Disadvantages:
- Older themes will no longer be editable with the theme editor and will remain frozen in their current state.
- Themes that can now be modified will have to be adapted as described below.
To summarize, more freedom with the new themes provided or adapted, and old themes will continue to work as before.
The following is for theme developers or experienced people who would like to take charge of this.
For others, you can skip the rest.
Now, what should I do to adapt a theme for Dotclear 2.35?
First, add a line to the _define.php
file. Taking the Berlin theme as an example, its _define.php
file is now as follows (I've intentionally omitted the comments):
<?php
$this->registerModule(
'Berlin', // Name
'Dotclear 2.7+ default theme', // Description
'Dotclear Team', // Author
'2.0', // Version
[ // Properties
'type' => 'theme',
'tplset' => 'dotty',
'overload' => true,
]
);
The new line is the one containing overload' => true,
. This line allows you to modify (override) your theme's files.
Additionally, if you use the url(...)
function in your style sheet(s), using a path to a file (image, font, other style sheet, etc.), you will need to modify the parameter by preceding it with index.php?tf=
.
Two examples:
.header {
background-image: url(images/header.jpg);
}
Will become:
.header {
background-image: url(index.php?tf=images/header.jpg);
}
Another example (this one uses quotes, which are optional):
@import url(‘layout.css’);
Will become:
@import url(‘index.php?tf=layout.css’);
Note that the form index.php?tf=
refers to the theme's "root folder" and that you can use paths relative to this "base," as in the first example.
Finally, on the rendering side, priority is given, for the provision of files, to what is located in the override folder, then in the theme's folder, then, if one is defined, in the theme's parent folder, and finally in the template set associated with the theme.
Simply put: override > theme > parent theme > template set.
If you override one of the PHP files in the theme's src
directory, be sure to also override the Frontend.php
file, even without modifying it; it will be necessary for proper operation.
Regarding template files, the {{tpl:BlogThemeURL}}
and {{tpl:BlogParentThemeURL}}
tags will now use the index.php?tf=
format for adapted themes instead of a direct URL as before.
-
These overrides will be stored in the var directory under the themes/blog_id/theme_id tree, with blog_id replaced by the blog ID and theme_id by the ID of the theme selected for this blog. ↩