Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Francispansa

URL amigavel

Recommended Posts

Bom dia a todos.

 

Bom estou desenvolvento um site com url amigavel, ele está funcionando perfeitamente, mas o meu problema é o seguinte, quando vou ver os detalhes de um produto tenho dois tamanho de imagens, os thumbnails e uma imagem maior de 300x200.

 

Nessa imagem de 300x200 eu estou utilizando JQzoom, bom na imagem inicial ele funciona, mas quando clico no thumbnail e altera a imagem de 300x200 ele já não funciona mais.

 

Eu uso esse mesmo script e nunca deu problema, somente agora que estou colocando o sistema de url amigavel.

 

Abaixo estão os arquivos que utilizo.:

 

.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?pg=$1

detalhes.php

<?php
$query = mysql_query("SELECT * FROM produtos WHERE id= '$id' LIMIT 0,1");
if( mysql_num_rows($query)!= 0 ) {
$reg = mysql_fetch_assoc($query);
$titulo = utf8_encode($reg['titulo']);
$descricao = utf8_encode($reg['descricao'] );
$valor = $reg['valor'];
$ref = $reg['referencia'];

$prod_id = array();
$prod_titulo = array();
$cont = 0;
$pos = -1;
$query = mysql_query("SELECT * FROM produtos WHERE status='A' ORDER BY id ASC");
while($reg2 = mysql_fetch_assoc($query)) {
if($reg2['id'] == $id) $pos = $cont;
$prod_id[$cont] = $reg2['id'];
$prod_titulo[$cont] = $reg2['descricao'];
$cont++;
}
}
else {
$titulo = '';
$descricao = '';
}
?>

<div id="produtos_detalhes">
<div class="titulo"><?php echo $titulo?></div>
<div class="ref"><?php echo "REF: ".$ref?></div>
<div class="imagens">
<?php

// AQUI É CHAMADA A IMAGEM DE 300x200

$query = mysql_query("SELECT * FROM produtos where id='$id' ORDER BY id ASC LIMIT 0,1");
if( mysql_num_rows($query) != 0 ) {
$reg = mysql_fetch_assoc($query);
$msg = '<div id="img_produto">';
$msg .= '<a href="http-~~-//'.$_SERVER['HTTP_HOST'].'/admin/'.$reg['imagem'].'" rel="imagem" title="'.$reg['titulo'].'">';
$msg .= '<img src="http-~~-//'.$_SERVER['HTTP_HOST'].'/admin/'.$reg['thumb2'].'" width="370" border="0" >';
$msg .= '</a>';
$msg .= '</div>';
echo $msg;
}
?>
<?php
$sql = mysql_query("SELECT *FROM produtos WHERE id='$id'");

$dados = mysql_fetch_assoc($sql);
echo '<img src="http-~~-//'.$_SERVER['HTTP_HOST'].'/admin/'.$dados['thumb2'].'" width="120" height="80" class="thumbs" onclick="foto_principal(\''.$id.'\')">';
?>
<?php
$query = "select * from produtos_imagens where id_produto=".$id." order by id_img asc";
$res = mysql_query( $query );
if( mysql_num_rows( $res ) != 0 ) {


$total = 0;
while( $reg = mysql_fetch_assoc( $res ) ) {
if( $total == 4 ) {
$total = 1;
}
else {

$total++;
}
echo '<img src="http-~~-//'.$_SERVER['HTTP_HOST'].'/admin/'.$reg['thumb2'].'" width="120" height="80" class="thumbs" onclick="alterar_foto(\''.$reg['id_img'].'\')">';
}
for( $i=$total; $i<4; $i++ );
}
?>
</div>
<div id="informacoes">
<?php
$sql3 = mysql_query("SELECT * FROM produtos WHERE id=".$id."");
$dados3 = mysql_fetch_assoc($sql3);
$cat = $dados3['categoria'];

?>
<div class="titulo2">Descrição</div>
<div class="conteudo3"><?php echo $descricao?></div>

