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

Si uso sh404SEF no carga la hoja de estilo

Estas en el tema de Si uso sh404SEF no carga la hoja de estilo en el foro de Joomla en Foros del Web. Hola foreros, espero que alguien me pueda ayudar. El problema es el siguiente, he instalado joomla y agregué el componente sh404SEF pero oh sorpresa lo ...
  #1 (permalink)  
Antiguo 21/04/2009, 16:13
 
Fecha de Ingreso: febrero-2009
Mensajes: 95
Antigüedad: 15 años, 2 meses
Puntos: 4
Si uso sh404SEF no carga la hoja de estilo

Hola foreros, espero que alguien me pueda ayudar. El problema es el siguiente, he instalado joomla y agregué el componente sh404SEF pero oh sorpresa lo único que carga bien es la página principal porque si ingreso a otra página pues no me muestra la página con estilos (no carga el css) la ruta en la url se ve de maravillas pero otra cosa que me asombra es que esa misma ruta a veces carga y a veces no, me muestra aleatoriamente mensajes de "flooding" o 404.

¿Alguien sabrá a que se debe este comportamiento? Si desactivo el componente todo funciona de lujo.

Desde ya gracias.

Joomla v1.5.10
sh404SEF 1.0.16 Beta - build 222
Por favor no me envíen a leer manuales de instalación puesto que ya pasé por ellos antes de postear.

Última edición por ricardogomezp; 21/04/2009 a las 16:19
  #2 (permalink)  
Antiguo 21/04/2009, 19:44
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Si uso sh404SEF no carga la hoja de estilo

El problema que describís puede darse si estás usando una ruta relativa a la hoja de estilos.

Imagínate que tu sitio es misitio.com, y que la hoja de estilos está vinculada en tu plantilla como misitio.com/estilos.css
Direccionada usando misitio.com/index.php?variables..., no hay problema en encontrar el archivo .css, ya que está en la misma carpeta que index.php

Pero si tu URL cambia a misitio.com/articulos/un-articulo-que-escribas, el navegador intentará buscar la hoja de estilos en misitio.com/articulos/estilos.css, ya que "cree" que está en una subcarpeta, pidiendo el recurso "un-articulo-que-escribas".

¿se entiende lo que quiero decir? Asegúrate de que la ruta al archivo CSS sea absoluta (recordando que / siempre apunta a la raíz del sitio). En el ejemplo, el problema se soluciona si en tu plantilla vinculas la hoja de estilos como "/estilos.css"


Saludos.
  #3 (permalink)  
Antiguo 29/07/2009, 13:01
 
Fecha de Ingreso: noviembre-2004
Mensajes: 60
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Si uso sh404SEF no carga la hoja de estilo

Cita:
Iniciado por AlvaroG Ver Mensaje

¿se entiende lo que quiero decir? Asegúrate de que la ruta al archivo CSS sea absoluta (recordando que / siempre apunta a la raíz del sitio). En el ejemplo, el problema se soluciona si en tu plantilla vinculas la hoja de estilos como "/estilos.css"
hola, yo te entendi lo que quieres decir, yo tengo el mismo problema con ese componente. Ahora lo que no entiendo es:

¿en que archivo tengo que cambiar la ruta del css para que sea absoluta ? desde ya muchas gracias
__________________
Estoy armando una web (portal de servicios) utilasando joomla, los interesados mandanme un msj privado
  #4 (permalink)  
Antiguo 29/07/2009, 16:50
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Si uso sh404SEF no carga la hoja de estilo

Bueno, al parecer tienen el mismo problema y yo lo solucione asi:

vas a Extensiones>>gestor de plantillas, seleccionas una plantilla, y das click en el menu derecho editar, despues editar html. Aqui vas a editar el index de tu template.

Puede salirte algo asi en los link a la hoja de estilo:
Código:
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/beez/css/template.css" type="text/css" />
o asi dependiendo de la plantilla:
Código:
<link rel="stylesheet" href="<?php echo $tmpTools->templateurl(); ?>/css/template.css" type="text/css" />
<?php echo $tmpTools->templateurl(); ?> es lo que cambias por la ruta, por ejemplo, si joomla! esta en la carpeta cms

