libs/
directory. When copying in unix, remember to add option -r
to go into the internals/
and plugins/
directories within libs/
. With those files saved somewhere, your PHP has to find one file in particular-Smarty.class.php
(they also seem to be quite strict about the capital "S" in "Smarty"). That file needs to be referenced with an absolute path. This can be done a number of ways, look them up at Smarty's documentation. One cool way I've found so far is this:
// Use the absolute path for Smarty.class.php
$base_path= basename(dirname(__FILE__));
require($base_path.'/Smarty/Smarty.class.php');
Of course this assumes that you're writing this in a file which is in the document root of your webserver, and that the Smarty files are located further down in the folder
Smarty/
. The require_once
is similar to PHP's include statement apart from it will result in an error if it can't find the file (include
will just try and not care if it can't) and the _once
part ensures there's no errors if you accidentally try to require it again.Within that
Smarty
directory, make four folders: templates
, templates_c
, cache
and configs
. Link these files up with your code with
$smarty = new Smarty();
$smarty->template_dir = $base_path.'Smarty/templates';
$smarty->compile_dir = $base_path.'Smarty/templates_c';
$smarty->cache_dir = $base_path.'Smarty/cache';
$smarty->config_dir = $base_path.'Smarty/configs';
Put this immediately after the
required_once
statement. Then start making templates and go.
1 comment:
Yep they do insist to use a capital S, this is because the whole of unix is CASE SENSATIVE unlike windows.
Post a Comment