Simple Website Framework

Footer Columns

Monday April 20th, 2026

Written by Scary le Poo

The site footer is made up of a configurable number of columns, each driven by a Markdown content file. This makes footer content as easy to edit as any other page.


Setting the Number of Columns

In config/config.php, set how many columns you want:

$numberFooterColumns = 3;

The framework will look for files named footer1.html, footer2.html, footer3.html (and so on) inside pages/footer/. If a file is missing, that column will display an error message rather than silently disappearing.


Creating Footer Files

Each footer file is a standard page content file placed in pages/footer/. The filename must follow the footer[n].html pattern exactly.

Minimal example (pages/footer/footer1.html):

<!-- sectiontitle: About Us -->

We're a small team building simple tools for the web.

[Contact us](/contact)

The files support full Markdown and all shortcodes. They do not use the standard page metadata block (pagetitle, pagelayout, etc.) — only the sectiontitle comment is recognised.


The sectiontitle Comment

Each footer file can optionally define a section title using an HTML comment on the first line:

<!-- sectiontitle: My Section Title -->

This title is rendered inside a above the column content. If the comment is not present, the framework falls back to a generic label like Section 1.


How Footer Rendering Works

The required/footercolumns.php file handles footer rendering. It loops from 1 to $numberFooterColumns, reads each file, extracts the sectiontitle, passes the content through from_markdown(), and outputs each column inside a

inside a
.

This is included from the theme's footer.php:

<?php include 'required/footercolumns.php'; ?>

If you are building a custom theme and want footer columns, keep this include in your footer.php.

Simple Website Framework

A lean, flat-file PHP framework with no database, no bloat, and no black boxes. Build something clean and keep control of every part of it.

Contribute on GitHub

Found a bug? Have an idea? The project is open source and contributions are welcome. Find it on GitHub.

Documentation

This site is the living documentation for the framework. Every feature is demonstrated in the place it's meant to be used. Start with the introduction or dive straight into the setup guide.