Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JViewLegacy
+ Graphe d'héritage de JViewLegacy:
+ Graphe de collaboration de JViewLegacy:

Liste de tous les membres

Fonctions membres publiques

 __construct ($config=array())
 display ($tpl=null)
 assign ()
 assignRef ($key, &$val)
 escape ($var)
 get ($property, $default=null)
 getModel ($name=null)
 getLayout ()
 getLayoutTemplate ()
 getName ()
 setModel ($model, $default=false)
 setLayout ($layout)
 setLayoutExt ($value)
 setEscape ($spec)
 addTemplatePath ($path)
 addHelperPath ($path)
 loadTemplate ($tpl=null)
 loadHelper ($hlp=null)
 getForm ()
- Fonctions membres publiques inherited from JObject
 __toString ()
 def ($property, $default=null)
 getProperties ($public=true)
 getError ($i=null, $toString=true)
 getErrors ()
 set ($property, $value=null)
 setProperties ($properties)
 setError ($error)

Fonctions membres protégées

 _setPath ($type, $path)
 _addPath ($type, $path)
 _createFileName ($type, $parts=array())

Attributs protégés

 $_name = null
 $_models = array()
 $_basePath = null
 $_defaultModel = null
 $_layout = 'default'
 $_layoutExt = 'php'
 $_layoutTemplate = '_'
 $_path = array('template' => array(), 'helper' => array())
 $_template = null
 $_output = null
 $_escape = 'htmlspecialchars'
 $_charset = 'UTF-8'
- Attributs protégés inherited from JObject
 $_errors = array()

Description détaillée

Définition à la ligne 21 du fichier legacy.php.


Documentation des constructeurs et destructeur

JViewLegacy::__construct (   $config = array())

Constructor

