Problem Solving and Version History

Problem Solving and Version History

Problem Solving

Some problems, questions and answers about Frontend Dashboard.


Where are the global areas?

Frontend Dashboard deliberately has no global areas. It is intended to be used as a secondary theme where it has to coexist with the main theme of the site. 

With that in mind, all areas are specific to the pages so any navigation, header or footer content within Frontend Dashboard pages cannot accidentally interfere with that of the main theme pages.

If you really want some global areas, you can add your own page templates edited from the provided templates.

How do I set up help text?

If you add a page attribute with the handle 'help_text', the content of that attribute will be used for the help message. 

Without the attribute, the page description will be used as help text.

Help text is only shown to users with access to the dashboard toolbar, so will never be visible to guest visitors.

In v8 this is help tab to the top-right of the window. In v9+, this is help button to the right of the dashboard toolbar.

In v9+, the core provides a general CMS help panel for all front end pages. Frontend Dashboard help text is by default prepended to the core help. You can change this by editing application/config/generated_overrides/jl_theme_dashboard.php

Options available in v9 are:

  • null/0/false/none - no help
  • start - at start of help panel
  • end - at end of help panel
  • replace/all - replace content of help panel

The default setting for v9 help is 'start'.

What is the difference between v8 and v9 Frontend Dashboard?

Frontend Dashboard takes its styling from the core dashboard theme, so the look of Frontend Dashboard pages is substantially different between v8 and v9.

The other key differences are:

  • The location of the help button.
  • In v9, we have configuration options for how help text works with the core help text.
  • In v9, there is a header area for breadcrumbs. This can be used with an autonav block and the breadcrumb block template.

Block templates provided by Frontend Dashboard will adapt to work with whichever core version is installed.

Site visitors cannot see the help text

Only users with access to the dashboard toolbar can see help text because the help functionality is built into the toolbar, not into the Frontend Dashboard page.

In most cases, this will not matter because the usual use of Frontend Dashboard is to provide guidance and community pages to the administration and editing users. You will have set permissions so that guest visitors cannot see the Frontend Dashboard pages.

