AGGIORNAMENTO della contrib manufacturers

Questo forum è dedicato alle discussioni riguardanti le contribution per osCommerce

Moderatore: mod Generali

Avatar utente
wolfz
membro Senior
membro Senior
Messaggi: 322
Iscritto il: 28/03/2005, 0:00
Località: Como
Contatta:

AGGIORNAMENTO della contrib manufacturers

Messaggio da wolfz »

wolfz ha scritto:ma è possibile che non si possa farglielo fare in automatico modificando opportunamente il file? sennò rimane scomodo quando si aggiungono e tolgono i produttori frequentemente.. come si fa a far girare più volte la sequenza che a me gira una volta sola? grazie
mi ero lamentato della contrib un poco scadente.. editare a mano?!?!?
ahahah

ho appena finito di ultimare quella automatizzata.. l'ho già uppata :D

potete scaricarla da qui..

adesso fa tutto in automatico
nella prossima versione ridemensionamento automatico.

http://www.oscommerce.com/community/contributions,2104

fatemi sapere

ciao ciao ;)
fares
membro Junior
membro Junior
Messaggi: 3
Iscritto il: 11/05/2005, 13:24

Re: AGGIORNAMENTO della contrib manufacturers

Messaggio da fares »

Ciao wolfz,

ho installato e sto provando il contributo di cui parli ma mi sono imbattuto in due problemi, il primo credo d'averlo risolto, mentre il secondo é un po' piú ostico.

1) Visualizzazione delle immagini in Mozilla Firefox:
Dopo aver copiato il file manufacturers.php al posto di quello vecchio non veniva visualizzata alcuna immagine nel suddetto browser, ma apportando delle seguenti modifiche a questo codice (che é l'originale):

Codice: Seleziona tutto

// Display a drop-down

      $manufacturers_array = array();



      if (MAX_MANUFACTURERS_LIST < 2) {

        $manufacturers_array[] = array('id' => '', 'text' => PULL_DOWN_DEFAULT);

      }



      while ($manufacturers = tep_db_fetch_array($manufacturers_query)) {

        $manufacturers_name = ((strlen($manufacturers['manufacturers_name']) > MAX_DISPLAY_MANUFACTURER_NAME_LEN) ? substr($manufacturers['manufacturers_name'], 0, MAX_DISPLAY_MANUFACTURER_NAME_LEN) . '..' : $manufacturers['manufacturers_name']);

        $manufacturers_array[] = array('id' => $manufacturers['manufacturers_id'],

                                       'text' => $manufacturers_name,

                                       'image' => $manufacturers['manufacturers_image'] );

      }



      $info_box_contents = array();
E cambiando un parte del file in:

Codice: Seleziona tutto

// Display a drop-down

      $manufacturers_array = array();



      if (MAX_MANUFACTURERS_LIST < 2) {

        $manufacturers_array[] = array('id' => '', 'text' => PULL_DOWN_DEFAULT);

      }



      while ($manufacturers = tep_db_fetch_array($manufacturers_query)) {

        $manufacturers_name = ((strlen($manufacturers['manufacturers_name']) > MAX_DISPLAY_MANUFACTURER_NAME_LEN) ? substr($manufacturers['manufacturers_name'], 0, MAX_DISPLAY_MANUFACTURER_NAME_LEN) . '..' : $manufacturers['manufacturers_name']);

        $manufacturers_array[] = array('id' => $manufacturers['manufacturers_id'],

                                       'text' => $manufacturers['manufacturers_name'],

                                       'image' => $manufacturers['manufacturers_image'],);

      }



      $info_box_contents = array();
Anche Firefox a cominciato a mostrare le immagini.

2) Il problema che ho adesso é che sia in IE che Firefox, se ho solo due produttori la seconda immagine (che é correttamente impostata in fatto di permessi) non viene visualizzata.
La cosa strana é che se aggiungo un terzo produttore e relativa immagine (che puo' anche essere quella che precedentemente non visualizzava) due immagini su tre vengono visualizzate.

Hai una qualche idea su dove mi conviene guardare per risolvere il problema?

Intanto grazie per il contributo,
fares
LanfreeDJ
membro Junior
membro Junior
Messaggi: 20
Iscritto il: 26/04/2005, 10:41

Messaggio da LanfreeDJ »

io non riesco mai a visulizzare l'ultima immagine, anche aggiungendone l' ultima qualunque essa sia non compare :(

qualcuno ha qualche idea?
Avatar utente
wolfz
membro Senior
membro Senior
Messaggi: 322
Iscritto il: 28/03/2005, 0:00
Località: Como
Contatta:

Messaggio da wolfz »

LanfreeDJ ha scritto:io non riesco mai a visulizzare l'ultima immagine, anche aggiungendone l' ultima qualunque essa sia non compare :(

qualcuno ha qualche idea?
è un bug.. :(
aggiungine una alla fine e lasciala vuota ;)
Ciao Ciao ;)
Avatar utente
wolfz
membro Senior
membro Senior
Messaggi: 322
Iscritto il: 28/03/2005, 0:00
Località: Como
Contatta:

Re: AGGIORNAMENTO della contrib manufacturers

Messaggio da wolfz »

fares ha scritto:Ciao wolfz,

ho installato e sto provando il contributo di cui parli ma mi sono imbattuto in due problemi, il primo credo d'averlo risolto, mentre il secondo é un po' piú ostico.

1) Visualizzazione delle immagini in Mozilla Firefox:
Dopo aver copiato il file manufacturers.php al posto di quello vecchio non veniva visualizzata alcuna immagine nel suddetto browser, ma apportando delle seguenti modifiche a questo codice (che é l'originale):

Anche Firefox a cominciato a mostrare le immagini.

Hai una qualche idea su dove mi conviene guardare per risolvere il problema?

Intanto grazie per il contributo,
fares
a me non si visualizzano ancora le immagini con firefox...
tu che dici?
Ciao Ciao ;)
LanfreeDJ
membro Junior
membro Junior
Messaggi: 20
Iscritto il: 26/04/2005, 10:41

Messaggio da LanfreeDJ »

così il problema però si risolve in parte, cioè cmq vine visualizzato l' errore relativo all' immagine non presente ed è esteticamente sgradevole da vedere... grazie cmq per l' aiuto!

qualcuno l' avrà corretto questo bug... o no? :P
Avatar utente
wolfz
membro Senior
membro Senior
Messaggi: 322
Iscritto il: 28/03/2005, 0:00
Località: Como
Contatta:

Messaggio da wolfz »

LanfreeDJ ha scritto:così il problema però si risolve in parte, cioè cmq vine visualizzato l' errore relativo all' immagine non presente ed è esteticamente sgradevole da vedere... grazie cmq per l' aiuto!

qualcuno l' avrà corretto questo bug... o no? :P
io non ancora.. sono tronato oggi a casa e non ne ho molta voglia..
vorrei prima farlo funzionare su firefox.. ;)
vedo di passare il problema ad un mio amico..
Ciao Ciao ;)
fares
membro Junior
membro Junior
Messaggi: 3
Iscritto il: 11/05/2005, 13:24

