Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » Joomla »

Un vistazo a mi código por favor

Estas en el tema de Un vistazo a mi código por favor en el foro de Joomla en Foros del Web. Hola amigos, de un sólo vistazo, qué fallo veis aquí?¿ es un template Joomla que me da fallo en la última línea Código PHP: <?php  ...
  #1 (permalink)  
Antiguo 07/07/2010, 03:40
 
Fecha de Ingreso: julio-2010
Mensajes: 2
Antigüedad: 8 años, 5 meses
Puntos: 0
Un vistazo a mi código por favor

Hola amigos, de un sólo vistazo, qué fallo veis aquí?¿ es un template Joomla que me da fallo en la última línea

Código PHP:
<?php if( $sg == 'banner' ):?>
<br />
<table cellpadding="0" cellspacing="0" style="margin:0 auto">
    <tr>
        <td style="font-size:11px;color:#999;font-family:Tahoma,Arial,Verdana;line-height:16px;text-align:center;">Designed by:</td>
    </tr>
    <tr>
        <td>
            <div style="background:transparent url(templates/<?php echo $this->template ?>/images/sg_background.gif) no-repeat;width:82px;height:16px;font-size:11px;color:#999;font-family:Tahoma,Arial,Verdana;padding:0 0 0 28px;line-height:16px;text-align:center;">
                <a href="http://www.siteground.com" style="text-decoration:none;">web hosting</a>
            </div>
        </td>
    </tr>
</table>
<?else:?>
     <?php echo $mainframe->getCfg('sitename') ;?>, Powered by <a href="http://joomla.org/" class="sgfooter" target="_blank">Joomla!</a> and designed by SiteGround <a href="http://www.siteground.com/joomla-hosting/joomla-templates.htm" target="_blank" class="sgfooter">Joomla Templates</a>
<?endif;?>
  #2 (permalink)  
Antiguo 07/07/2010, 04:00
Avatar de Chenon  
Fecha de Ingreso: abril-2005
Ubicación: Palma de Mallorca
Mensajes: 99
Antigüedad: 13 años, 8 meses
Puntos: 11
Respuesta: Un vistazo a mi código por favor

Hay un foro especializado de scripts prefabricados como joomla, lo mismo pueden ayudarte más que yo.

Para localizar el error, mira de quitar este codigo php.

<?php echo $mainframe->getCfg('sitename') ;?>

En el caso de que funcione tras quitar ese fragmento, es porque hay un error en la configuración de tu joomla. Porque en principio, errores de sintaxis yo no veo en ese trozo expuesto.
  #3 (permalink)  
Antiguo 07/07/2010, 08:41
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 10 años, 9 meses
Puntos: 10
Respuesta: Un vistazo a mi código por favor

Esto podria ser:
<?endif;?>
Podria ser asi:
<?php endif; ?>
  #4 (permalink)  
Antiguo 07/07/2010, 10:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 12 años, 6 meses
Puntos: 2126
Tema movido desde PHP a Joomla
  #5 (permalink)  
Antiguo 08/07/2010, 23:20
Avatar de Larenz
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Nicaragua
Mensajes: 1.398
Antigüedad: 11 años, 11 meses
Puntos: 55
Respuesta: Un vistazo a mi código por favor

Cita:
Iniciado por wiwi74 Ver Mensaje
Esto podria ser:
<?endif;?>
Podria ser asi:
<?php endif; ?>
No sé mucho de PHP pero he visto muchos archivos en php los cuáles he ido modificando y probando y no creo haberme encontrado nunca un else así de vacío:

Código:
<?else:?>
Por otro lado éste código está correcto:

Código:
<?php echo $mainframe->getCfg('sitename') ;?>
Y ya finalizando no implica mucho que sea <?php endif;?> ó <?php endif; ?>
__________________
¡No lo sé todo! Pero comencé como tú, ¡sin saber nada!
Encuéntrame en Facebook: Perfil + Página
  #6 (permalink)  
Antiguo 09/07/2010, 10:24
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Un vistazo a mi código por favor

En realidad, la diferencia que marca wiwi74 es entre <? y <?php, dos formas de abrir un bloque de código PHP. La primera es opcional, pero suele causar problemas por lo que no se debería usar. La segunda es la forma normal.

El else usa la sintaxis alternativa de estructuras de control, que a veces resulta más clara para usar en plantillas HTML. Es lo mismo entonces que