If you really need to show Frontend Dashboard pages to guest visitors (a we do in these pages) and you want them to see help text (which we don't show in these pages so as not to mislead), you can implement a help dropdown or slideout using Button Nav.

Site visitors cannot use favorites

Only users with access to the dashboard toolbar can use favorites because the favorites functionality is built into the toolbar, not into the Frontend Dashboard page.

Guest visitors do not have access to the dashboard favorites system.

Is there any sample content?

Frontend Dashboard is not intended as a full site theme. Its main use is for providing supplementary pages for dashboard users. Pages where administrators and editors can communicate amongst themselves.

Hence there is no sample content or content swap.

How do I add customizable styles?

There are no customizable styles in Frontend Dashboard. 

This theme mimics the Concrete CMS dashboard. Supporting style customization would defeat that purpose.

If you really want to customize styles, you can do so using any of:

  • A header extra content attribute.
  • An HTML block (consider using my Safe HTML template).
  • Use a Script Output block to add styles to the header.
  • Use the Theme Styling Tool addon.
  • Site wide in the Tracking Codes dashboard page.

Whatever you do, take care to scope your styles to act within .jl-theme-dashboard or they could bleed out over edit dialogues and other dashboard content.

How do you make a theme work with v8 and v9?

Its difficult and its not really anything important here, but in case you were wondering...

First off, Frontend Dashboard is not your average theme. It doesn't do much in the way of setting its own styles. It does a lot to pull in and work with existing dashboard styles. With that in mind, it has to be different between v8 and v9 - not the same!

To achieve this Frontend Dashboard adopts a number of tricks:

  • In many cases, bootstrap 3 and bootstrap 5 classes and attributes are both added to elements, allowing each to act depending on the core version. This is the main technique within edit dialogs and within block templates.
  • Where it can't be done with CSS selectors and classes, we have some conditional code that either checks for a PHP class existing, or checks for the core version installed.
  • Within such code, classes are often fully referenced where instantiated, rather than with a PHP 'use' at the top of the page, because a 'use' would break the compile check.
  • Within the theme templates, the header and footer elements split between v8 and v9 versions according to a core version check.

Similar tricks have been used throughout my addons and themes to enable dual compatibility between Concrete CMS v9 and v8. The tricks are necessarily more widespread for Frontend Dashboard.

Manually Installing an Addon or Theme

Perhaps you are unable to connect your site directly to the ConcreteCMS marketplace to install an addon or theme. This manual process works for all addons and themes - not just mine.

  1. In your concrete account, find the addon/theme in your Purchase History > Licenses and download. Make sure to scroll down to the most recent version before downloading.
  2. Then copy the zip to your site /packages/ directory and unzip (not /concrete/packages !!!). This is usually easiest using your host cPanel file manager.
  3. In your site, visit the Dashboard > Extend page and the theme package will be ready to install.

The process is exactly the same for addons and themes, except themes have an extra step of activating the theme after installing.

Sometimes step 3 above can run out of PHP execution time. This is most likely when installing an addon or theme that installs a large amount of sample content. You should  not run into such an issue with any of my addons or themes.

If you do run into such issues, you can run the install manually from the shell command line.

If you find yourself needing to install or update many addons or themes manually, consider my Package Magic addon.

Once Package Magic Starter is installed, through the marketplace or manually, all further installs can be handled from the site dashboard using Package Magic.

Whoops on install

What we mean here is an internal code exception in an addon or the core when you click the install button from the Add Functionality dashboard page or when you visit a page after installing an addon package. 

If you experience such an issue, here are a few things you can check that may resolve the problem.

  1. Php Version. Check your php version is compatible with the addon, For example, check if you are running php5.6 when an addon requires php7+. You can find the php version in the report at /dashboard/system/environment/info. As a general guide, if your site is ConcreteCMS version 8+ then aim to run on at least php7.2. (It will run on lower versions, but less efficiently)
  2. Database Entities. ConcreteCMS uses a database abstraction layer called Doctrine. Doctrine works by creating proxy classes that map between php data and the database and sometimes these get out of step or muddled into a chicken and egg dilemma. The dashboard page at /dashboard/system/environment/entities has a switch to control when the proxy classes are regenerated. Try placing this into Development mode when installing an addon package (but remember to disable development mode to speed up a live site)
  3. Cache. ConcreteCMS makes extensive use of a number of different caching mechanisms to speed up web pages. When installing a package, sometimes outdated cached data causes issues with the install. Try disabling all the caches at /dashboard/system/optimization/cache when installing an addon package (but remember to re-enable the caches for a live site).
  4. Theme. Most marketplace themes are well behaved. Nevertheless, sometimes a theme can interfere with an addon package, so try switching the site theme back to Elemental using /dashboard/pages/themes. You won't loose any content on the front of your site, but some page areas may not be shown until you swap back to your theme.
  5. Middleware. Some addons implement middleware layers that manipulate pages before and/or after the main rendering of each page. If such addons are installed, there is a possibly they could interfere with the dashboard and other addon installation. Most such middleware implementations include condition checks to ensure they don't mess with the dashboard, but perhaps you can switch them temporarily off just to be sure.

If you experience a code error on or immediately after install and need assistance, please use the Get Help link from the addon marketplace page to report the problem. On the Whoops report, click the [copy] button immediately below the error message. That will provide a stack trace you can paste into the help request and save time having to request that report later.

Version History

jl_theme_dashboard - v1.9.2

ConcreteCMS Marketplace v1.9.2

1.9.2 - New Primary Theme Info block for inserting information and examples about the site theme such as typography.

1.9.1 - Fix gutter on v9 left/right sidebar templates

1.9.0 - Implement v9 compatibility while maintaining v8 compatibility.

1.0.2 - php7.3/php7.4 compatibility.

1.0.1 - Additional templates Right Sidebar 4, Right Sidebar 5, Three Columns.

1.0 - Initial release.

Last Updated: 6 months ago