Messaggio da fares »

wolfz ha scritto: <snip>
vorrei prima farlo funzionare su firefox.. ;)
Ciao ragazzi,
scusate l'assenza, ma ho controllato il forum solo adesso.

Allego il codice completo che NON risolve il bug dell'ultima immagine, ma permette di visualizzare il tutto anche in firefox...
Chi si sta occupando di 'riempire' la sezione produttori sul progetto che sto curando non riesce a risolvere neanche lasciando l'ultimo inserimento senza immagine... appena ho un attimo provo ad inventarmi qualcosa.

Codice: Seleziona tutto

<?php

/*

  $Id: manufacturers.php,v 1.19 2003/06/09 22:17:13 hpdl Exp $



  osCommerce, Open Source E-Commerce Solutions

  http://www.oscommerce.com



  Copyright (c) 2003 osCommerce



  Released under the GNU General Public License

*/



  $manufacturers_query = tep_db_query("select manufacturers_id, manufacturers_name, manufacturers_image from " . TABLE_MANUFACTURERS . " order by manufacturers_name");

  if ($number_of_rows = tep_db_num_rows($manufacturers_query)) {

?>

<!-- manufacturers //-->

          <tr>

			<td>

<?php

    $info_box_contents = array();

    $info_box_contents[] = array('text' => BOX_HEADING_MANUFACTURERS);



    new infoBoxHeading($info_box_contents, false, false);



    if ($number_of_rows <= MAX_DISPLAY_MANUFACTURERS_IN_A_LIST) {

// Display a list

      $manufacturers_list = '';

      while ($manufacturers = tep_db_fetch_array($manufacturers_query)) {

        $manufacturers_name = ((strlen($manufacturers['manufacturers_name']) > MAX_DISPLAY_MANUFACTURER_NAME_LEN) ? substr($manufacturers['manufacturers_name'], 0, MAX_DISPLAY_MANUFACTURER_NAME_LEN) . '..' : $manufacturers['manufacturers_name']);

        if (isset($HTTP_GET_VARS['manufacturers_id']) && ($HTTP_GET_VARS['manufacturers_id'] == $manufacturers['manufacturers_id'])) $manufacturers_name = '<b>' . $manufacturers_name .'</b>';

        $manufacturers_list .= '<a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $manufacturers['manufacturers_id']) . '">' . $manufacturers_name . '</a><br>';

      }



      $manufacturers_list = substr($manufacturers_list, 0, -4);

      $info_box_contents = array();

      $info_box_contents[] = array('text' => $manufacturers_list);

    } else {

// Display a drop-down

      $manufacturers_array = array();



      if (MAX_MANUFACTURERS_LIST < 2) {

        $manufacturers_array[] = array('id' => '', 'text' => PULL_DOWN_DEFAULT);

      }



      while ($manufacturers = tep_db_fetch_array($manufacturers_query)) {

        $manufacturers_name = ((strlen($manufacturers['manufacturers_name']) > MAX_DISPLAY_MANUFACTURER_NAME_LEN) ? substr($manufacturers['manufacturers_name'], 0, MAX_DISPLAY_MANUFACTURER_NAME_LEN) . '..' : $manufacturers['manufacturers_name']);

        $manufacturers_array[] = array('id' => $manufacturers['manufacturers_id'],

                                       'text' => $manufacturers['manufacturers_name'],

                                       'image' => $manufacturers['manufacturers_image'],);

      }



      $info_box_contents = array();

?>

<script language="JavaScript" type="text/javascript">

var mfsites = [

<?php

    for ($i = 0; $i < count($manufacturers_array) - 1; $i++) {

      if ($manufacturers_array[$i]['image'] != "") {

       echo "['" . '<a target="_self" href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $manufacturers_array[$i]['id'] ) . '"> <img border="0" src="images/' . $manufacturers_array[$i]['image'] . '"></a>' . "'],";

      }

    }

    $i++;

    echo "['" . '<a target="_self" href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $manufacturers_array[$i]['id'] ) . '"> <img border="0" src="images/' . $manufacturers_array[$i]['image'] . '"></a>' . "'],";

?>

];



var mfIe = true;

if(document.all) {

mfIe = true;

}

var mfsitesIndex = 0;

function mfsitesChange() {

var htmlString = mfsites[mfsitesIndex][0];

if(mfIe) {

document.all.sites.innerHTML = htmlString;

}

else {

document.layers["sites"].document.all();

document.layers["sites"].document.write(htmlString);

document.layers["sites"].document.close();

}

if(mfsitesIndex < mfsites.length - 1)

mfsitesIndex++;

else

mfsitesIndex = 0;

}

setInterval("mfsitesChange()", 5000);

</script>

<?php

	  $info_box_contents[] = array('form' => tep_draw_form('manufacturers', tep_href_link(FILENAME_DEFAULT, '', 'NONSSL', false), 'get'),

                                   'text' => '<div id="sites" align="center"></div>' . tep_draw_pull_down_menu('manufacturers_id', $manufacturers_array, (isset($HTTP_GET_VARS['manufacturers_id']) ? $HTTP_GET_VARS['manufacturers_id'] : ''), 'onChange="this.form.submit();" size="' . MAX_MANUFACTURERS_LIST . '" style="width: 100%"') . tep_hide_session_id());

    }



  new InfoBox($info_box_contents);

?>

</td>

</tr>

<!-- manufacturers_eof //-->

<?php

  }

