Una pequeña gran ayuda por favor...

NicKGarY

New Member
Messages
65
Reaction score
0
Points
0
Holas a todos, antes de colocar mi requerimiento quiero agradecerles de antemano el leer tan solo el post.

Ya tengo varios días intentado añadir una pequeña modificación en uno de los archivos de mi web, kizás para muchos sea algo tonta los codigos que hay q agregar pero con los conocimientos que poseo actualmente se me hac imposible terminar mi objetivo a pesar de que "Ya he adelantado algo".

Hay una sección que quiero modificar.

ayuda3nl3.png


La palabra Comentarios y Referencias son dos links que al clickarlo abre un cuadro desplegable, ejemplo si se clickea comentario, se veria asi...

ayuda2gz3.png


Y al abrir referencia su respectivo cuadro.

Lo que quiero que haga es q al clickar comentario se abra su respectivo cuadro, pero si le doy click a referencias, se cierre el cuadro de comentario y el de referencia... ¡¡¡NO LOS DOS AL MISMO TIEMPO!!!

Y eso es lo que me está pasando... al clickar primero comentario y luego referencia se ve asi:

ayuda1uj5.png


El codigo que he hecho hasta el momento es éste:

PHP:
//Crear la caja con opciones diversas
echo '
<table border="0" cellpadding="4" cellspacing="1" align="center" class="bordercolor" width="65%" id="open_referer">
    <tr>
        <td class="titlebg"><a href="javascript:void(0);" onclick="comment()">', $txt['profile_comments'] ,'</a>
                   <a href="javascript:void(0);" onclick="referer()">', $txt['refered_act_NicKCramleT'] ,'</a></td>        
    </tr>';


    echo '

<script type="text/javascript">
function referer() {
    document.getElementById("referer").style.display = "block";
}
</script>


    
    
    <tr id="referer" class="windowbg" style="display: none;">';
        //INICIO. Abre la CAJA
            echo '<td class="windowbg">
            <table border="0" cellspacing="0" cellpadding="2" width="100%">';
        // FIN. Abre la CAJA e inserta
