Difference between revisions of "Projects/kde.org/Capacity HOWTO"

(39 intermediate revisions by 14 users not shown)
Line 1: Line 1:
{{ Moved To Community | KDE.org/Capacity HOWTO}}
Capacity is a versatile framework which helps you to construct
your page by focusing on the content. Your pages will be simple
PHP-files which include predefined header and footer. This header/footer
layout the page, you only provide the real content and menu structure.
==Example PHP-file==
Any normal page just contains:
    $page_title = "Page Title";
    include "header.inc";
  Content of the web page
  <?php include "footer.inc"; ?>
==The magic site.inc==
For each subsite, a {{path|site.inc}} in the toplevel directory of this page,
which would be equal to the later documentroot on the server in many
cases, may be created. This include is used by the {{path|header.inc}}, it
should contain some information about your site, like it's name
and the email address of the webmaster, this will be used by header/footer
to setup the page correct.
An example site.inc would be:
    // promote which subdomain we are
    // we are www.kde.org in this case!
    $site = "www";
    // use new style ;) yeah
    $templatepath = "newlayout/";
    // promote title to use
    $site_title = i18n_var("K Desktop Environment");
    // links in the top bar, right
    $menuright = array ('family/'=>'Sitemap',
      'contact/'=>'Contact Us');
Even in the {{path|site.inc}} you can already use the i18n-functions,
which is important to have the names right on translated pages!
==Global Variables setup by header.inc==
The {{path|header.inc}} does some setup of global vars, even before it includes the {{path|site.inc}}, these are:
* <code>$site_root</code> contains the relative path to the toplevel of the current site, like:
  $site_root = "../.."
* <code>$document_root</code> contains the absolut pathname which is the documentroot of this site, even correct if the site isn't in it's own vhost, example:
  $document_root = "/home/www/sites/www"
* <code>$url_root</code> contains the absolute baseurl to the toplevel of your site, if your site would for example have a it's toplevel in, like it is for staging, this would contain
  $url_root = /sites/www
* <code>$current_relativeurl</code> contains the relative part of the current url to the url_root, would you access and /sites/www is the <code>$url_root</code>, it would contain
  $current_relativeurl = whatiskde/manifest.php
'''BE AWARE:''' In former version of the framework it was common to set the <code>$site_root</code> manually before including the {{path|header.inc}}, this won't work now, as the {{path|header.inc}} will overwrite the <code>$site_root</code>. This should cause no danger, as {{path|header.inc}} should find out the right one, but in the long term, all manual definitions should be removed, the global variables {{path|header.inc}} exports should be used to replace the usage of the old <code>$site_root</code>.
The framework is clever, it will never add trailing slashs to the <code>$site_root</code>, <code>$document_root</code> and <code>$url_root</code>, therefor they can and must always be used like:
  $some_url = "$site_root/mycoolpage.php"
==Configuration Variables==
You can set some variables to alter the behaviour of the framework, either global in your site.inc or in front of your header.inc inclusion in each .php-files.
Useful variables are:
* The Name for your whole subdomain/site, best set once in site.inc
  $site_title = "KDE Foo Site Title";
* The title of the individual page.
  $page_title = "Page Title";

Latest revision as of 17:48, 11 March 2016

This page is now on the community wiki.

This page was last edited on 11 March 2016, at 17:48. Content is available under Creative Commons License SA 4.0 unless otherwise noted.