[Rendimiento]  Como llamar a los JS desde las plantillas.
* URL del foro: http://forodesignutilities.zobyhost.com * Versión del foro: 1.6.4 * Actualización: Ninguna. Quería saber donde va el js colocado y...


Quería saber donde va el js colocado y como se llama desde las plantillas por ejemplo: header

Yo quiero poner el siguiente menú

Pagina del Menú | DEMO

El caso es que este menú contiene JS y no se donde ubicarlo para llamarlo (que tampoco se) y que el menú funcione, entonces yo lo pongo en la plantilla header. Esta plantilla contiene el {$welcomblock} que usa javascript y cuando pongo el js del menú deja de funcionar el botón de Iniciar sesión que tendría que salir así:

[Imagen: welcomeblock.png]

Si alguien me puede ayudar, muchísimas gracias. Smile
yo hice mi propio menu, pero lo deje de lado ya que no es fundamental que haga ciertas funciones, sin embargo usa jscript, y solo subi el script a utilizar e hice el llamado al script como mencionas, en header, pero para llamar a las variables hay que incluirlas dentro de la plantilla a editar, en tu caso sería la de bienvenida. Solo añade las funciones del script.

Lo que tu estas poniendo es un menu desplegable y no una forma de logueo, dentro de la forma, es como se van construyendo las variables, luego se le da el estilo. Hay un tema que ha puesto nuestro amigo Ryuuseiken que tiene una forma de login similar y el estilo es muy wapo, podrías ver que cosa en estilos MyBB Meat.
Ya, pero, si yo pongo el jscript del menú que quiero poner en las plantillas de header_welcomeblock, el jscript funcionaría para el menú el cual lo pongo en la plantilla header?

Otra cosa, como creo una plantilla y la pongo por ejemplo en la lista de: Cabecera - Plantillas?
1. Si, siempre y cuando se visualice en una plantilla del indice así es.

2. Creo que no se puede... todas se van a las plantillas sin grupo.
Y como lo hago? creo una plantilla en plantillas sin grupo y como la llamo para que este en el header? {$plantillassingrupo_menu} ¿?
No no, lo que dije que si era posible era lo primero, lo segundo no lo se.

Encontré que se hace así (no lo he probado):
Ve a Estilos y Plantillas/Plantillas/Agregar plantilla, rellena los datos y selecciona crear en plantillas globales.

Para llamar la plantilla edita el archivo index.php y agrega:
Código:
eval("\$variable = \"".$templates->get("plantilla")."\";");

Si tienes el plugin php agrega en la plantilla index:
Código:
<?php
eval("\$variable = \"".$templates->get("plantilla")."\";");
?>

El código para llamarla:
Código:
{$variable}
A ok, pues sigue igual de mal, pongo el jscript del menú en header_welcomeblock_guests y el botón de iniciar sesión queda inútil.
(17 Nov, 2011, 8:31 am)-NaKu- escribió: A ok, pues sigue igual de mal, pongo el jscript del menú en header_welcomeblock_guests y el botón de iniciar sesión queda inútil.

Qué código pones?
Código jscript del menú:
Código PHP:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script
<
script type="text/javascript"
$(
document).ready(function(){

    $(
"ul.subnav").parent().append("<span></span>"); //Only shows drop down trigger when js is enabled - Adds empty span tag after ul.subnav
    
    
$("ul.topnav li span").click(function() { //When trigger is clicked...
        
        //Following events are applied to the subnav itself (moving subnav up and down)
        
$(this).parent().find("ul.subnav").slideDown('fast').show(); //Drop down the subnav on click

        
$(this).parent().hover(function() {
        }, function(){    
            $(
this).parent().find("ul.subnav").slideUp('slow'); //When the mouse hovers out of the subnav, move it back up
        
});

        
//Following events are applied to the trigger (Hover events for the trigger)
        
}).hover(function() { 
            $(
this).addClass("subhover"); //On hover over, add class "subhover"
        
}, function(){    //On Hover Out
            
$(this).removeClass("subhover"); //On hover out, remove class "subhover"
    
});

});
</
script

Código ya puesto en header_welcomeblock_guests:
Código PHP:
<li style="float: right;"><a href="javascript:;" onclick="$('iniciar-sesion').toggle();"><strong>{$lang->welcome_login}</strong> <img src="{$theme['imgdir']}/down.gif" alt=">" /></a></li>
<
li style="float: right;"><a href="{$mybb->settings['bburl']}/member.php?action=register"><strong>{$lang->welcome_register}</strong></a></li>
</
ul>
<
div id="iniciar-sesion" style="display: none;">
<
form action="member.php" method="post">
    <
table border="0" cellspacing="0" cellpadding="6" class="tborder-iniciar-sesion">
    <
tr>
        <
td class="trow1"><strong>{$lang->username}</strong></td>
        <
td class="trow1" align="center"><input type="text" class="textbox" name="username" size="22" maxlength="{$mybb->settings['maxnamelength']}style="width: 155px;" value="{$username}/></td>
    </
tr>
    <
tr>
        <
td class="trow2"><strong>{$lang->password}</strong></td>
        <
td class="trow2" align="center"><input type="password" class="textbox" name="password" size="22" style="width: 155px;" value="{$password}/></td>
    </
tr>
    <
tr>
        <
td class="trow1" align="center"><label title="{$lang->remember_me_desc}"><input type="checkbox" class="checkbox" name="remember" checked="checked" value="yes" />{$lang->remember_me}</label></td>
        <
td class="trow1" align="center"><input type="submit" class="button" name="submit" value="{$lang->login}/></td>
    </
tr>
    <
tr>
        <
td class="trow1" align="center" colspan="2"><span class="smalltext"><a href="{$mybb->settings['bburl']}/member.php?action=lostpw">{$lang->lost_password}</a></span></td>
    </
tr>
    </
table>
<
input type="hidden" name="action" value="do_login" />
<
input type="hidden" id="urlredir" name="url" value="" />
<
script type="text/javascript">
document.getElementById("urlredir").value location.href;
</
script>
</
form>
</
div
Vale... El problema es querer usar jQuery. Porque MyBB usa Prototype, que son incompatibles... :S