?>

Spero possa aiutarvi, a me funziona senza problemi (testato con firefox in linux e Mozilla 1.7 su solaris 10).

Fabio
LanfreeDJ
membro Junior
membro Junior
Messaggi: 20
Iscritto il: 26/04/2005, 10:41

Messaggio da LanfreeDJ »

infatti avevo già provato lasciando l' ultimo produttore senza immagine... ma il risultato non era cambiato...
cmq grazie per l' aiuto ^_^
Avatar utente
wolfz
membro Senior
membro Senior
Messaggi: 322
Iscritto il: 28/03/2005, 0:00
Località: Como
Contatta:

Messaggio da wolfz »

Codice: Seleziona tutto

<?php
/*
  $Id: manufacturers.php,v 1.19 2003/06/09 22:17:13 hpdl Exp $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2003 osCommerce

  Released under the GNU General Public License
*/

  $manufacturers_query = tep_db_query("select manufacturers_id, manufacturers_name, manufacturers_image from " . TABLE_MANUFACTURERS . " order by manufacturers_name");
  if ($number_of_rows = tep_db_num_rows($manufacturers_query)) {
?>
<!-- manufacturers //-->
          <tr>
			<td>
<?php
    $info_box_contents = array();
    $info_box_contents[] = array('text' => BOX_HEADING_MANUFACTURERS);

    new infoBoxHeading($info_box_contents, false, false);

    if ($number_of_rows <= MAX_DISPLAY_MANUFACTURERS_IN_A_LIST) {
// Display a list
      $manufacturers_list = '';
      while ($manufacturers = tep_db_fetch_array($manufacturers_query)) {
        $manufacturers_name = ((strlen($manufacturers['manufacturers_name']) > MAX_DISPLAY_MANUFACTURER_NAME_LEN) ? substr($manufacturers['manufacturers_name'], 0, MAX_DISPLAY_MANUFACTURER_NAME_LEN) . '..' : $manufacturers['manufacturers_name']);
        if (isset($HTTP_GET_VARS['manufacturers_id']) && ($HTTP_GET_VARS['manufacturers_id'] == $manufacturers['manufacturers_id'])) $manufacturers_name = '<b>' . $manufacturers_name .'</b>';
        $manufacturers_list .= '<a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $manufacturers['manufacturers_id']) . '">' . $manufacturers_name . '</a><br>';
      }

      $manufacturers_list = substr($manufacturers_list, 0, -4);
      $info_box_contents = array();
      $info_box_contents[] = array('text' => $manufacturers_list);
    } else {
// Display a drop-down

      $manufacturers_array = array();



      if (MAX_MANUFACTURERS_LIST < 2) {

        $manufacturers_array[] = array('id' => '', 'text' => PULL_DOWN_DEFAULT);

      }



      while ($manufacturers = tep_db_fetch_array($manufacturers_query)) {

        $manufacturers_name = ((strlen($manufacturers['manufacturers_name']) > MAX_DISPLAY_MANUFACTURER_NAME_LEN) ? substr($manufacturers['manufacturers_name'], 0, MAX_DISPLAY_MANUFACTURER_NAME_LEN) . '..' : $manufacturers['manufacturers_name']);

        $manufacturers_array[] = array('id' => $manufacturers['manufacturers_id'],

                                       'text' => $manufacturers['manufacturers_name'],

                                       'image' => $manufacturers['manufacturers_image'],);

      }



      $info_box_contents = array();
?>
<script language="JavaScript" type="text/javascript">
var mfsites = [
<?php
    for ($i = 0; $i < count($manufacturers_array) - 1; $i++) {
      if ($manufacturers_array[$i]['image'] != "") {
       echo "['" . '<a target="_self" href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $manufacturers_array[$i]['id'] ) . '">' . tep_image(DIR_WS_IMAGES . $manufacturers_array[$i]['image'], $manufacturers_array[$i]['text'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>' . "'],";
      }
    }
    $i++;
    echo "['" . '<a target="_self" href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $manufacturers_array[$i]['id'] ) . '">' . tep_image(DIR_WS_IMAGES . $manufacturers_array[$i]['image'], $manufacturers_array[$i]['text'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>' . "']";
?>
];

var mfIe = false;
if( document.all) {
mfIe = true;
}
var mfsitesIndex = 0;
function mfsitesChange() {
var htmlString = mfsites[mfsitesIndex][0];
if( mfIe) {
document.all.sites.innerHTML = htmlString;
}
else {
document.layers["sites"].document.open();
document.layers["sites"].document.write( htmlString);
document.layers["sites"].document.close();
}
if(mfsitesIndex < mfsites.length - 1)
mfsitesIndex++;
else
mfsitesIndex = 0;
}
setInterval("mfsitesChange()", 5000);
</script>
<?php
	  $info_box_contents[] = array('form' => tep_draw_form('manufacturers', tep_href_link(FILENAME_DEFAULT, '', 'NONSSL', false), 'get'),
                                   'text' => '</td><tr height="' . SMALL_IMAGE_HEIGHT . '"><td class="boxText"><div id="sites" align="center"></div></td></tr><td class="boxText">' . tep_draw_pull_down_menu('manufacturers_id', $manufacturers_array, (isset($HTTP_GET_VARS['manufacturers_id']) ? $HTTP_GET_VARS['manufacturers_id'] : ''), 'onChange="this.form.submit();" size="' . MAX_MANUFACTURERS_LIST . '" style="width: 100%"') . tep_hide_session_id());
    }

  new InfoBox($info_box_contents);
?>
</td>
</tr>
<!-- manufacturers_eof //-->
<?php
  }