<?php if($valor != "") {?>
<div class="titulo2">Valor</div>
<div class="conteudo3"><?php echo "R$ ".$valor; ?></div>
<?php } ?>
</div>
<div class="clear"></div>
<div id="quantidade">
<?php
$aux = $pos+1;
if( $pos > 0 ) {
$anterior = $prod_id[$pos-1];
echo '<a href="/site/detalhes/'.$anterior.'/'.$cat.'/">';
echo '<img src="http-~~-//'.$_SERVER['HTTP_HOST'].'/site/images/seta_esq.jpg" border="0" />';
echo '</a>';
}
echo 'mostrando '.$aux.' de '.$cont;
if( $pos < $cont-1 ) {
$proximo = $prod_id[$pos+1];
echo '<a href="/site/detalhes/'.$proximo.'/'.$cat.'/">';
echo '<img src="http-~~-//'.$_SERVER['HTTP_HOST'].'/site/images/seta_dir.jpg" border="0" />';
echo '</a>';
}
?>
</div>
</div>

 

produto_img.php

<?php

$id_img = $_REQUEST['id_img'];

$query = mysql_query("SELECT * FROM produtos_imagens WHERE id_img='".$id_img."'");

if( mysql_num_rows($query) != 0 ){
$reg  = mysql_fetch_assoc($query);
$msg  = '<a href="http-~~-//'.$_SERVER['HTTP_HOST'].'/admin/'.$reg['imagem'].'" rel="imagem" title="'.$reg['produto'].'">';
$msg .= '<img src="http-~~-//'.$_SERVER['HTTP_HOST'].'/admin/'.$reg['thumb2'].'" width="370" border="0" >';
$msg .= '</a>';

echo $msg;

}
?>

 

Java que faz a chamada da imagem quando clico no thumbnail

function alterar_foto(id){

var xmlHttp;

try {
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
} catch (e) {
// Internet Explorer
try {
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
} catch (e){
try {
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
alert("Seu navegador não suporta AJAX!");
return false;
}
}
}

xmlHttp.onreadystatechange=function() {
if(xmlHttp.readyState==4) {
document.getElementById('img_produto').innerHTML = xmlHttp.responseText;
}
}

var url = "http://localhost/site/pages/produto_img.php?id_img=" + id ;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}

Se alguem puder me dar uma luz fico grato.

 

Abrass

Compartilhar este post


Link para o post
Compartilhar em outros sites

$_SERVER['HTTP_HOST']

 

Faltou colocar algumas variáveis dessas em alguns links.

Revise isso.

 

H4X0R, obrigado pela atenção.

 

Mas a requisição das imagem está funcionando normalmente, tipo quando eu clico no thumbnail a imagem altera normal.

O problema é q o JQzoom, não funciona mais.

 

Nesse link você pode ver um exemplo do que está acontecendo.

 

http://francis-g.com.br/sites/colorsul/detalhes/1/1/

 

Deixe a imagem principal carregar que você verá o efeito de zoom, apos isso clique em alguma das imagens menores ai tente ver o zoom dessa imagem, ela não vai funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta isso

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^(.*)$ index.php?pg=$1
RewriteRule !.(\.gif|\.GIF|\.jpg|\.JPG|\.jpeg|\.JPEG|\.png|\.PNG)$ index.php?pg=$1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta isso

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule ^(.*)$ index.php?pg=$1
RewriteRule !.(\.gif|\.GIF|\.jpg|\.JPG|\.jpeg|\.JPEG|\.png|\.PNG)$ index.php?pg=$1

Não funcionou.

 

Da erro e nem carrega a página.

 

Mas obrigado pela anteção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente colocar isso <base href="http://seusite.com.br/" /> entre as tags <head></head>.

 

Ou colocar a url absoluta dos arquivos .js, de repente resolve... :D

 

Guilherme, não obtive sucesso.

 

To procurando alguma forma diferente de criar esse meu .htaccess, to achando que o problema pode estar por ai.

 

Abrass

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu .htaccess está super simples e abrangante ATÉ DEMAIS. O problema não está nele.

Revise seu html, e as URLs utilizadas por esse JS.

 

Ok vou ver isso mais a fundo então.

 

Me diga uma coisa, será que não tem a ver com a forma que utilizo pra fazer a mudança das imagens?

Porque na variavel ali no java não está como url amigavel.

 

var url = "http://localhost/site/pages/produto_img.php?id_img=" + id ;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.