quedaria:
Código:
<link rel="stylesheet" href="/cms/templates/eltemplate/css/template.css" type="text/css" />
espero les sirva
  #5 (permalink)  
Antiguo 30/07/2009, 11:13
 
Fecha de Ingreso: noviembre-2004
Mensajes: 60
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Si uso sh404SEF no carga la hoja de estilo

El codigo html de mi plantilla es asi, en ningun lado me parece como vos me lo mostras, como lo soluciono ?

Código:
<?php
/**
* @package   yoo_phoenix Template
* @version   1.5.2 2009-07-03 16:40:03
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) 2007 - 2009 YOOtheme GmbH
*/

// no direct access
defined('_JEXEC') or die('Restricted access');

JHTML::_('behavior.mootools');

// include config	
include_once(dirname(__FILE__).'/config.php');
	
?>
<!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; ?>" dir="<?php echo $this->direction; ?>" >
<head>
<jdoc:include type="head" />
<link rel="apple-touch-icon" href="<?php echo $template->url ?>/apple_touch_icon.png" />
</head>

<body id="page" class="yoopage <?php echo $this->params->get('columns'); ?> <?php echo $this->params->get('itemcolor'); ?> <?php echo $this->params->get('toolscolor'); ?>">

	<?php if($this->countModules('absolute')) : ?>
	<div id="absolute">
		<jdoc:include type="yoomodules" name="absolute" />
	</div>
	<?php endif; ?>

	<div id="page-body">
		<div class="wrapper">
			<div class="wrapper-bg1">
				<div class="wrapper-bg2">

					<div id="header">
		
						<div id="toolbar">
						
							<?php if($this->params->get('date')) : ?>
							<div id="date">
								<?php echo JHTML::_('date', 'now', JText::_('DATE_FORMAT_LC')) ?>
							</div>
							<?php endif; ?>
						
							<?php if($this->countModules('toolbarleft')) : ?>
							<div class="left">
								<jdoc:include type="yoomodules" name="toolbarleft" style="yoo" />
							</div>
							<?php endif; ?>
							
							<?php if($this->countModules('toolbarright')) : ?>
							<div class="right">
								<jdoc:include type="yoomodules" name="toolbarright" style="yoo" />
							</div>
							<?php endif; ?>
							
						</div>
						
						<div id="headerbar">
						
							<?php if($this->countModules('headerleft')) : ?>
							<div class="left">
								<jdoc:include type="yoomodules" name="headerleft" style="yoo" />
							</div>
							<?php endif; ?>
							
							<?php if($this->countModules('headerright')) : ?>
							<div class="right">
								<jdoc:include type="yoomodules" name="headerright" style="yoo" />
							</div>
							<?php endif; ?>
							
						</div>
		
						<div id="menubar">
							<div class="menubar-2">
								<div class="menubar-3"></div>
							</div>
						</div>
		
						<?php if($this->countModules('logo')) : ?>		
						<div id="logo">
							<jdoc:include type="yoomodules" name="logo" />
						</div>
						<?php endif; ?>
		
						<?php if($this->countModules('menu')) : ?>
						<div id="menu">
							<jdoc:include type="yoomodules" name="menu" style="yoo" />
						</div>
						<?php endif; ?>
		
						<?php if($this->countModules('search')) : ?>
						<div id="search">
							<jdoc:include type="yoomodules" name="search" />
						</div>
						<?php endif; ?>
			
						<?php if ($this->countModules('banner')) : ?>
						<div id="banner">
							<jdoc:include type="yoomodules" name="banner" />
						</div>
						<?php endif; ?>
		
					</div>
					<!-- header end -->
		
					<?php if ($this->countModules('top + topblock')) : ?>
					<div id="top">
				
						<?php if($this->countModules('topblock')) : ?>
						<div class="topblock width100 float-left">
							<jdoc:include type="yoomodules" name="topblock" style="yoo" />
						</div>
						<?php endif; ?>
			
						<?php if ($this->countModules('top')) : ?>
							<jdoc:include type="yoomodules" name="top" wrapper="topbox float-left" layout="<?php echo $this->params->get('top'); ?>" style="yoo" />
						<?php endif; ?>
												
					</div>
					<!-- top end -->
					<?php endif; ?>
		
					<div id="middle">
						<div id="middle-expand">
						
							<div id="main">
								<div id="main-shift">
								
									<?php if ($this->countModules('maintop')) : ?>
									<div id="maintop">
										<jdoc:include type="yoomodules" name="maintop" wrapper="maintopbox float-left" layout="<?php echo $this->params->get('maintop'); ?>" style="yoo" />									
									</div>
									<!-- maintop end -->
									<?php endif; ?>
		
									<div class="mainmiddle-wrapper-tl">
										<div class="mainmiddle-wrapper-tr">
											<div class="mainmiddle-wrapper-t">
												<div class="contentleft-bg">
													<div class="contentright-bg"></div>
												</div>
											</div>
										</div>
									</div>
		
									<div class="mainmiddle-wrapper-m">
										<div class="contentleft-bg">
											<div class="contentright-bg">
				
												<div id="mainmiddle">
													<div id="mainmiddle-expand">
													
														<div id="content">
															<div id="content-shift">
															
																<?php if ($this->countModules('contenttop')) : ?>
																<div id="contenttop">
																	<jdoc:include type="yoomodules" name="contenttop" wrapper="contenttopbox float-left" layout="<?php echo $this->params->get('contenttop'); ?>" style="yoo" />
																</div>
																<!-- contenttop end -->
																<?php endif; ?>
									
																<?php if ($this->countModules('breadcrumbs')) : ?>
																<div id="breadcrumbs">
																	<jdoc:include type="yoomodules" name="breadcrumbs" />
																</div>
																<?php endif; ?>
									
																<div class="floatbox">
																	<jdoc:include type="message" />
																	<jdoc:include type="component" />
																</div>
									
																<?php if ($this->countModules('contentbottom')) : ?>
																<div id="contentbottom">
																	<jdoc:include type="yoomodules" name="contentbottom" wrapper="contentbottombox float-left" layout="<?php echo $this->params->get('contentbottom'); ?>" style="yoo" />
																</div>
																<!-- mainbottom end -->
																<?php endif; ?>
															
															</div>
														</div>
														<!-- content end -->
														
														<?php if($this->countModules('contentleft') && !class_exists('JEditor')) : ?>
														<div id="contentleft">
															<jdoc:include type="yoomodules" name="contentleft" style="yoo" />
														</div>
														<?php endif; ?>
														
														<?php if($this->countModules('contentright') && !class_exists('JEditor')) : ?>
														<div id="contentright">
															<jdoc:include type="yoomodules" name="contentright" style="yoo" />
														</div>
														<?php endif; ?>
														
													</div>
												</div>
												<!-- mainmiddle end -->
				
											</div>
										</div>
									</div>
		
									<div class="mainmiddle-wrapper-bl">
										<div class="mainmiddle-wrapper-br">
											<div class="mainmiddle-wrapper-b">
												<div class="contentleft-bg">
													<div class="contentright-bg"></div>
												</div>
											</div>
										</div>
									</div>
		
									<?php if ($this->countModules('mainbottom')) : ?>
									<div id="mainbottom">
										<jdoc:include type="yoomodules" name="mainbottom" wrapper="mainbottombox float-left" layout="<?php echo $this->params->get('mainbottom'); ?>" style="yoo" />
									</div>
									<!-- mainbottom end -->
									<?php endif; ?>
								
								</div>
							</div>
							
							<?php if($this->countModules('left')) : ?>
							<div id="left">
								<jdoc:include type="yoomodules" name="left" style="yoo" />
							</div>
							<?php endif; ?>
							
							<?php if($this->countModules('right') && !class_exists('JEditor')) : ?>
							<div id="right">
								<jdoc:include type="yoomodules" name="right" style="yoo" />
							</div>
							<?php endif; ?>
							
						</div>
					</div>
		
					<?php if ($this->countModules('bottom + bottomblock')) : ?>
					<div id="bottom">
							
						<?php if ($this->countModules('bottom')) : ?>
							<jdoc:include type="yoomodules" name="bottom" wrapper="bottombox float-left" layout="<?php echo $this->params->get('bottom'); ?>" style="yoo" />
						<?php endif; ?>
						
						<?php if($this->countModules('bottomblock')) : ?>
						<div class="bottomblock width100 float-left">
							<jdoc:include type="yoomodules" name="bottomblock" style="yoo" />
						</div>
						<?php endif; ?>
									
					</div>
					<!-- bottom end -->
					<?php endif; ?>
		
					<div id="footer">
						<a class="anchor" href="#page"></a>
						<jdoc:include type="yoomodules" name="footer" />
						<jdoc:include type="yoomodules" name="debug" />
					</div>
					<!-- footer end -->

				</div>
			</div>
		</div>
	</div>

