Extension:SmartyAdaptor

From MediaWiki.org
Jump to: navigation, search
MediaWiki extensions manual - list
Crystal Clear action run.png
SmartyAdaptor

Release status: beta

Description Provides integration with Smarty Template Engine by providing a hook to other extensions.
Author(s) Jean-Lou Dupont
Last version 2.1.0
MediaWiki 1.11, 1.12
License No license specified
Download SVN
See SVN ($Id: SmartyAdaptor.doc.wikitext 989 2008-04-07 13:35:38Z jeanlou.dupont $)
Check usage and version matrix

Contents

Purpose [edit]

Provides integration with Smarty Template Engine by providing a hook to other extensions.

Features [edit]

  • Hook based for easy integration
    • hook smarty: used when template resource is located through the filesystem
    • hook smarty_direct: used to pass template source directly
  • Debug information available on Special:Version

Configuration Notes [edit]

Two directories must be accessible and writable by PHP / WEB Server:

  • $IP/smarty/cache
  • $IP/smarty/compile

Where $IP is the global PHP variable denoting MediaWiki's installation path. E.g. /var/www/html/wiki

On Linux, one must use, as example,

chown apache cache

to make the directory writable for the owner apache.

Hook smarty [edit]

Other extensions use Extension:SmartyAdaptor for their templating needs through the hook smarty.

Calling Method [edit]

wfRunHooks( 'smarty', array( $name, $tpl_path, $params, &$result ) );
  • $name: name of template; only useful when other extensions want to insert themselves in the chain
  • $tpl_path: absolute path to the template file
  • $params: array of parameters. E.g. array( 'var1' => 'value1' ... )
  • $result: result

Hook smarty_direct [edit]

Other extensions use Extension:SmartyAdaptor for their templating needs through the hook smarty_direct.

Calling Method [edit]

wfRunHooks( 'smarty_direct', array( $name, $tpl_source, $params, &$result ) );
  • $name: name of template; only useful when other extensions want to insert themselves in the chain
  • $tpl_source: template source
  • $params: array of parameters. E.g. array( 'var1' => 'value1' ... )
  • $result: result


Dependencies [edit]

SmartyAdaptor-2.1.0 with Smarty > 2.4.2 [edit]

Adaptor extension won't work unless you install Smarty into

SmartyAdaptor-2.1.0/Smarty

name smarty installation directory just "Smarty" - i.e - without version suffix.

Also smarty has moved location of main class (and maybe other things) to Smarty/libs directory so SmartyAdaptor-2.1.0 won't work "out of the box"



Installation [edit]

See the Mediawiki Extension table entry "download" above.[1]

LocalSettings.php [edit]

Extension:ExtensionManager: See footnote[2]

require_once( "$IP/extensions/SmartyAdaptor/SmartyAdaptor.php" );
  • Since this Extensions is depending on StubManager, add the line after the StubManager include, or else your Wiki won't work.

PEAR [edit]

PEAR is a repository of PHP software code.

pear channel-discover mediawiki.googlecode.com/svn
  • Install extension through PEAR:
pear install mediawiki/SmartyAdaptor
  • Add the following to LocalSettings.php[2][3]:
require 'MediaWiki/SmartyAdaptor/SmartyAdaptor.php';
  • Note that the required version of PEAR must be respected. Currently, the minimum version of PEAR usable with this channel is v1.6.2. Perform the following command to upgrade to the latest version of PEAR:
pear upgrade pear

Upgrades through PEAR [edit]

Sometimes, it is necessary to clear PEAR's cache in order to perform upgrades.

pear clear-cache

or use the force method:

pear upgrade --force mediawiki/SmartyAdaptor

PEAR Web Frontend [edit]

For easier remote package management, PEAR Frontend WEB can be installed. Installation notes can be found here. An example of the WEB frontend is available here.

RSS feed [edit]

To keep up-to-date with this channel, use the following RSS feed__Rss2.jpg.

Notes [edit]

Other Extensions From the same author [edit]

Consult User Jldupont's page.


  1. The most recent release is always available through the extension's PEAR and SVN repositories. This page is not necessarily up-to-date.
  2. 2.0 2.1 2.2 Extension:ExtensionManager does not require any modification to LocalSettings.php because ExtensionManager includes the extension.
    Note that if PHP code caching is in place (e.g. APC, eAccelerator), then to successfully complete the installation a cache flush might be needed.
  3. Modifications to LocalSettings.php is only necessary if not using Extension:ExtensionManager

See Also [edit]

History [edit]

Release Notes
2.0.0 Fully redesigned version
2.1.0 Added hook smarty_direct for passing the template source directly