Bueno, viendo que muchos están teniendo problemas cuando hacen el upgrade.php para pasar de v2.2 a v2.3 ya que les aparece un mensaje que el copyright no está en la plantilla, problemas con las tablas, etc... debo aclarar unos tantitos para hacer un theme correctamente:
Primero: Los themes de la versión 2.2
NO son compatibles con la versión 2.3 .
Segundo: Al hacer un theme usar de base el
Theme Default de Spirate v2.3, ya que está más ordenado, más limpio, al igual que los archivos.
Tercero: Siempre verán en las plantillas (templates) variables globales (ejemplo:
global $scripturl, $boardurl, $chatid, $slogan;).
Siempre agregar entre esas variables la variable
$db_prefix de modo que a base del ejemplo dado quede de la siguiente manera:
global $scripturl, $boardurl, $chatid, $slogan, $db_prefix;Siempre y cuando la variable no esté agregada.
Cuarto: Al hacer consultas SQL
nunca usar el prefijo de la tabla directamente (ejemplo:
db_query("SELECT * FROM smf_comentarios", __FILE__, __LINE__);, esto nunca). Para hacer consultas SQL de manera correcta y no perder compatibilidad con diferentes prefijos de base de datos usar la variable
$db_prefix entre corchetes (
{} ), que justamente, para usarlo es obligatorio hacer el paso anterior. Entonces, la consulta nos debería quedar así:
db_query("SELECT * FROM {$db_prefix}comentarios", __FILE__, __LINE__);Notar el cambio importante, esto es
fundamental a la hora de crear un theme.
Quinto: Spirate ya no usa más el sistema de copyright que usaba antes, ahora al momento de colocar el copyright en el lugar correspondiente del theme, el copyright no debe ser "Powered by Spirate & SMF", sino que debe ser una función. Esta función se llama
theme_copyright(), y daré un ejemplo de como hacer para que entiendan mejor:
Esto
NO:
echo '<div>Powered by Spirate & SMF</div>';Al hacer esto estariamos violando y no violando el copyright, ya que el copyright está, pero no de manera correcta. Aparte estaría saltando en la parte inferior de la página un lindo error que la misma no tiene copyright.
Esto
SI:
echo'<div>',theme_copyright(),'</div>';Notar que el texto del copyright fue reemplazado por una función. Este paso es fundamental y
obligatorio.Sexto: Usar variables globales para indicar la ubicación de un archivo, sea imágen o CSS. Ejemplo, en vez de hacer
echo'<img src="Themes/default/images/imagen.gif">';Usar:
echo'<img src="', $settings['default_theme_url'], '/images/imagen.gif">';Dónde:
$settings['theme_url'] = /Themes/TEMA-ACTUAL
$settings['images_url'] = /Themes/TEMA-ACTUAL/images
$settings['default_theme_url'] = /Themes/default
Theme que no cumpla con estos requesitos, será borrado el adjunto hasta que no se rectifique la situación.
Suerte!