I need to put a specific title for each and every page I have on the website. I wonder if I can add a field to the page admin controls. The Title is used by the menu (es. Home, Contact), but I need to put in the title tag something like "The most amazing website you'll surf today -". Is there any extension, or workaround for the task?


Hello Manaus

Do I understand correctly that you want to use a different name for each page? For example the page Home then has the title The best home you've ever been to and the page contact the title The best contact you ever had?

The pages field extension could be a solution for you:

You will need a section called for example page title, containing a field title (text, multilingual if your site has more than one language) and a field page (the extension mentioned). Activate *Make this field checks pages are used only once * – this way you prevent conflicting titles.

Create a datasource page title, let it output just the title and set a filter for the field page {$current-page-id}. This way the datasource will only output the current page's title. You will either need to add it manually to all pages or use the Global Parameter Loader extension to automatically load it.

Now you can set the page title in your xsl like this

<title><xsl:value-of select="/data/page-title/entry/title" /></title>

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details