</body>
</html>
__________________
Estoy armando una web (portal de servicios) utilasando joomla, los interesados mandanme un msj privado
  #6 (permalink)  
Antiguo 30/07/2009, 15:35
Avatar de Larenz
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Nicaragua
Mensajes: 1.398
Antigüedad: 17 años, 3 meses
Puntos: 55
Respuesta: Si uso sh404SEF no carga la hoja de estilo

Revisa aquí:

Código:
// include config	
include_once(dirname(__FILE__).'/config.php');
Busca el archivo config.php, puede que allí llame diferente a tu hoja de estilos. Fíjate bien en el post de Ruben_C. Siempre es bueno leer detenidamente los post y encontrar las respuestas, muchas veces nos ofuscamos en qué es difícil hacerlo y no damos con nada, lee detenidamente porque Ruben_C te da una posible solución a tu problema.

Ahora si no quieres editar directamente el archivo config.php, bien puedes incluir el siguiente código entre los tags <head></head>:

Código HTML:
<head>
<jdoc:include type="head" />
<link rel="apple-touch-icon" href="<?php echo $template->url ?>/apple_touch_icon.png" />
<link rel="stylesheet" href="<?php echo $template->url ?>/css/template.css" type="text/css" />
</head> 
También puedes intentar así:

Código HTML:
<head>
<jdoc:include type="head" />
<link rel="apple-touch-icon" href="<?php echo $template->url ?>/apple_touch_icon.png" />
<link rel="stylesheet" href="<?php echo $tmpTools->templateurl(); ?>/css/template.css" type="text/css" />
</head> 
Espero que hayas entendido la idea.
  #7 (permalink)  
