Pagina 1 di 1

Redirect pagina

Inviato: 11/10/2009, 12:27
da wiko85
Ciao a tutti, vorrei fare in modo da sostituite la scritta "Prodotto non trovato" quando un articolo viene eliminato con un redirect in home page
ho visto che la scritta viene generata in products_info.php ed il codice è

Codice: Seleziona tutto

<?php
  if ($product_check['total'] < 1) {
?>
      <tr>
        <td><?php new infoBox(array(array('text' => TEXT_PRODUCT_NOT_FOUND))); ?></td>
      </tr>
      <tr>
come potrei inserire un redirect alla home page?
oscommerce prevede già funzioni per i redirect? grazie!

Re: Redirect pagina

Inviato: 11/10/2009, 13:50
da 06voip
define('TEXT_PRODUCT_NOT_FOUND', '<a href="http://www.google.it"></a>');

non potendo provare ho un dubbio sul parametro 'text' => prima di TEXT_PRODUCT_NOT_FOUND

se funzia, dubito fortemente che sia una soluzione elegante :P

Oppure sarà qualcosa del genere nel codice:

<?php new infoBox(http://www.google.it); ?></td> :?: :?:

Re: Redirect pagina

Inviato: 11/10/2009, 14:44
da 06voip
opss :oops:

questo dovrebbe funzionare meglio:

<?php
if ($product_check['total'] < 1) {
?>
<tr>
<td><?PHP header("location: http://www.google.it"); ?></td>
</tr>
<tr>

Oppure si potrebbe sfruttare il file redirect.php già presente nella root di oscommerce ma non so come richiamarlo :shock:

Re: Redirect pagina

Inviato: 11/10/2009, 21:58
da wiko85
06voip ha scritto: <?php
if ($product_check['total'] < 1) {
?>
<tr>
<td><?PHP header("location: http://www.google.it"); ?></td>
</tr>
<tr>
con questa genera un errore perchè questa funzione viene già utilizzata in general.php

Re: Redirect pagina

Inviato: 11/10/2009, 21:58
da wiko85
06voip ha scritto:Oppure si potrebbe sfruttare il file redirect.php già presente nella root di oscommerce ma non so come richiamarlo :shock:
esatto... non ricordo come avviene il redirect di osc...
chi mi aiuta? 8)

Re: Redirect pagina

Inviato: 12/10/2009, 20:12
da 06voip
Allora è qualcosa che ha a che fare con FILENAME_REDIRECT ma non conosco il php :D

Bisognerà mettere qualcosa del genere:

<?php
if ($product_check['total'] < 1) {
?>
<tr>
<td><?php comando_php_per_fargli_capire_che_gli_si_sta_passando_un_link('FILENAME_REDIRECT'); ?></td>
</tr>
<tr>

che dici :?:

Re: Redirect pagina

Inviato: 12/10/2009, 20:22
da wiko85
ok... ci sono...
forse è tep_redirect('');

ora provo... :wink:

Re: Redirect pagina

Inviato: 12/10/2009, 20:32
da wiko85
ho provato con

Codice: Seleziona tutto

      <tr>
        <td><?php tep_redirect(tep_href_link(FILENAME_DEFAULT)); ?></td>
      </tr>
ma mi dà questo errore...

Codice: Seleziona tutto

Warning: Cannot modify header information - headers already sent by (output started at /home/includes/header.php:100) in /home/includes/functions/general.php on line 33
:( :( :(

Re: Redirect pagina

Inviato: 12/10/2009, 22:14
da 06voip
certo che è proprio di legno, sembra un semplice if ma tira in ballo 2 file :shock:

Ho visto che è un errore piuttosto noto, ne parlano qui:
http://www.p2pforum.it/forum/showthread.php?t=238137
http://razorblade.netsons.org/2009/01/1 ... eady-sent/
http://www.area82.it/articoli/warning:- ... nformation

Se cerchi in google trovi un sacco di posti dove ne parlano. Stando all'ultimo sembrerebbe che una cosa di questo tipo dovrebbe andare:

<?php ob_start(); tep_href_link(FILENAME_DEFAULT); ob_end_flush();?>

A logica mi farebbe pensare che la valorizzazione di FILENAME_DEFAULT, che è il file redirect.php, dovrebbe bastare.

Oppure così:

<?php if ($product_check['total'] < 1) { ?>
<?php ob_start(); header("location: http://www.google.it"); ob_end_flush();?>


Purtroppo non so come provare e non ho neanche in mente di quando uno possa incappare nella scritta "Prodotto non trovato" :P

ma una cosa però te la posso dire, non è brutto che si clicca su qualcosa e ci si ritrovi in un altro posto? a me sembrerebbe un errore applicativo, soprattutto se sono interessato all'oggetto, forse è meglio la scritta "Prodotto non trovato" oppure qualcosa del tipo "Prodotto momentaneamente non disponibile" così mi metto il cuore in pace :D poi non so le tue esigenze, però pensavo questo :roll:

Re: Redirect pagina

Inviato: 12/10/2009, 22:22
da wiko85
ma si... forse hai ragione...
forse è meglio evitare che un cliente interessato ad un prodotto si ritrovi in home page senza volerlo...

qui c'è una contrib che permette di visualizzare la scritta di prodotto non disponibile ed elenca prodotti che potrebbero interessare...
http://www.oscommerce.com/community/contributions,2821

che ne pensi? :wink:

Re: Redirect pagina

Inviato: 13/10/2009, 7:32
da 06voip
In questo caso una soluzione così la trovo decisamente molto più elegante :P :wink: ci sapere se funzia :?:

intanto ne ho preso nota per quando mi ritroverò ad affrontare questo problema :D

Re: Redirect pagina

Inviato: 15/10/2009, 21:29
da wiko85
si si... ti farò sapere com'è!

Re: Redirect pagina

Inviato: 22/10/2009, 21:11
da vampire
prova cosi

Codice: Seleziona tutto

<?php tep_redirect('http://indirizzoweb.com/file.php'); ?>
Fammi sapere

Ciao

Re: Redirect pagina

Inviato: 15/11/2009, 11:21
da 06voip
stavo guardando address_book_process.php e ho visto che all'inizio c'è un redirect, se può esserti utile come esempio.. :D