Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Neilprydehack en 7 Enero 2011, 12:25 pm



Título: Problema con codigo al intentar validar en W3C
Publicado por: Neilprydehack en 7 Enero 2011, 12:25 pm
Buenos días tengo un problema con la validación de mi código y me estoy volviendo loco para resolverlo.

Así es lo que tengo en el index.php:

<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/general.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $templateurl; ?>/css/template.css" type="text/css" />
<link rel="stylesheet" href="<?php echo $templateurl; ?>/css/style.css" type="text/css" />
<script src="<?php echo $templateurl; ?>/js/jquery-1.3.2.js" type="text/javascript"></script>
<script src="<?php echo $templateurl; ?>/js/jquery-slide.js" type="text/javascript"></script>
<script src="<?php echo $templateurl; ?>/js/ie.js" type="text/javascript"></script>

      <!-- Header_gallery -->
<script type="text/javascript">
var $j = jQuery.noConflict();
$j('<img />')[0].src = '<?php echo $templateurl; ?>/images/header/1.jpg';
$j('<img />')[0].src = '<?php echo $templateurl; ?>/images/header/2.jpg';
$j('<img />')[0].src = '<?php echo $templateurl; ?>/images/header/3.jpg';

Y me da los siguientes error en todos:
$j('<img />')[0].src = '<?php echo $templateurl; ?>/images/header/1.jpg';
required attribute "src" not specified
required attribute "alt" not specified
document type does not allow element "img" here
El error lo da aquí: <img />

No sé si alguien sabría decirme que estoy haciendo mal.

Muchas gracias


Título: Re: Problema con codigo al intentar validar en W3C
Publicado por: AFelipeTrujillo en 7 Enero 2011, 14:39 pm
pero tan raro que se lo arroje el en script .... si separa el codigo javascript del html ??


Título: Re: Problema con codigo al intentar validar en W3C
Publicado por: Neilprydehack en 7 Enero 2011, 15:10 pm
Hola, gracias por tu respuesta,

Te explico:

Intento poner 3 imagenes que se cambien automáticamente a una velocidad determinada, esto va en el index.php de la plantilla, te escribo el código del header:

<!-- Header_gallery -->
<script type="text/javascript">
var $j = jQuery.noConflict();
$j('<img />')[0].src = '<?php echo $templateurl; ?>/images/header/1.jpg';
$j('<img />')[0].src = '<?php echo $templateurl; ?>/images/header/2.jpg';
$j('<img />')[0].src = '<?php echo $templateurl; ?>/images/header/3.jpg';

$j(function() {
var fx, cbox = 1;//$('input:checkbox').click(start)[0];
//cbox.checked = true;

var markup = '<div id="slideshow">'
+ '<img src="<?php echo $templateurl; ?>/images/header/1.jpg" alt=""><img src="<?php echo $templateurl; ?>/images/header/2.jpg" alt=""><img src="<?php echo $templateurl; ?>/images/header/3.jpg" alt="">'
+ '</div>';

function start() {
$j('#slideshow').cycle('stop').remove();
$j('#show').append(markup);
$j('#effect').html(fx);
$j('#slideshow').cycle({
fx: fx,
timeout: 5000,
delay: -1000,
after: onAfter,
sync: 1
});
}

function onAfter(curr,next,opts) {
var msg = 'Slide ' + (opts.currSlide + 1) + ' of ' + opts.slideCount;
$j('#caption').html(msg);
};

fx = $j.trim("zoom");
start();
});
</script>
<!-- Header_gallery_end -->


Título: Re: Problema con codigo al intentar validar en W3C
Publicado por: bizco en 7 Enero 2011, 19:09 pm
si intentas validar esto:

Citar
<?php echo $templateurl; ?.......

te va a dar error, tienes que validar una vez procesado por php. de todos modos mejor que pongas todo el codigo y digas si quieres valiar html xhtml ....


Título: Re: Problema con codigo al intentar validar en W3C
Publicado por: Neilprydehack en 8 Enero 2011, 12:04 pm
Buenos días bizco,

Quiero validar xhtml, aquí te escribo el código y te comento:

// no direct access

defined( '_JEXEC' ) or die( 'Restricted access' );

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >

<head>

<jdoc:include type="head" />



<?php

   global $templateurl ;

   $templateurl = $this -> baseurl . '/nombre de mi plantilla' ;

   $js = $templateurl.'/js/';

   $css = $templateurl.'/css/';

?>

<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />

<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" />

<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/general.css" type="text/css" />

<link rel="stylesheet" href="<?php echo $templateurl; ?>/css/template.css" type="text/css" />

<link rel="stylesheet" href="<?php echo $templateurl; ?>/css/style.css" type="text/css" />

<script src="<?php echo $templateurl; ?>/js/jquery-1.3.2.js" type="text/javascript"></script>

<script src="<?php echo $templateurl; ?>/js/jquery-slide.js" type="text/javascript"></script>