Paramètres:
array$configA named configuration array for object construction.
name: the name (optional) of the view (defaults to the view class name suffix).
charset: the character set to use for display
escape: the name (optional) of the function to use for escaping strings
base_path: the parent path (optional) of the views directory (defaults to the component folder)
template_plath: the path (optional) of the layout directory (defaults to base_path + /views/ + view name
helper_path: the path (optional) of the helper files (defaults to base_path + /helpers/)
layout: the layout (optional) to use to display the view
Depuis:
12.2

Réimplémentée à partir de JObject.

Définition à la ligne 122 du fichier legacy.php.

Références JLog\add(), JUri\base(), et JLog\WARNING.

{
// Set the view name
if (empty($this->_name))
{
if (array_key_exists('name', $config))
{
$this->_name = $config['name'];
}
else
{
$this->_name = $this->getName();
}
}
// Set the charset (used by the variable escaping functions)
if (array_key_exists('charset', $config))
{
JLog::add('Setting a custom charset for escaping is deprecated. Override JViewLegacy::escape() instead.', JLog::WARNING, 'deprecated');
$this->_charset = $config['charset'];
}
// User-defined escaping callback
if (array_key_exists('escape', $config))
{
$this->setEscape($config['escape']);
}
// Set a base path for use by the view
if (array_key_exists('base_path', $config))
{
$this->_basePath = $config['base_path'];
}
else
{
$this->_basePath = JPATH_COMPONENT;
}
// Set the default template search path
if (array_key_exists('template_path', $config))
{
// User-defined dirs
$this->_setPath('template', $config['template_path']);
}
elseif (is_dir(JPATH_COMPONENT . '/view'))
{
$this->_setPath('template', $this->_basePath . '/view/' . $this->getName() . '/tmpl');
}
else
{
$this->_setPath('template', $this->_basePath . '/views/' . $this->getName() . '/tmpl');
}
// Set the default helper search path
if (array_key_exists('helper_path', $config))
{
// User-defined dirs
$this->_setPath('helper', $config['helper_path']);
}
else
{
$this->_setPath('helper', $this->_basePath . '/helpers');
}
// Set the layout
if (array_key_exists('layout', $config))
{
$this->setLayout($config['layout']);
}
else
{
$this->setLayout('default');
}
$this->baseurl = JUri::base(true);
}

+ Voici le graphe d'appel pour cette fonction :


Documentation des fonctions membres

JViewLegacy::_addPath (   $type,
  $path 
)
protected

Adds to the search path for templates and resources.

Paramètres:
string$typeThe type of path to add.
mixed$pathThe directory or stream, or an array of either, to search.
Renvoie:
void
Depuis:
12.2

Définition à la ligne 751 du fichier legacy.php.

{
// Just force to array
settype($path, 'array');
// Loop through the path directories
foreach ($path as $dir)
{
// No surrounding spaces allowed!
$dir = trim($dir);
// Add trailing separators as needed
if (substr($dir, -1) != DIRECTORY_SEPARATOR)
{
// Directory
$dir .= DIRECTORY_SEPARATOR;
}
// Add to the top of the search dirs
array_unshift($this->_path[$type], $dir);
}
}
JViewLegacy::_createFileName (   $type,
  $parts = array() 
)
protected

Create the filename for a resource

Paramètres:
string$typeThe resource type to create the filename for
array$partsAn associative array of filename information
Renvoie:
string The filename
Depuis:
12.2

Définition à la ligne 784 du fichier legacy.php.

{
switch ($type)
{
case 'template':
$filename = strtolower($parts['name']) . '.' . $this->_layoutExt;
break;
default:
$filename = strtolower($parts['name']) . '.php';
break;
}
return $filename;
}
JViewLegacy::_setPath (   $type,
  $path 
)
protected

Sets an entire array of search paths for templates or resources.

Paramètres:
string$typeThe type of path to set, typically 'template'.
mixed$pathThe new search path, or an array of search paths. If null or false, resets to the current directory only.
Renvoie:
void
Depuis:
12.2

Définition à la ligne 715 du fichier legacy.php.

Références JFactory\getApplication().

{
$component = JApplicationHelper::getComponentName();
// Clear out the prior search dirs
$this->_path[$type] = array();
// Actually add the user-specified directories
$this->_addPath($type, $path);
// Always add the fallback directories as last resort
switch (strtolower($type))
{
case 'template':
// Set the alternative template search dir
if (isset($app))
{
$component = preg_replace('/[^A-Z0-9_\.-]/i', '', $component);
$fallback = JPATH_THEMES . '/' . $app->getTemplate() . '/html/' . $component . '/' . $this->getName();
$this->_addPath('template', $fallback);
}
break;
}
}

+ Voici le graphe d'appel pour cette fonction :

JViewLegacy::addHelperPath (   $path)

Adds to the stack of helper script paths in LIFO order.

Paramètres:
mixed$pathA directory path or an array of paths.
Renvoie:
void
Depuis:
12.2

Définition à la ligne 592 du fichier legacy.php.

{
$this->_addPath('helper', $path);
}
JViewLegacy::addTemplatePath (   $path)

Adds to the stack of view script paths in LIFO order.

Paramètres:
mixed$pathA directory path or an array of paths.
Renvoie:
void
Depuis:
12.2

Définition à la ligne 578 du fichier legacy.php.

{
$this->_addPath('template', $path);
}
JViewLegacy::assign ( )

Assigns variables to the view script via differing strategies.

This method is overloaded; you can assign all the properties of an object, an associative array, or a single value by name.

You are not allowed to set variables that begin with an underscore; these are either private properties for JView or private variables within the template script itself.

$view = new JView;

// Assign directly $view->var1 = 'something'; $view->var2 = 'else';

// Assign by name and value $view->assign('var1', 'something'); $view->assign('var2', 'else');

// Assign by assoc-array $ary = array('var1' => 'something', 'var2' => 'else'); $view->assign($obj);

// Assign by object $obj = new stdClass; $obj->var1 = 'something'; $obj->var2 = 'else'; $view->assign($obj);

Renvoie:
boolean True on success, false on failure.
Obsolète:
13.3 Use native PHP syntax.

Définition à la ligne 257 du fichier legacy.php.

Références JLog\add(), et JLog\WARNING.

{
JLog::add(__METHOD__ . ' is deprecated. Use native PHP syntax.', JLog::WARNING, 'deprecated');
// Get the arguments; there may be 1 or 2.
$arg0 = @func_get_arg(0);
$arg1 = @func_get_arg(1);
// Assign by object
if (is_object($arg0))
{
// Assign public properties
foreach (get_object_vars($arg0) as $key => $val)
{
if (substr($key, 0, 1) != '_')
{
$this->$key = $val;
}
}
return true;
}
// Assign by associative array
if (is_array($arg0))
{
foreach ($arg0 as $key => $val)
{
if (substr($key, 0, 1) != '_')
{
$this->$key = $val;
}
}
return true;
}
// Assign by string name and mixed value.
// We use array_key_exists() instead of isset() because isset()
// fails if the value is set to null.
if (is_string($arg0) && substr($arg0, 0, 1) != '_' && func_num_args() > 1)
{
$this->$arg0 = $arg1;
return true;
}
// $arg0 was not object, array, or string.
return false;
}

+ Voici le graphe d'appel pour cette fonction :

JViewLegacy::assignRef (   $key,
$val 
)

Assign variable for the view (by reference).

You are not allowed to set variables that begin with an underscore; these are either private properties for JView or private variables within the template script itself.

$view = new JView;

// Assign by name and value $view->assignRef('var1', $ref);

// Assign directly $view->ref =

Paramètres:
string$keyThe name for the reference in the view.
mixed&$valThe referenced variable.
Renvoie:
boolean True on success, false on failure.
Depuis:
12.2
Obsolète:
13.3 Use native PHP syntax.

Définition à la ligne 331 du fichier legacy.php.

Références JLog\add(), et JLog\WARNING.

{
JLog::add(__METHOD__ . ' is deprecated. Use native PHP syntax.', JLog::WARNING, 'deprecated');
if (is_string($key) && substr($key, 0, 1) != '_')
{
$this->$key = &$val;
return true;
}
return false;
}

+ Voici le graphe d'appel pour cette fonction :

JViewLegacy::display (   $tpl = null)

Execute and display a template script.

Paramètres:
string$tplThe name of the template file to parse; automatically searches through the template paths.
Renvoie:
mixed A string if successful, otherwise a Error object.
Voir également:
JViewLegacy::loadTemplate()
Depuis:
12.2

Réimplémentée dans JViewCategory, JViewCategories, et JViewCategoryfeed.

Définition à la ligne 209 du fichier legacy.php.

{
$result = $this->loadTemplate($tpl);
if ($result instanceof Exception)
{
return $result;
}
echo $result;
}
JViewLegacy::escape (   $var)

Escapes a value for output in a view script.

If escaping mechanism is either htmlspecialchars or htmlentities, uses $_encoding setting.

Paramètres:
mixed$varThe output to escape.
Renvoie:
mixed The escaped value.
Depuis:
12.2

Définition à la ligne 356 du fichier legacy.php.

{
if (in_array($this->_escape, array('htmlspecialchars', 'htmlentities')))
{
return call_user_func($this->_escape, $var, ENT_COMPAT, $this->_charset);
}
return call_user_func($this->_escape, $var);
}
JViewLegacy::get (   $property,
  $default = null 
)

Method to get data from a registered model or a property of the view

Paramètres:
string$propertyThe name of the method to call on the model or the property to get
string$defaultThe name of the model to reference or the default value [optional]
Renvoie:
mixed The return value of the method
Depuis:
12.2

Réimplémentée à partir de JObject.

Définition à la ligne 376 du fichier legacy.php.

{
// If $model is null we use the default model
if (is_null($default))
{
}
else
{
$model = strtolower($default);
}
// First check to make sure the model requested exists
if (isset($this->_models[$model]))
{
// Model exists, let's build the method name
$method = 'get' . ucfirst($property);
// Does the method exist?
if (method_exists($this->_models[$model], $method))
{
// The method exists, let's call it and return what we get
$result = $this->_models[$model]->$method();
return $result;
}
}
// Degrade to JObject::get
$result = parent::get($property, $default);
return $result;
}
JViewLegacy::getForm ( )

Returns the form object

Renvoie:
mixed A JForm object on success, false on failure
Depuis:
3.2

Définition à la ligne 806 du fichier legacy.php.

{
if (!is_object($this->form))
{
$this->form = $this->get('Form');
}
return $this->form;
}
JViewLegacy::getLayout ( )

Get the layout.

Renvoie:
string The layout name

Définition à la ligne 433 du fichier legacy.php.

{
}
JViewLegacy::getLayoutTemplate ( )

Get the layout template.

Renvoie:
string The layout template name

Définition à la ligne 443 du fichier legacy.php.

JViewLegacy::getModel (   $name = null)

Method to get the model object

Paramètres:
string$nameThe name of the model (optional)
Renvoie:
mixed JModelLegacy object
Depuis:
12.2

Définition à la ligne 419 du fichier legacy.php.

{
if ($name === null)
{
}
return $this->_models[strtolower($name)];
}
JViewLegacy::getName ( )

Method to get the view name

The model name by default parsed using the classname, or it can be set by passing a $config['name'] in the class constructor

Renvoie:
string The name of the model
Depuis:
12.2
Exceptions:
Exception

Définition à la ligne 459 du fichier legacy.php.

Références JText\_().

{
if (empty($this->_name))
{
$classname = get_class($this);
$viewpos = strpos($classname, 'View');
if ($viewpos === false)
{
throw new Exception(JText::_('JLIB_APPLICATION_ERROR_VIEW_GET_NAME'), 500);
}
$this->_name = strtolower(substr($classname, $viewpos + 4));
}
return $this->_name;
}

+ Voici le graphe d'appel pour cette fonction :

JViewLegacy::loadHelper (   $hlp = null)

Load a helper file

Paramètres:
string$hlpThe name of the helper source file automatically searches the helper paths and compiles as needed.
Renvoie:
void
Depuis:
12.2

Définition à la ligne 689 du fichier legacy.php.

Références JPath\find(), et jimport().

{
// Clean the file name
$file = preg_replace('/[^A-Z0-9_\.-]/i', '', $hlp);
// Load the template script
jimport('joomla.filesystem.path');
$helper = JPath::find($this->_path['helper'], $this->_createFileName('helper', array('name' => $file)));
if ($helper != false)
{
// Include the requested template filename in the local scope
include_once $helper;
}
}

+ Voici le graphe d'appel pour cette fonction :

JViewLegacy::loadTemplate (   $tpl = null)

Load a template file – first look in the templates folder for an override

Paramètres:
string$tplThe name of the template source file; automatically searches the template paths and compiles as needed.
Renvoie:
string The output of the the template script.
Depuis:
12.2
Exceptions:
Exception

Définition à la ligne 607 du fichier legacy.php.

Références JPath\find(), JFactory\getApplication(), JFactory\getLanguage(), jimport(), et JText\sprintf().

{
// Clear prior output
$this->_output = null;
$template = JFactory::getApplication()->getTemplate();
$layout = $this->getLayout();
$layoutTemplate = $this->getLayoutTemplate();
// Create the template file name based on the layout
$file = isset($tpl) ? $layout . '_' . $tpl : $layout;
// Clean the file name
$file = preg_replace('/[^A-Z0-9_\.-]/i', '', $file);
$tpl = isset($tpl) ? preg_replace('/[^A-Z0-9_\.-]/i', '', $tpl) : $tpl;
// Load the language file for the template
$lang->load('tpl_' . $template, JPATH_BASE, null, false, false)
|| $lang->load('tpl_' . $template, JPATH_THEMES . "/$template", null, false, false)
|| $lang->load('tpl_' . $template, JPATH_BASE, $lang->getDefault(), false, false)
|| $lang->load('tpl_' . $template, JPATH_THEMES . "/$template", $lang->getDefault(), false, false);
// Change the template folder if alternative layout is in different template
if (isset($layoutTemplate) && $layoutTemplate != '_' && $layoutTemplate != $template)
{
$this->_path['template'] = str_replace($template, $layoutTemplate, $this->_path['template']);
}
// Load the template script
jimport('joomla.filesystem.path');
$filetofind = $this->_createFileName('template', array('name' => $file));
$this->_template = JPath::find($this->_path['template'], $filetofind);
// If alternate layout can't be found, fall back to default layout
if ($this->_template == false)
{
$filetofind = $this->_createFileName('', array('name' => 'default' . (isset($tpl) ? '_' . $tpl : $tpl)));
$this->_template = JPath::find($this->_path['template'], $filetofind);
}
if ($this->_template != false)
{
// Unset so as not to introduce into template scope
unset($tpl);
unset($file);
// Never allow a 'this' property
if (isset($this->this))
{
unset($this->this);
}
// Start capturing output into a buffer
ob_start();
// Include the requested template filename in the local scope
// (this will execute the view logic).
// Done with the requested template; get the buffer and
// clear it.
$this->_output = ob_get_contents();
ob_end_clean();
}
else
{
throw new Exception(JText::sprintf('JLIB_APPLICATION_ERROR_LAYOUTFILE_NOT_FOUND', $file), 500);
}
}

+ Voici le graphe d'appel pour cette fonction :

JViewLegacy::setEscape (   $spec)

Sets the _escape() callback.

Paramètres:
mixed$specThe callback for _escape() to use.
Renvoie:
void
Depuis:
12.2
Obsolète:
13.3 Override JViewLegacy::escape() instead.

Définition à la ligne 562 du fichier legacy.php.

Références JLog\add(), et JLog\WARNING.

{
JLog::add(__METHOD__ . ' is deprecated. Override JViewLegacy::escape() instead.', JLog::WARNING, 'deprecated');
$this->_escape = $spec;
}

+ Voici le graphe d'appel pour cette fonction :

JViewLegacy::setLayout (   $layout)

Sets the layout name to use

Paramètres:
string$layoutThe layout name or a string in format <template>:<layout file>="">
Renvoie:
string Previous value.
Depuis:
12.2

Définition à la ligne 512 du fichier legacy.php.

{
$previous = $this->_layout;
if (strpos($layout, ':') === false)
{
$this->_layout = $layout;
}
else
{
// Convert parameter to array based on :
$temp = explode(':', $layout);
$this->_layout = $temp[1];
// Set layout template
$this->_layoutTemplate = $temp[0];
}
return $previous;
}
JViewLegacy::setLayoutExt (   $value)

Allows a different extension for the layout files to be used

Paramètres:
string$valueThe extension.
Renvoie:
string Previous value
Depuis:
12.2

Définition à la ligne 541 du fichier legacy.php.

{
$previous = $this->_layoutExt;
if ($value = preg_replace('#[^A-Za-z0-9]#', '', trim($value)))
{
$this->_layoutExt = $value;
}
return $previous;
}
JViewLegacy::setModel (   $model,
  $default = false 
)

Method to add a model to the view. We support a multiple model single view system by which models are referenced by classname. A caveat to the classname referencing is that any classname prepended by JModel will be referenced by the name without JModel, eg. JModelCategory is just Category.

Paramètres:
JModelLegacy$modelThe model to add to the view.
boolean$defaultIs this the default model?
Renvoie:
object The added model.
Depuis:
12.2

Définition à la ligne 491 du fichier legacy.php.

{
$name = strtolower($model->getName());
$this->_models[$name] = $model;
if ($default)
{
$this->_defaultModel = $name;
}
return $model;
}

Documentation des données membres

JViewLegacy::$_basePath = null
protected

Définition à la ligne 42 du fichier legacy.php.

JViewLegacy::$_charset = 'UTF-8'
protected

Définition à la ligne 106 du fichier legacy.php.

JViewLegacy::$_defaultModel = null
protected

Définition à la ligne 49 du fichier legacy.php.

JViewLegacy::$_escape = 'htmlspecialchars'
protected

Définition à la ligne 99 du fichier legacy.php.

JViewLegacy::$_layout = 'default'
protected

Définition à la ligne 56 du fichier legacy.php.

JViewLegacy::$_layoutExt = 'php'
protected

Définition à la ligne 63 du fichier legacy.php.

JViewLegacy::$_layoutTemplate = '_'
protected

Définition à la ligne 70 du fichier legacy.php.

JViewLegacy::$_models = array()
protected

Définition à la ligne 35 du fichier legacy.php.

JViewLegacy::$_name = null
protected

Définition à la ligne 28 du fichier legacy.php.

JViewLegacy::$_output = null
protected

Définition à la ligne 91 du fichier legacy.php.

JViewLegacy::$_path = array('template' => array(), 'helper' => array())
protected

Définition à la ligne 77 du fichier legacy.php.

JViewLegacy::$_template = null
protected

Définition à la ligne 84 du fichier legacy.php.


La documentation de cette classe a été générée à partir du fichier suivant :