Advertisement:

Author Topic: [Tutorial SimplePortal] Poner bloque para Páginas [2 formas]  (Read 3069 times)

Offline solounadescarga

  • Semi-Newbie
  • *
  • Posts: 58
[Tutorial SimplePortal] Poner bloque para Páginas [2 formas]
« on: December 27, 2010, 07:46:55 AM »
Para añadir un bloque en el que mostrar las últimas páginas creadas (www.web.com/index.php?page=xxx) se puede de las siguientes maneras:

1º- Creando un bloque PHP e incluyendo este code (modificable a gusto):

Code: [Select]
global $scripturl;

$pages = sportal_get_pages(null, true);

foreach ($pages as $page)
echo '
<li><a href="', $scripturl, '?page=', $page['page_id'], '">', $page['title'], '</a></li>';

2º- Modificando varios archivos y así crear una nueva opción a la hora de crear un bloque:

Primero, abrimos "./Source/PortalBlocks.php" y vamos al final, añadimos:

Code: [Select]
function sp_custompages($parameters, $id, $return_parameters = false)
{
global $scripturl;

$block_parameters = array();

if ($return_parameters)
return $block_parameters;

$pages = sportal_get_pages(null, true);

foreach ($pages as $page)
echo '
<li><a href="', $scripturl, '?page=', $page['page_id'], '">', $page['title'], '</a></li>';
}

Y guardamos.

Después, lo que nos falta es editar la base de datos, para ello usamos "phpMyAdmin", por ejemplo, que se puede encontrar en el panel de su servidor (p.e. zobyhost -> cpanel.zobyhost.com).

Vamos a nuestra base de datos del foro, y ahí buscamos la tabla "smf_sp_functions". Una vez encontrada, pulsamos sobre este botón:

Para añadir una nueva entrada, vamos arriba de la página, y buscamos entre las pestañas "Insertar" y pulsamos.

En esa nueva zona, debemos introducir nuestros valores pero sólo vamos a modificar la columna "Valor". En el primer cuadro (id_function) introducimos un número no usado por las otras funciones (p.e. 40), en el segundo cuadro (function_order) introducimos otro número no usado (p.e. 97, también se puede usar el mismo), y en el último cuadro (name) introducimos el nombre de nuestra función, que es "sp_custompages".

Bueno, pues una vez hecho esto, sólo nos queda dar texto y para ello vamos a "./Themes/default/languages/SPortalAdmin.spanish_es.php" (el archivo del idioma puede no ser el mismo, simplemente abran su idioma) y buscamos:

Code: [Select]
$txt['sp_function_sp_php_label'] = 'PHP personalizado';
Añadimos después:

Code: [Select]
$txt['sp_function_sp_custompages_label'] = 'Páginas';
También buscamos:

Code: [Select]
$txt['sp_function_sp_php_desc'] = 'Un bloque donde puedes poner tu código PHP personalizado.';
Añadimos después:

Code: [Select]
$txt['sp_function_sp_custompages_desc'] = 'Muestra las últimas páginas.';
Aclaraciones:

Si usan un lenguaje diferente, busquen solo la parte de función, es decir:

Code: [Select]
$txt['sp_function_sp_php_label'] y
Code: [Select]
$txt['sp_function_sp_php_desc']
Y con esto termina el minitutorial para crear un nuevo bloque.

Saludos