<script src="<?php echo $templateurl; ?>/js/ie.js" type="text/javascript"></script>



      <!-- Header_gallery -->

<script type="text/javascript">

var $j = jQuery.noConflict();

$j('<img />')[0].src = '<?php echo $templateurl; ?>/images/header/1.jpg';

$j('<img />')[0].src = '<?php echo $templateurl; ?>/images/header/2.jpg';

$j('<img />')[0].src = '<?php echo $templateurl; ?>/images/header/3.jpg';



$j(function() {

   var fx,   cbox = 1;//$('input:checkbox').click(start)[0];

   //cbox.checked = true;

   

   var markup = '<div id="slideshow">'

      + '<img src="<?php echo $templateurl; ?>/images/header/1.jpg"><img src="<?php echo $templateurl; ?>/images/header/2.jpg"><img src="<?php echo $templateurl; ?>/images/header/3.jpg">'

      + '</div>';

      

   function start() {

      $j('#slideshow').cycle('stop').remove();

        $j('#show').append(markup);

      $j('#effect').html(fx);

      $j('#slideshow').cycle({

         fx: fx,

         timeout: 4000,

         delay:  -1000,

         after: onAfter,

         sync: 1

      });

   }



   function onAfter(curr,next,opts) {

      var msg = 'Slide ' + (opts.currSlide + 1) + ' of ' + opts.slideCount;

      $j('#caption').html(msg);

   };

   

   fx = $j.trim("zoom");

   start();

});

</script>

                     <!-- Header_gallery_end -->

<!--[if IE]>

   <link href="<?php echo $templateurl; ?>/css/ieonly.css" rel="stylesheet" type="text/css" />

<![endif]-->



</head>

<body dir="ltr">

<div id="body">

   <div class="outer">

      <div id="shopcart">

         <jdoc:include type="modules" name="user2" />

      </div>

      <div id="currency"><jdoc:include type="modules" name="user1"  style="top" /></div>

      <div  id="logo">

         <a href="<?php echo $mainframe -> getCfg ( 'live_site' ) ; ?>">

            <img src="<?php echo $templateurl; ?>/images/logo.jpg" alt="<?php echo $mainframe->getCfg('sitename') ; ?>" />

         </a>

      </div>

      <div id="search"><jdoc:include type="modules" name="user4" /></div>

      <div id="topmenu">

         <jdoc:include type="modules" name="user3" />

      </div>

      <div class="clear"></div>

      

      <div id="header" class="outer">

         <div class="inner">

            <div id="shop_now">

               <div id="show">

                  <div style="overflow: hidden; position: relative;" id="slideshow">

                     <img style="position: absolute; top: 0px; left: 0px; display: none; z-index: 9; opacity: 1; width: 991px; height: 334px;" src="<?php echo $templateurl; ?>/images/header/1.jpg">

                     <img style="position: absolute; top: 0px; left: 0px; display: none; z-index: 9; opacity: 1; width: 991px; height: 334px;" src="<?php echo $templateurl; ?>/images/header/2.jpg">

                     <img style="position: absolute; top: 0px; left: 0px; display: none; z-index: 9; opacity: 1; width: 991px; height: 334px;" src="<?php echo $templateurl; ?>/images/header/3.jpg">

                  </div>

Este es el código de toda la parte del head de las imágenes, el problema lo da al validar por los archivos .js
Que podría hacer? y luego otro problema es que si ya estoy trabajando con una librería jquery, al meter un módulo que se llama gttranslate que traduce la página en varios idiomas, no me va a funcionar bien ya que trabaja con otra librería jquery con lo cual tendría que quitar la primera libreria, uff que follon nose que solución sería mejor para tenerlo todo correcto


Título: Re: Problema con codigo al intentar validar en W3C
Publicado por: Nakp en 8 Enero 2011, 17:47 pm
error del parser... por cierto seria mejor que en jquery ingresaras a las imagenes por un .class o simplemente img pero no por la tag :P y menos asi '<img />' no te aflijas no hay error :xD


Título: Re: Problema con codigo al intentar validar en W3C
Publicado por: Neilprydehack en 9 Enero 2011, 01:06 am
Hola Nakp

Gracias por tu respuesta

Nosé exactamente como hacerlo por un .class o simplemente img, porque en cuanto muevo algo de la línea de código las imagenes no se me muestran.


Título: Re: Problema con codigo al intentar validar en W3C
Publicado por: Nakp en 9 Enero 2011, 05:37 am
agregale un class="tuclase" a todas las imagenes y accede por $j('.tuclase') o por $j('img') :P a eso me refiero


Título: Re: Problema con codigo al intentar validar en W3C
Publicado por: Neilprydehack en 9 Enero 2011, 12:45 pm
Hola Nakp

Muchísimas gracias por tu ayuda!
Lo he conseguido solucionar poniendo simplemente $j('img') y quitando el valor

Un saludo