
Hola, este es el primer post que hago, no me seáis muy malos


Bueno, antes de nada, hay que aclarar que estos tutoriales han sido extraído de varios sitios de internet especializados en este CMS

Como hacer una búsqueda por campo personalizado
En Primer lugar, vamos a crear un campo personalizado, en este caso, pondré phpbb.
Primero, vamos a editar archivos.
Abrir: /styles/prosilver/template/memberlist_search.html
Buscar
<dl> <dt><label for="username">{L_USERNAME}:</label></dt> <dd><input type="text" name="username" id="username" value="{USERNAME}" class="inputbox" /></dd> </dl>
Añadir después en una nueva linea
<dl> <dt><label for="phpbb">phpBB:</label></dt> <dd><input type="text" name="phpbb" id="phpbb" value="" class="inputbox" /></dd> </dl>
Abrir: /memberlist.php
Buscar
$search_params = array('username', 'email', 'icq', 'aim', 'yahoo', 'msn', 'jabber', 'search_group_id', 'joined_select', 'active_select', 'count_select', 'joined', 'active', 'count', 'ip');
En Linea
'username',
Añadir Después (en la misma linea)
'phpbb',
Buscar
$username = request_var('username', '', true);
Añadir Despues en una nueva linea
$phpbb = request_var('phpbb', '');
Buscar
$sql_where .= ($username) ? ' AND u.username_clean ' . $db->sql_like_expression(str_replace('*', $db->any_char, utf8_clean_string($username))) : '';
Añadir Despues en una nueva linea
$sql_where .= ($phpbb) ? ' AND fd.pf_phpbb ' . $db->sql_like_expression(str_replace('*', $db->any_char, $phpbb)) . ' ' : '';
Buscar
FROM ' . USERS_TABLE . " u$sql_from
Reemplazar por
FROM (' . USERS_TABLE . " u$sql_from) LEFT JOIN " . PROFILE_FIELDS_DATA_TABLE . " fd ON (u.user_id = fd.user_id)
Buscar
FROM " . USERS_TABLE . " u $sql_from
Reemplazar por
FROM (" . USERS_TABLE . " u $sql_from) LEFT JOIN " . PROFILE_FIELDS_DATA_TABLE . " fd ON (u.user_id = fd.user_id)
Tras ello, limpiar la cache de las plantillas

Añadir enlace en el cabezal del foro (con imagen incluida)
Modificando los archivos:
Abrir: includes/functions.php
Buscar:
'U_RESTORE_PERMISSIONS' => ($user->data['user_perm_from'] && $auth->acl_get('a_switchperm')) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=restore_perm') : '',
Añadir después:
'U_NAME' => append_sid("{$phpbb_root_path}name.$phpEx",
Nota: Para poner un link externo sería
'U_NAME' => 'http://www.name.of.website.com/index.$phpEx',
Abrir: styles/prosilver/theme/bidi.css
Buscar:
.rtl .icon-search
Añadir después (en la misma linea)
, .rtl .icon-name
Abrir: styles/prosilver/theme/buttons.css
Buscar:
.icon-search
Añadir después (en la misma linea)
, .icon-name
Abrir: styles/prosilver/theme/colours.css
Buscar:
.icon-search { background-image: url("{T_THEME_PATH}/images/icon_search.gif"; }
Añadir después:
.icon-name { background-image: url("{T_THEME_PATH}/images/icon_name.gif"; }
Abrir: styles/prosilver/template/overall_header.html
Buscar:
<li class="icon-faq"><a href="{U_FAQ}" title="{L_FAQ_EXPLAIN}">{L_FAQ}</a></li>
Añadir antes:
<li class="icon-name"><a href="{U_NAME}" title="{L_NAME_EXPLAIN}">{L_NAME}</a></li>
Abrir: language/es/common.php
Buscar:
));
?>
Añadir antes:
'NAME' => 'Nombre',
'NAME_EXPLAIN' => 'Ver la página',
Subiendo nuestro icono:
Deberemos subir el icono a styles/prosilver/theme/images con el nombre de la siguiente forma icon_name.gif
Si no tienes ningun icono puedes usar alguno de los ya existentes como por ejemplo icon_bookmark.gif
Despues de esto solo nos faltará actualizar plantillas, temas y galeria de imagenes desde el ACP del foro
* Podeis cambiar tanto NAME como name por el nombre que vosotros querais y tmb la extension del icon modificandolo los archivos css antes editados.
* En la edicion del archivo includes/funtions.php recordar cambiar name , por el nombre de vuestra página

Añadir una imagen aleatoria en el header
Una petición común que se ve a menudo es cómo agregar una imagen al azar en el header o de otro modo conocido como el logo del foro. Seleccionar al azar un logo es una manera rápida y fácil para hacer que tu foro sobresalga.
Paso 1
Reúne tus imágenes en conjunto y cambiales el nombre en este formato: site-logo-NUMERO.ext; cambie NUMERO con un número empezando por 1 y por supuesto utilizar una extensión adecuada como JPG, PNG o GIF (nota: no es recomendable BMP para usar las imágenes ya que no son universalmente compatibles). (Tendrá que guardar todas las imágenes en el mismo formato como PNG.) Así que ahora tiene varias imágenes listas para ser cargadas como sitio-logo-1.png, sitio-logo-2.png, sitio-logo-3. png, sitio-logo-X.png ....
Paso 2
Con su editor de texto favorito, abra includes/functions.php y busca esta línea:
'T_STYLESHEET_NAME' => $user->theme['theme_name'],
Después añade esta línea de código:
),'SITE_LOGO_RANDOM' => mt_rand(1, NUMERO-DE-IMAGENES
Remplaza "NUMERO-DE-IMAGENES" con el número de imagenes que tiene para su logo, si tiene 4 imagenes, utilice este código:
'SITE_LOGO_RANDOM' => mt_rand(1, 4),
Paso 3
Abre styles/su estilo/template/overall_header.html y busque esta línea:
<a href="{U_INDEX}" title="{L_INDEX}" id="logo">{SITE_LOGO_IMG}</a>
Remplaza {SITE_LOGO_IMG} con esto:
<img src="{T_IMAGESET_PATH}/site-logo-{SITE_LOGO_RANDOM}.EXT" alt="Logo" title="Logo" />
Remplaza "EXT" con la extencíon de sus imagenes.
Paso 4
Suba los archivos editados a su servidor y las imagenes a la carpeta styles/su estilo/imageset/; si no ve los nuevos logos en su pagina luego de actualizar varias veces entonces recuerde limpiar el cache del foro y actualizar la plantilla ACP -> Estilo -> Plantillas -> Actualizar. Si todavía no puede ver las imágenes nuevas, limpie el cache de su navegador y reinicielo.
Como siempre, recuerde hacer una copia de seguridad de todos los archivos antes de modificarlos.

Para mostrar anuncios debajo del primer y último mensaje
Para Prosilver
Abrir el archivo styles/prosilver/template/viewtopic.html
Buscar:
<!-- END postrow -->
Añadir antes:
<!-- IF postrow.S_FIRST_ROW -->
<div class="post bg2">
<div class="inner">
<span class="corners-top">
<span></span></span>
<div class="content">
<dl class="faq">
<dd style=text-align:center;>
<!-- INCLUDE ads.txt -->
</dd></dl>
</div>
<span class="corners-bottom">
<span></span></span>
</div>
</div>
<!-- ENDIF -->
Si quieres mostrar publicidad en el primer y último mensaje de cada tema, deberás cambiar una línea en el código anterior.
Buscar:
<!-- IF postrow.S_FIRST_ROW -->
Reemplazar por:
<!-- IF postrow.S_FIRST_ROW or postrow.S_LAST_ROW -->
Ahora crea un archivo llamado ads.txt donde deberás poner el código oportuno (de ADSense Google, u otros...) y subelo a la carpeta /templates/
Si ademas de esto quieres que la publicidad mostrada del primer mensaje y el último sea diferente (para que no se vean los mismos "anuncios" haz lo siguiente, es la misma secuencia poco mas o menos...
Abrir el archivo styles/prosilver/template/viewtopic.html
Buscar:
<!-- END postrow -->
Añadir antes:
<!-- IF postrow.S_FIRST_ROW -->
<div class="post bg2">
<div class="inner">
<span class="corners-top">
<span></span></span>
<div class="content">
<dl class="faq">
<dd style=text-align:center;>
<!-- INCLUDE ads.txt -->
</dd></dl>
</div>
<span class="corners-bottom">
<span></span></span>
</div>
</div>
<!-- ELSEIF postrow.S_LAST_ROW -->
<div class="post bg2">
<div class="inner">
<span class="corners-top">
<span></span></span>
<div class="content">
<dl class="faq">
<dd style=text-align:center;>
<!-- INCLUDE ads2.txt -->
</dd></dl>
</div>
<span class="corners-bottom">
<span></span></span>
</div>
</div>
<!-- ENDIF -->
Ahora crea los archivos llamados ads.txt y ads2.txt donde deberás poner el código oportuno (de ADSense Google, u otros...) y subelos a la carpeta /templates/
Recuerda limpiar el cache de la plantilla.
Para subSilver2
Abrir el archivo styles/subsilver2/template/viewtopic_body.html
Buscar:
</table>
<!-- END postrow -->
Añadir antes:
<!-- IF postrow.S_ROW_COUNT == 0 -->
<!-- IF TOTAL_POSTS >= 2 -->
<tr>
<td align="center" colspan="2" class="row1" valign="middle" height="70">
<!-- INCLUDE ads.txt -->
</td>
</tr>
<tr>
<td class="spacer" colspan="2" height="1"><img src="images/spacer.gif" alt="" width="1" height="1" /></td>
</tr>
<!-- ENDIF -->
<!-- ENDIF -->
Después añadir:
<table class="tablebg" width="100%" cellspacing="1">
<td align="center" colspan="2" class="row1" valign="middle" height="70">
<!-- INCLUDE ads.txt -->
</td>
</tr>
<tr>
<td class="spacer" colspan="2" height="1"><img src="images/spacer.gif" alt="" width="1" height="1" /></td>
</tr>
</table>
Ahora crea un archivo llamado ads.txt donde deberás poner el código oportuno (de ADSense Google, u otros...) y subelo a la carpeta /templates/
Recuerda limpiar el cache de la plantilla.

Eliminar sesiones de bots e invitados
Hay usuarios que no quieren que su base de datos se llene de "sesiones" no necesarias, como por ejemplo la de los Bots e Invitados (usuarios NO registrados) con este código, privamos a estos dos grupos de crear dichas sesiones.
Abrir el archivo includes/functions.php
Buscar:
// Assign sid if session id is not specified
if ($session_id === false)
{
$session_id = $_SID;
}
Después añadir:
// Begin SEO phpBB
global $user;
if ($user->data['user_id'] == ANONYMOUS OR $user->data['is_bot'] )
{
$session_id = false;
}
// End SEO phpBB

Texto en el perfil de conectado/desconectado
Screenshots:
Dentro de un tema:

Dentro del perfil:

Tutorial:
Abrir el archivo:
root/styles/prosilver/template/viewtopic_body.html
Buscar esto:
<!-- IF postrow.POSTER_POSTS != '' --><dd><strong>{L_POSTS}:</strong> {postrow.POSTER_POSTS}</dd><!-- ENDIF -->
Agregar esto antes en una nueva línea:
<dd><strong>Estado:</strong><!-- IF postrow.S_ONLINE --><span style=color:#008000;font-weight:bold;> {L_ONLINE}</span><!-- ELSE --><span style=color:#FF0000;font-weight:bold;> {L_OFFLINE}</span><!-- ENDIF --></dd>
Abrir el archivo:
root/styles/prosilver/template/memberlist_view.html
Buscar esto:
<dt>{L_USERNAME}:</dt>
Agregar esto antes en una nueva línea:
<dt>Estado:</dt><dd><!-- IF S_ONLINE --><span style=color:#008000;font-weight:bold;> {L_ONLINE}</span><!-- ELSE --><span style=color:#FF0000;font-weight:bold;> {L_OFFLINE}</span><!-- ENDIF --></dd>
Para cambiar el texto de "Estado" puedes hacerlo desde esta parte: <dt>Estado:</dt>
Guardar archivos, actualizar el tema, limpiar el cache y refrescar el navegador para ver los cambios


Poner permisos y crear foros

Espero que os gustase el post
