Akeeba, Admin Tools, JCE, MediaBox, Sigplus, TDOC FB Display, TDOC Google KML Map, Articles Anywhere.

First of course, one must get the template set up.

There are two main options - the default, basic one which uses the "brand", which gives the opprtunity to enter the Site Title, and the Site Description, and the second option which is turn the "brand" OFF, and create a cutom module in position "below-top" to do what one wants.

These are the steps I have needed:

  • Select the Site Template Styles and set:
    • Set the Template Preview option in Options.
    • Set the [Site] Title and the Tag Line [Site Description].
  • Select Modules, and set the Menu module(s) position(s). Also the layout if required.
  • Select Site Template, and modify "css" as below.

The template Title and Site Description do not shrink as one might expect. One might expect a long title to wrap on a smaller screen.

If one wants to "improve the template" so that it does, then the easy way is to take these steps:

  • In the Site Template Style, advanced settings set Brand to No, thus disabling the Title and the Tag Line.
  • Create a new Custom "Site Module". Set ist position to: "below-top", and enter something similar to the following code where the first line is the title which has a link to the site itself, and the second line which is the description:
  • <div>
    <div><a href="/0a_Empty400/tips-and-tricks/configuring-cassiopeia?amp;view=featured"><span class="fs-2">CEMDC - Construction Engineering Management Document Control</span></a></div>
    <div><span class="fs-4">Performing routine mundane tasks accurately and quickly. Recording What, When, Who, Why</span></div>
    </div>
  • Note the link is to the "home menu" - which emulates Joomla's default.
  • Lastly, if you want to have images with the title & description, then one must use a grid. Inserting an image into the Brand is just not sensible.

These are my notes on the changes that I have made to Cassiopeia at the behest of the people whose web sites I manage, and of course my own. 

First one must create a file to hold the changes. This file shoule be named "user.css" and I note as follows:

  • The file is located in the template's css directory. It may be created manually using file manager or whatever, or
  • From within Joomla 4, System, Site Templates, Cassiopeia Details and Files,
    • click "New File", and the dialog displays
    • enter the name: user, and the type: css, DO NOT Save.
    • click css to select the folder, then Save it.
    • CHECK that it is in the css folder. If it is not delete it and start again.
  • Whilst you are here, the Preview button may be disabled. Used options button and enable Preview Module Positions.

Now for the changes I have made to http://parkdavidson.co.uk/

When doing this you need to know the names of everything. The best way to do this to view the web site in your browser, and right click and select "inspect". there are two panes below the web site, so to find something's [an element's] name proceed as follows:

  • In the left pane, click the horizontal arrow ▶ called a "BLACK RIGHT-POINTING TRIANGLE". It will change to ▼ and you will see more elements. 
  • Select the element in the code ... it will be highlighted.
  • On the right pane you will see everything related to it: for exampe "brand logo" is the web site title

One of the most infuriating things to me is that the Title is also an "href" to the site. So it is underlined. Using the technique above locate the element, and use the css code to remove it. The very best web site is https://www.w3schools.com/cssref/default.asp

Here is the css code to remove the underline. Simply put this in your user.css file and save it. To see it remember to refresh the web site - of course the inspect window may close when this happens. It is a slow process.

/* title remove underline */
.container-header .navbar-brand a{
text-decoration: none;
}

If using the custom module, then

/* title remove underline */
.container-below-top a{
text-decoration: none;
}

It is a good idea to make a comment to say what you are doing or testing. Next is font sizes for title and the tag line.

/* title set large font size */
.container-header .navbar-brand {
font-size: 3rem;
}

/* tag line set font size */
.container-header .site-description{
font-size: 1.7rem;
}

If using the custom module, this is not needed.

This all works fine. Noted that on a mobile, some text is not seen. For PD the text was shortened as follows:

  • Title: Park Davidson & Co
  • Tag: Choir Uniforms for Ladies

The last thing I have wanted to do is to have an image [or two] along with the Title and Description.