?>
questa è la mia versione con ridimensionamento automatico delle immagini..
se riesci potresti integrartelo o quantomeno potremmo farne una versione unica..

fammi sapere.
Ciao Ciao ;)
LanfreeDJ
membro Junior
membro Junior
Messaggi: 20
Iscritto il: 26/04/2005, 10:41

Messaggio da LanfreeDJ »

ti ringrazio, ma personalmente non ho bisogno di ridimensionare i loghi dei produttori, in quanto ho usato sempre lo stesso modello per farli, quindi le stesse dimensioni... sarebbe più utile che il logo che si vede in alto a dx, una volta aperta la lista dei prodotti di un singolo produttore, mantenesse le proporzioni dell' originale...
e poi resta sempre il prob dell' ultimo logo non visualizzato... che ovviamente nella pagina indicata sopra è visibilissimo....

complimenti cmq per il lavoro svolto... :D

cya
Avatar utente
wolfz
membro Senior
membro Senior
Messaggi: 322
Iscritto il: 28/03/2005, 0:00
Località: Como
Contatta:

Messaggio da wolfz »

LanfreeDJ ha scritto:ti ringrazio, ma personalmente non ho bisogno di ridimensionare i loghi dei produttori, in quanto ho usato sempre lo stesso modello per farli, quindi le stesse dimensioni... sarebbe più utile che il logo che si vede in alto a dx, una volta aperta la lista dei prodotti di un singolo produttore, mantenesse le proporzioni dell' originale...
e poi resta sempre il prob dell' ultimo logo non visualizzato... che ovviamente nella pagina indicata sopra è visibilissimo....