// Agrega las referencias al resumen del Perfil... por NicKCramleT
        echo '<tr>
                    <td><b>'.$txt['referrals_referrals'].'</b></td>
                    <td>'.$context['member']['referrals_no'] .'  ';
        
        // Show in dropdown usersname of those referred
        if(!empty($context['member']['referredmembers']))
        {
        
            echo '<select onchange="location=options[selectedIndex].value;">
                <option>'.$txt['referrals_membersreferred'].'</option>';
            foreach($context['member']['referredmembers'] as $x)
                echo $x;

            // Tidy up
            unset($x);
            echo '</select>';
        }
        echo'        </td>
                </tr>
                <tr>
                    <td><b>'.$txt['referrals_referrals_hits'].'</b></td>
                    <td>'.$context['member']['referrals_hits'].'</td>
                </tr>';
        if (!empty($context['member']['referred_by']))
        {
            echo'            <tr>
                    <td><b>'.$txt['referrals_referred_by'].'</b></td>
                    <td>'.$context['member']['referred_bylink'].' '.$txt['referrals_on'].' '. date("jS M Y",$context['member']['referred_on']).'
                    </td>
                </tr>';
        
        }
        
        echo '<tr>
                    <td colspan="2"><b>'.$txt['referrals_link'].'</b></td>
            </tr>
            <tr><td colspan="2" style="text-align:center;">
                <script language="JavaScript" type="text/javascript"><!--//
                    function copy_referrallink()
                    {
                        // Create element (if does not exist)
                        if(!document.getElementById(\'clipboard\'))
                        {
                            var copydiv = document.createElement(\'div\');
                            copydiv.id = \'clipboard\';
                            document.body.appendChild(copydiv);
                        }
                        
                        // Clear element
                        document.getElementById(\'clipboard\').innerHTML = \'\';
                        // Copy Referral Link
                        document.getElementById(\'clipboard\').innerHTML = \'<embed src="referrals_copytoclipboard.swf" FlashVars="clipboard=\'+encodeURIComponent(document.getElementById(\'referrallink\').value)+\'" width="0" height="0" type="application/x-shockwave-flash"></embed>\';
                    }
                //--></script>
            <input type="text" id="referrallink" value="'.$scripturl.'?referredby='. $context['member']['id'] .'" readonly="true" style="width:350px;" />
            <a href="javascript:void(0);" rel="nofollow" onclick="javascript:copy_referrallink();return false;" title="'.$txt['referrallink_copy'].'">'.$txt['referrallink_copy'].'</a>
            </td>
        </tr>
        <tr><td colspan="2"><hr size="1" width="100%" class="hrcolor" /></td></tr><br />';
        //INICIO. Termina la caja por NicKCramleT
        echo '
                        </table>
                    </td>    </tr>';


if (@$context['member']['options']['comments_disable'] != 1) {
    echo '

<script type="text/javascript">
function comment() {    
    document.getElementById("comment").style.display = "block";
}
</script>


    <tr id="comment" class="windowbg" style="display: none;">
    <td class="windowbg">
            <table border="0" cellspacing="0" cellpadding="2" width="100%">
        <td>
            <form action="', $scripturl ,'?action=profile;u=', $context['member']['id'] ,';sa=comment;add" method="post">
                ', $txt['profile_comment'] ,':<br />
                <textarea  cols="50" rows="4" name="comment"></textarea><br />
                <br />
                <input type="submit" value="', $txt[10] ,'" />
                <input type="hidden" name="sc" value="', $context['session_id'], '" />
            </form>
        </td>
    </table></td></tr>

</table>';    
//Termina Caja con opciones diversas
echo '
<div class="div2"></div>

<br />

<table border="0" cellpadding="4" cellspacing="1" align="center" class="bordercolor" width="100%" id="comments">
    <tr>
        <td class="titlebg" colspan="2" align="center">', $txt['profile_comments'] ,'</td>
    </tr>';

Si alguien me pudiera ayudar a hacer las modificaciones que requiero de verdad le estaría eternamente agradecido...

Pueden ver exactamente lo que está pasando desde mi web: http://darkkingdom.exofire.net/foro/profile/NicKCramleT/

La parte en cuestión se encuentra abajo, allí se darán cuenta de lo q les hablo... espero poder contar con su ayuda como la he tenido hasta el sol de hoy..

Sin mas que hacer referencia me despido esperando su ayuda. Muchas gracias!!

salu2
 

eZakto

Member
Messages
782
Reaction score
1
Points
18
HTML:
<script type="text/javascript">
function referer() {
	document.getElementById("referer").style.display = "block";
	document.getElementById("comment").style.display = "none";
}
</script>
HTML:
<script type="text/javascript">
function comment() {    
	document.getElementById("comment").style.display = "block";
	document.getElementById("referer").style.display = "none";
}
</script>
 

NicKGarY

New Member
Messages
65
Reaction score
0
Points
0
WAOOO!!! muchas gracias por eso hermano... me funciono de pelos!! ahora si podré terminar de hacer esa sección... ya que eso me tenía parado!!

A ver si ntiendo la lógica de eso...

Al agregar la otra instrucción asignandole el valor "none" lo que hace es que la funcion referer o comment se deje de mostrar cuando su contrario este visible, es decir, solo permite que una sola funcion se muestre por pantalla al mismo tiempo???

Es eso lo q hac?

Si me funciono bien... gracias por la ayuda!!! =D
 

NicKGarY

New Member
Messages
65
Reaction score
0
Points
0
WAOOO!!! muchas gracias por eso hermano... me funciono de pelos!! ahora si podré terminar de hacer esa sección... ya que eso me tenía parado!!

A ver si ntiendo la lógica de eso...

Al agregar la otra instrucción asignandole el valor "none" lo que hace es que la funcion referer o comment se deje de mostrar cuando su contrario este visible, es decir, solo permite que una sola funcion se muestre por pantalla al mismo tiempo???

Es eso lo q hac?

Si me funciono bien... gracias por la ayuda!!! =D
 

eZakto

Member
Messages
782
Reaction score
1
Points
18
La función referrer muestra el bloque de referidos (display:block) y oculta el de comentarios (display:none), estén en el estado que estén anteriormente. La función comment hace lo mismo pero a la inversa.

Igualmente he de decirte que el código en general es muy malo.

Saludos.
 

NicKGarY

New Member
Messages
65
Reaction score
0
Points
0
bueno eso imagino, ya q desconosco de este lenguaje y haciendo pruebas y pruebas he llegado a eso...

Habría alguna forma de mejorarlo y hacerlo mejor??? que me recomiendas?

Muchas gracias
 

eZakto

Member
Messages
782
Reaction score
1
Points
18
Primero, identar el código bien.
Cuando uses cadenas muy largas, no uses un echo de varias líneas. Si usas el código php mezclado con el html/javascript, te recomiendo que cierres el bloque de código php (?>), escribas todo el html/js necesario y vuelvas a abrir el código php (<?php) para continuar con dicho código.
Y otra, para hacerlo lo más óptimo posible, usa un sistema de templates, como smarty, para separar código y diseño.

Saludos.
 

NicKGarY

New Member
Messages
65
Reaction score
0
Points
0
gracias por la ayuda broth!! tomare en cuenta tus recomendaciones para futuros codigos que haga... es q todavia toy asombrado por ese que hice, a pesar de q dics que es muy malo... porq para no saber nada de php ni javascript, creo q hice mucho!!

Igual gracias por la ayuda..
salu2
 

eZakto

Member
Messages
782
Reaction score
1
Points
18
Por cierto, los códigos javascript van en el head.
 
Top