Antiguo 30/07/2009, 20:45
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: Si uso sh404SEF no carga la hoja de estilo

hola de nuevo!!, no he intentado esto porque no lo he necesitado pero podrias eliminar
Código:
<jdoc:include type="head" />
y escribir en su lugar lo que corresponde (metas y links a hoja de estilo).

Lo otro es que te metas en: libraries/joomla/document/html/renderer/head.php

y modifiques directamente la parte de la hoja de estilos
Código PHP:
foreach ($document->_styleSheets as $strSrc => $strAttr )
        {
            
$strHtml .= $tab '<link rel="stylesheet" href="'.$strSrc.'" // aqui la direecion fija 

type="'
.$strAttr['mime'].'"';
            if (!
is_null($strAttr['media'])){
                
$strHtml .= ' media="'.$strAttr['media'].'" ';
            }
            if (
$temp JArrayHelper::toString($strAttr['attribs'])) {
                
$strHtml .= ' '.$temp;;
            }
            
$strHtml .= $tagEnd.$lnEnd;
        }

        
// Generate stylesheet declarations
        
foreach ($document->_style as $type => $content)
        {
            
$strHtml .= $tab.'<style type="'.$type.'">'.$lnEnd
no lo he probado asi que no se si funciona o no . Si encuentran el modo correcto por favor publikenlo
  #8 (permalink)  
Antiguo 30/07/2009, 21:35
Avatar de Larenz
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: Nicaragua
Mensajes: 1.398
Antigüedad: 17 años, 3 meses
Puntos: 55
Respuesta: Si uso sh404SEF no carga la hoja de estilo

El siguiente código no lo debes eliminar:

Código:
<jdoc:include type="head" />
Ya que es parte importante al cargar la plantilla, o sea llamar a la carga del header. Yo no trabajo los archivos de los tags <head></head> directamente en la plantilla. Lo que hago es usar el siguiente código en la plantilla:

Código:
<head>
<jdoc:include type="head" />
<?php JHTML::_('behavior.mootools'); ?>

<?php
  // incluir el arhivo header.php aqui
  include_once(JPATH_ROOT . "/templates/" . $this->template . '/header.php');	
?>
<link rel="stylesheet" href="css/template.css" type="text/css" />
</head>
O sea que creo un archivo header.php en el cual ingreso las rutas a las css, js, php, etc. Y con el código anterior puesto entre los tags <head>y</head>, llamo al archivo para su debido funcionamiento.

Honestamente nunca he tenido un problema similar con una plantilla al usar el sh404SEF. Sería bueno especificar qué plantilla está usando y verificar los archivos del los heads.
  #9 (permalink)  
Antiguo 05/08/2009, 10:58
 
Fecha de Ingreso: noviembre-2004
Mensajes: 60
Antigüedad: 19 años, 5 meses
Puntos: 0
Respuesta: Si uso sh404SEF no carga la hoja de estilo

Cita:
Iniciado por Larenz Ver Mensaje
Revisa aquí:

Código:
// include config	
include_once(dirname(__FILE__).'/config.php');
Busca el archivo config.php, puede que allí llame diferente a tu hoja de estilos. Fíjate bien en el post de Ruben_C. Siempre es bueno leer detenidamente los post y encontrar las respuestas, muchas veces nos ofuscamos en qué es difícil hacerlo y no damos con nada, lee detenidamente porque Ruben_C te da una posible solución a tu problema.

Ahora si no quieres editar directamente el archivo config.php, bien puedes incluir el siguiente código entre los tags <head></head>:

Código HTML:
<head>
<jdoc:include type="head" />
<link rel="apple-touch-icon" href="<?php echo $template->url ?>/apple_touch_icon.png" />
<link rel="stylesheet" href="<?php echo $template->url ?>/css/template.css" type="text/css" />
</head> 
También puedes intentar así:

Código HTML:
<head>
<jdoc:include type="head" />
<link rel="apple-touch-icon" href="<?php echo $template->url ?>/apple_touch_icon.png" />
<link rel="stylesheet" href="<?php echo $tmpTools->templateurl(); ?>/css/template.css" type="text/css" />
</head> 
Espero que hayas entendido la idea.
Hola, en el achivo config no e visto nada que aga referencia al template. E intentado de la segunda manera que me dijiste

Código:
<head>
<jdoc:include type="head" />
<link rel="apple-touch-icon" href="<?php echo $template->url ?>/apple_touch_icon.png" />
<link rel="stylesheet" href="<?php echo $template->url ?>/home/mgcweb/public_html/templates/yoo_phoenix/css/template.css" type="text/css" />
</head>
tambien intente con la segunda pero lanza error, el template es phoenix echo por yootheme del mes de julio.

tambien intente en la direccion /public_html/templates/yoo_phoenix/css/template.css pero no pasa nada sigue estando el mismo problema, disculpen mi ignorancia y espero que me puedan ayudar. desde ya muchas gracias
__________________
Estoy armando una web (portal de servicios) utilasando joomla, los interesados mandanme un msj privado
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 00:56.