This took a bit of doing ! And I expected a grid with "fr sizing" to work ... Once I clicked that the grid item with the title and description when set with fr sizing got it's width from via the "max-content" it became clear that the one need to use minmax for that grid, with the min set to min-content, and the max set to ones max screen width. The following images with the grids set to show explain why.

The html is as follows

<div class="table_td">
<div class="grid_item_td grid_item_bg">&nbsp;</div>
<div class="grid_item_td">&nbsp;</div>
<div class="grid_item_td"><span class="dv_title"><a href="/0a_Empty400/tips-and-tricks/configuring-cassiopeia?amp;view=featured" style="font-family: 'comic sans ms', sans-serif;">&nbsp;Dionne Vallantyne Art&nbsp;</a></span><br /><span class="dv_desc">Unique Scottish Artist</span></div>
<div class="grid_item_td">&nbsp;</div>
<div class="grid_item_td grid_item_bh">&nbsp;</div>
</div>

And the css is as follows:

/* set up grid for header - picleft, space, title & desc, space, picright */
.table_td {
display: grid;
grid-template-columns: 100px 0.01fr minmax(min-content, 1100px) 0.01fr 100px;
}


/* centre text */
.grid_item_td{
text-align: center;
}


/* setup background image */
/* rgtr 07112019 per https://forum.joomla.org/viewtopic.php?f=713&t=975545 */
.grid_item_bg {
/* https://issues.joomla.org/tracker/joomla-cms/38947 */
background: url('../../../../../images/banners/left_image.jpg');
background-repeat:no-repeat;
}
.grid_item_bh {
background: url('../../../../../images/banners/right_image.jpg');
background-repeat:no-repeat;
}.grid_item_bh {
background: url('/0a_Empty400/......jpg');
background-repeat:no-repeat; 
}

Don't forget to set the title and decription stuff as above,

I also needed to make the banner the full width of the site. 
I had three ideas, the auld idea, and two from the web.

The task is to make the banner span the whole width of the web site, rather than show up in the middle. There are two ways to do this by managing an image in a custom module used in the banner position with:

  • the image in the foreground - which works.
  • the image in the background.

It has to be said that with an image positioned centrally in the foreground of the custom module, it shows up fine on smaller screens, but on larger ones it does look a bit odd.

After failing to get the "auld idea" to work as I was unable to get the element right, the one which worked and is far the easiest is based on the the jsfiddle example.

The html required is:

<p><img src="/0a_Empty400/images/patio.jpg" alt="" class="tdoc_bg" /></p>

The css required is:

/* set foreground image to full width */
/* set image class in image editor - advanced */
.tdoc_bg {
width: 100% !important ;
}

The "! important"  is vital to override the width provided by the img [Attributes Style] which is:

  1. width: 860px;
  2. aspect-ratio: auto 860 / 161;
  3. height: 161px;

The height is governed by the aspect-ratio, so the specigfic height setting is ignored.

There is another solution, and that is to make use of Cassiopeia's grid system. See here:
https://forum.joomla.org/viewtopic.php?f=808&t=988134 and scroll down to to where there is a screen shot of a banner.
My thanks to Pavel-ww Joomla! Guru

Once has got the basic configuration sorted out, there are some other things.

First is the background colour of the banner. This is simply sorted by setting the colour of the entirty [.container-header] which holds it using a css statement in the user.css file as follows:

 /* set background colour */
.container-header {
    background-color: white;
    background-image: none;
}

Noted that background-image needs to be set to stop other things happening - like the graded background.

Second is when you have a menu across the top in the menu position. If the menu is quite large, then it needs to wrap itself. Again this is done by a simple css statement as follows:

/* wrap large menu's */
.container-header .mod-menu {
     flex-wrap: wrap;
}

 
In order to stop the menu being shown as a menu, and replace it with the "three horizontal bars" version adjust the settings of the module which holds the menu, under the "Avanced" tab as follows:
  • Under Layout, select "Collapsible Dropdown" from Cassiopeia Template
  • Under Module Class, enter "_menu"

Yup that simple !

 
More tweaks as and when I find what I need ! But this seems to be all at present.