Projects/kde.org/Capacity HOWTO: Difference between revisions

From KDE TechBase
No edit summary
 
(38 intermediate revisions by 14 users not shown)
Line 1: Line 1:
__TOC__
{{ Moved To Community | KDE.org/Capacity HOWTO}}
 
==Introduction==
 
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:
 
  <?php
    $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:
 
  <?php
    // 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:
 
  $site_root
  $document_root
  $url_root
  $current_relativeurl
 
* <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 http://127.0.0.1:8080/sites/www, 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 http://127.0.0.1:8080/sites/www/whatiskde/manifest.php 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";
 
* Don't show edit function on the page. The default is $showedit = true;. This setting should normally not be used. site.inc is the preferred place.
 
  $showedit = false;

Latest revision as of 17:48, 11 March 2016

This page is now on the community wiki.