<?php } else { ?>


Saludos.
  #7 (permalink)  
Antiguo 09/07/2010, 10:56
Avatar de Larenz
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Nicaragua
Mensajes: 1.398
Antigüedad: 11 años, 11 meses
Puntos: 55
Respuesta: Un vistazo a mi código por favor

Cita:
Iniciado por AlvaroG Ver Mensaje
En realidad, la diferencia que marca wiwi74 es entre <? y <?php, dos formas de abrir un bloque de código PHP. La primera es opcional, pero suele causar problemas por lo que no se debería usar. La segunda es la forma normal.

El else usa la sintaxis alternativa de estructuras de control, que a veces resulta más clara para usar en plantillas HTML. Es lo mismo entonces que

<?php } else { ?>


Saludos.
Ahh Ok... me queda claro ahora lo del else. Por otro lado me parece que tienes razón sobre lo escribir el código de una manera separada, es lo más recomendable aunque supongo que aún así no debería dar problemas. Podría suponer más orden y estética al escribirse de forma separada, más o menos como este ejemplo:

Código HTML:
.clase { background:#EDEDED;color:#000;width:100px;}
Yo suelo escribirlo más ordenado a como recomiendas y lo hago así:

Código HTML:
.clase { 
    background: #EDEDED;
    color: #000; 
    width:100px;
}
Pero volviendo al tema, logro pensar entonces que esa parte de código está correctamente. Las sintaxis que usa Joomla las miro correctas. Posiblemente el error esté en otro lado y el mensaje de error que marca dice una línea que ni siquiera pueda ser, ya que en varias ocasiones me pasó lo mismo. Es decir que tenía malo un código casi en el centro de la codificación del archivo y me lanzaba el explorador el error como si lo tuviera al final del archivo php.

Creo que deberías de revisar un poco mejor la demás estructura y código del archivo para que puedas sospechar más certeramente del problema.

Saludos!
__________________
¡No lo sé todo! Pero comencé como tú, ¡sin saber nada!
Encuéntrame en Facebook: Perfil + Página
  #8 (permalink)  
Antiguo 09/07/2010, 11:03
Avatar de Larenz
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Nicaragua
Mensajes: 1.398
Antigüedad: 11 años, 11 meses
Puntos: 55
Respuesta: Un vistazo a mi código por favor

Cita:
Iniciado por wiwi74 Ver Mensaje
Esto podria ser:
<?endif;?>
Podria ser asi:
<?php endif; ?>
Yo nuevamente.... disculpas. No había leído correctamente el post y pensé que hacía alusión a escribir o no separadamente el código php, pero logro ver y comprender realmente lo que decía anteriormente AlvaroG. Wiwi74 y AlvaroG tienen razón, no suele usarse la siguiente sintaxis:

Código:
<? else; ?>
Ya que puede marcar errores y no es compatible con nuevas versiones de PHP, por lo tanto al abrir se tiene que usar <?php, quedando el código de la siguiente forma:

Código:
<?php else; ?>
Entonces posiblemente el código correcto pueda ser este:

Código PHP:
<?php if( $sg == 'banner' ):?> 
<br /> 
<table cellpadding="0" cellspacing="0" style="margin:0 auto"> 
    <tr> 
        <td style="font-size:11px;color:#999;font-family:Tahoma,Arial,Verdana;line-height:16px;text-align:center;">Designed by:</td> 
    </tr> 
    <tr> 
        <td> 
            <div style="background:transparent url(templates/<?php echo $this->template ?>/images/sg_background.gif) no-repeat;width:82px;height:16px;font-size:11px;color:#999;font-family:Tahoma,Arial,Verdana;padding:0 0 0 28px;line-height:16px;text-align:center;"> 
                <a href="http://www.siteground.com" style="text-decoration:none;">web hosting</a> 
            </div> 
        </td> 
    </tr> 
</table> 
<?php else:?> 
     <?php echo $mainframe->getCfg('sitename') ;?>, Powered by <a href="http://joomla.org/" class="sgfooter" target="_blank">Joomla!</a> and designed by SiteGround <a href="http://www.siteground.com/joomla-hosting/joomla-templates.htm" target="_blank" class="sgfooter">Joomla Templates</a> 
<?php endif;?>
Saludos y coméntanos cómo te va.

P.D: Cabe señalar que no soy experto en php sino que estoy experimentando aún.
__________________
¡No lo sé todo! Pero comencé como tú, ¡sin saber nada!
Encuéntrame en Facebook: Perfil + Página
  #9 (permalink)  
Antiguo 09/07/2010, 19:42
Avatar de richicasas  
Fecha de Ingreso: abril-2007
Ubicación: Colombia
Mensajes: 692
Antigüedad: 11 años, 8 meses
Puntos: 13
De acuerdo Respuesta: Un vistazo a mi código por favor

Estas en lo correcto Larenz. Normalmente y por estandar es
Código PHP:
<?php //aqui tu codigo php ?>
Wampserver no reconoce php con <? debe ser <?php
Xampp si lo reconoce.

Ten cuidado con los espacios, es muy diferente esto:
Código PHP:
// esto esta mal, que puede ser tu caso, ademas de agregar php despues del ?
<?else:?>

//Version correcta
<? else: ?>
Saludos
__________________
Juguetes Sexuales

Etiquetas: favor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:55.