Você terá que modificar a linha que gera os links então:
echo "<li><a href='" . BASE_URL . "/index.php?id=$pageID'>$pageTitle</a></li>";
Você pode adicionar o título como separado e não usado
&title= parâmetro, que é um bom hack para evitar ter que modificar qualquer outra coisa:echo "<li><a href='" . BASE_URL . "/index.php?id=$pageID&title=$pageTitle'>$pageTitle</a></li>";
Ou gere
123+title links:echo "<li><a href='" . BASE_URL . "/index.php?id=$pageID+$pageTitle'>$pageTitle</a></li>";
Isso exigiria adaptar o código real do dispatcher "cms", porque ele precisa separar o id e o título do parâmetro $_GET.
Ou até mesmo substituir todo o
index.php?id= apenas com o título:echo "<li><a href='" . BASE_URL . "/$pageTitle'>$pageTitle</a></li>";
O que, por sua vez, exigiria a implantação de um
.htaccess regra (algo como roteamento de URL htaccess para PHP MVC? ). E você teria que modificar o index.php script novamente para procurar o id de title . O que novamente só funcionaria se os títulos em seu banco de dados fossem todos exclusivos. P.S.:Na verdade, você também deve usar
urlencode($pageTitle) . E htmlspecialchars() no $pageTitle que se torna o texto do link.