Files
smarty/docs/es/appendixes/troubleshooting.xml
2005-11-08 23:37:29 +00:00

180 lines
5.6 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision$ -->
<chapter id="troubleshooting">
<title>Localización de Errores</title>
<para></para>
<sect1 id="smarty.php.errors">
<title>Errores Smarty/PHP</title>
<para>
El Smarty puede obtener muchos errores tales como, atributos de
etiquetas perdidos o nombres de variables mal formadas. Si este
ocurre, Usted vera un error similar al siguiente:
</para>
<example>
<title>Errores de Smarty</title>
<screen>
<![CDATA[
Warning: Smarty: [in index.tpl line 4]: syntax error: unknown tag - '%blah'
in /path/to/smarty/Smarty.class.php on line 1041
Fatal error: Smarty: [in index.tpl line 28]: syntax error: missing section name
in /path/to/smarty/Smarty.class.php on line 1041
]]>
</screen>
</example>
<para>
Smarty te mostra el nombre del template, el número de la linea y
el error. Después de esto, el error consiste en el número de la
linea de la clase Smarty donde ocurrio el error.
</para>
<para>
Existen ciertos errores que el Smarty no puede entender,
tales como un etiqueta de cierre errado. Estos tipos de
erros normalmente termina en una interpretacion de error
del tiempo de compilacion de PHP.
</para>
<example>
<title>Errores de analisis gramatical de PHP</title>
<screen>
<![CDATA[
Parse error: parse error in /path/to/smarty/templates_c/index.tpl.php on line 75
]]>
</screen>
</example>
<para>
Cuando usted encuentra un error de analisis de PHP, el número de la
linea de error corresponde al script PHP compilado, no al template
en si. Normalmente usted puede en el template localizar el error de
sinxis. Algunas cosas que usted puede buscar: falta de cierre de
etiquetas para <link linkend="language.function.if">{if}{/if}}</link>
o <link linkend="language.function.if">{section}{/section}</link>, o
sintaxis de la lógica dentro de una etiqueta {if}. Si usted no encuentra
el error, usted tendra que abrir el archivo PHP compilado y dirigirse al
número de linea mostrado, donde el correspondiente error esta en el template.
</para>
<example>
<title>Otros errores comunes</title>
<itemizedlist>
<listitem>
<screen>
<![CDATA[
Warning: Smarty error: unable to read resource: "index.tpl" in...
or
Warning: Smarty error: unable to read resource: "site.conf" in...
]]>
</screen>
<para>
<itemizedlist>
<listitem>
<para>
El <link linkend="variable.template.dir">$template_dir</link>
no existe o es incorrecto, o
el archivo <filename>index.tpl</filename> no esta en la carpeta
<filename class="directory">templates/</filename>
</para>
</listitem>
<listitem>
<para>
La función <link linkend="language.function.config.load">{config_load}</link>
esta dentro del template (o <link linkend="api.config.load">config_load()</link>
habia sido llamado) y cualquira de los dos
<link linkend="variable.config.dir">$config_dir</link>
es incorrecto, no exista o
<filename>site.conf</filename> no existe en el directorio.
</para>
</listitem>
</itemizedlist>
</para>
</listitem><listitem>
<screen>
<![CDATA[
Fatal error: Smarty error: the $compile_dir 'templates_c' does not exist,
or is not a directory...
]]>
</screen>
<para>
Cualquiera de las dos el
<link linkend="variable.compile.dir">$compile_dir</link>
es asignado incorrectamente, el directorio no existe,
o <filename>templates_c</filename> es un archivo y no un directorio.
</para>
</listitem><listitem>
<screen>
<![CDATA[
Fatal error: Smarty error: unable to write to $compile_dir '....
]]>
</screen>
<para>
El <link linkend="variable.compile.dir">$compile_dir</link>
no puede ser reescrito por el servidor web. Vea a fondo la pagina de permisos del
<link linkend="installing.smarty.basic">instalación de smarty</link>.
</para>
</listitem><listitem>
<screen>
<![CDATA[
Fatal error: Smarty error: the $cache_dir 'cache' does not exist,
or is not a directory. in /..
]]>
</screen>
<para>
Esto significa que
<link linkend="variable.caching">$caching</link> es habilitado y
cualquiera de los dos; el
<link linkend="variable.cache.dir">$cache_dir</link>
es asignado incorrectamente, o el directorio no existe,
o <filename>cache</filename> es un archivo y no un directorio.
</para>
</listitem><listitem>
<screen>
<![CDATA[
Fatal error: Smarty error: unable to write to $cache_dir '/...
]]>
</screen>
<para>
Esto significa que
<link linkend="variable.caching">$caching</link> es habilitado y el
<link linkend="variable.cache.dir">$cache_dir</link>
no puede ser rescrito por el web server. Ver ampliamente la pagina de permisos de
<link linkend="installing.smarty.basic">la instalacion de smarty</link>.
</para>
</listitem>
</itemizedlist>
</example>
<para>
Vea también
<link linkend="chapter.debugging.console">debugging</link>,
<link linkend="variable.error.reporting">$error_reporting</link>
y <link linkend="api.trigger.error">trigger_error()</link>.
</para>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->