complimenti cmq per il lavoro svolto... :D

cya
comunque per farne una versione unica e continuare il suo sviluppo sarebbe bello unire i nostri lavori ;)
per il prodotto a sinistra ti potrei passare la modifica per ridimensionarlo in automatico.. anch'io avevo pensato a quel problema ;)
aggiungerei ne più ne meno il codice che ho messo in questa contrib..
attendo un tuo riscontro.. favorevole :)
Ciao Ciao ;)
fares
membro Junior
membro Junior
Messaggi: 3
Iscritto il: 11/05/2005, 13:24

Messaggio da fares »

wolfz ha scritto:
questa è la mia versione con ridimensionamento automatico delle immagini..
se riesci potresti integrartelo o quantomeno potremmo farne una versione unica..

fammi sapere.
Ciao wolfz e grazie per il codice.

Adesso gli do uno sguardo e vedo se e come integrarlo.
L'ideale sarebbe che funzionasse sui browsers piú diffusi e che non avesse il problema dell'ultima immagine. Ma prima o poi ci riusciamo :)

Ciao,
fares
Avatar utente
wolfz
membro Senior
membro Senior
Messaggi: 322
Iscritto il: 28/03/2005, 0:00
Località: Como
Contatta:

Messaggio da wolfz »

dovrei aver risolto il problemuccio della x aggiungendo un nuovo array..
per ora ci sono degli out nella compilazione..
presto una soluzione definitiva.
... spero ...
:twisted:
Ciao Ciao ;)
LanfreeDJ
membro Junior
membro Junior
Messaggi: 20
Iscritto il: 26/04/2005, 10:41

Messaggio da LanfreeDJ »

ottimo, aspettiamo con ansia :)
Rispondi