Since I upgraded some sites to version 9.2.4 from 9.0.2, it was noticed that the built-in Calendar block type does not display at all on our public sites (cannot login here) but does on our private sites (whether logged in or not). When I compared the Concrete code between the two versions, I noticed on 9.2.4 the following code was changed in config\app.php:
‘fullcalendar’ => [
[‘javascript’, ‘js/fullcalendar.js’, [‘minify’ => false, ‘combine’ => false]],
[‘css’, ‘css/fullcalendar.css’],
],
In version 9.0.2, it looks like this:
‘fullcalendar’ => [
[‘javascript’, ‘js/fullcalendar.js’],
[‘css’, ‘css/fullcalendar.css’],
],
When I changed the ‘combine’ value to true in version 9.2.4 and cleared the cache, the calendar then appears on the public sites. I don’t feel like that is the correct way to fix this issue. Any ideas on how to fix this properly?
I’m using an older theme that I have tweaked to make work with version 9 and I suspect that may be the true source of the problem. What’s confusing me is why this is an issue on our public sites and not our private sites. In case you’re wondering, the page_theme.php file contains the following lines of code for assets:
public function registerAssets() {
$this->providesAsset('css', 'bootstrap/*');
$this->providesAsset('css', 'blocks/form');
$this->providesAsset('css', 'core/frontend/*');
$this->providesAsset('css', 'font-awesome');
$this->requireAsset('javascript', 'jquery');
$this->requireAsset('javascript', 'bootstrap/tooltip');
$this->requireAsset('css', 'bootstrap/tooltip');
$this->requireAsset('javascript', 'picturefill');
$this->requireAsset('javascript', 'core/lightbox');
$this->requireAsset('core/cms');
$this->requireAsset('javascript', 'fullcalendar.js');
$this->requireAsset('vue');
$this->requireAsset('bootstrap');
$this->requireAsset('moment');
}