1Likes
Esta es una discusión para el tema Como hacer funcionar Plantillas Personalizadas usando Plugins en el foro Tutoriales de Programación, bajo la categoría Lenguajes de Programación; Continuando con este tema
http://www.vbhispano.com/foros/f31/a...antillas-9244/
vi que es mejor hacer un nuevo tema, para que no pierda esta informacion,
Objetivo: crear 1 plantilla personalida como cualquiera de las existentes en vBulletin y poder llamarla desde ...
Página:
Continuando con este tema
http://www.vbhispano.com/foros/f31/a...antillas-9244/
vi que es mejor hacer un nuevo tema, para que no pierda esta informacion,
Objetivo: crear 1 plantilla personalida como cualquiera de las existentes en vBulletin y poder llamarla desde otra plantilla o usarla como si fuera una plantilla standard más de vBulletin
¿Como Funciona?: Cuando creas tu plantilla personalizada esta esta en la base de datos, y vBulletin ni se entera que existe, es por eso que tienes que "parsearlo" (convertir el codigo vBulletin en codigo php) y luego ponerlo en la cache de las plantillas para su rapido uso
Si no haces estas lineas, cuando la llames no ocurrirá nada porque estarias llamando a una variable que no existe (el nombre de la plantilla personalizada)
Comentarios: esta es una forma de hacerlo, se puede hacer desde un archivo PHP como en este tutorial
http://www.vbhispano.com/foros/f6/ag...test_php-7970/
al final, lo que se ponga en un hook (enganche, plugin, etc) se integra con el PHP al que hace referencia, asi que viene a hacer lo mismo
----------------------------------------------------
Crea una plantilla personalizada, la vamos a llamar plus_navbar con un codigo como este:
Crear un Plugin en global_start or parse_templates y ponle el siguiente codigo:Código PHP:<if condition="$bbuserinfo[userid]">
<h3>Usuario Registrado</h3>
<else />
<h3>Usuario No Registrado</h3>
</if>
luego hacemos otro plugin enganchado en cache_templates con lo siguiente:Código PHP:eval('$plus_navbar = "' . fetch_template('plus_navbar') . '";');
Luego de eso ya puedes usar la plantilla como variable $plus_navbar y ponerla en cualquier parte de las plantillas de vBulletin o concatenarla en el global_start or parse_templatesCódigo PHP:$globaltemplates = array_merge($globaltemplates, array('plus_navbar'));
ejemplo:
********************************Código PHP:$vbulletin->templatecache['footer'] = $vbulletin->templatecache['plus_navbar'] . $vbulletin->templatecache['footer'];
Un dato curioso, es que para usar las plantillas en el postbit, hay que llamarlo asi $GLOBALS[plus_navbar]
Si quieres tener más de 1 plantilla personalida, el "eval" es 1 linea por plantilla, pero en el $globaltemplates puedes hacer esto
--------------------------------------------------------Código PHP:$globaltemplates = array_merge($globaltemplates, array('mi_plantilla1', 'mi_plantilla2'));
Si algo no quedo claro, comentenlo por favor, ya que usualmente los programadores tenemos la mala costumbre de "asumir" que algunas cosas estan bastante claras cuando muchos tienen conocimientos basicos de programacion
Excelente Jhonnyf!!
El tutorial es claro y conciso. Seguramente nos será de gran utilidad a todos.
De verdad que te luces amigo, te lo agradezco y se que muchos mas te lo agradeceran de igual manera.
Saludos.![]()
Resurgire... ¡Cual Ave Fenix resurge de sus Cenizas!
de los mejores aportes que he visto!!! espero que cuando domine el arte de la programación todavía pueda verte por estos lares![]()
Excelente viejito!
Muy buen aporte.
Hola, después de leer tu explicación he conseguido crear una plantilla y funciona, mi pregunta es, tengo seis stylos, como puedo actualizarlos todos de golpe, cada vez haga cambios en esa plantilla, sin tener que ir uno por uno, un saludo y gracias.
Excelente.
Gracias, recien estoy conociendo vb y este tutorial esta muy bueno.
Sls.
Supones mal ya que no uso Hooks en Plantillas sino los Hooks en archivos PHP que son 2 cosas diferentes
aqui lo que hago es trabajar con la variable que contiene toda una plantilla (footer) y concatenarla con la variable que contiene la plantilla el plus_navbar
ahora, porque la concatené con el footer y No con el navbar.... no me acuerdoCódigo HTML:$vbulletin->templatecache['footer'] = $vbulletin->templatecache['plus_navbar'] . $vbulletin->templatecache['footer'];![]()
Última edición por Jhonnyf; 11/07/2009 a las 11:04
Una pregunta, quiero agregar un icono de youtube en el postbit para los usuarios que tengan canal de youtube y que este icono linkee, me explico:
He echo un apaño para colocar un icono que lleve al canal de youtube de mis usuarios usando un campo de perfil:
Funciona Muy bien!!!Código PHP:$template_hook[postbit_userinfo_right]
<div>$post[icqicon] $post[aimicon] $post[msnicon] $post[yahooicon] $post[skypeicon]
<-- Youtube channel -->
<if condition="$post[field7]"><a href="http://$post[field7]"><img src="$stylevar[imgdir_misc]/youtube.png" alt="Youtube Channel" border="0" /><a/></if>
<-- / Youtube channel -->
Pero me gustaría hacerlo con plugins y plantillas de manera que quede:
¿Como podría hacerlo?Código PHP:$template_hook[postbit_userinfo_right]
<div>$post[icqicon] $post[aimicon] $post[msnicon] $post[yahooicon] $post[skypeicon] $post[youtube]
Última edición por AnD34; 21/08/2009 a las 19:22
Respuesta aqui
Youtube (canal, link) en el postbit
Disculpen por revivir un tema tan viejo, pero existe la posibilidad de que este tutorial sea actualizado para vBulletin 4?
Saludos