Pagina 1 di 1

scelta da tendina

Inviato: 08/11/2006, 9:58
da onda
Ciao amici,
sto realizzando un negozio di oggettistica e vorrei realizzare una cosa che ho visto (almeno mi sembra) che in oscommerce manchi.Vi spiego subito il tutto:

vorrei poter creare sulla colonna di sinistra una tendina in cui ci sia una lista
di categorie (esempio: vassoi, piatti,candelieri, porta foto... etc. etc.)
il cliente ne seleziona una e automaticamente nella pagina centrale appaiono tuttti gli articoli correlati a quella categoria.

grazie 2000

Inviato: 08/11/2006, 11:06
da programmatore
probabilmente non ho capito: a me sembra ci sia già. Nel demo di oscommerce, se clicko su "Action" mi compaiono tutti i film d'azione.
Se mostri gli articoli "correlati" a quella categoria penso che sia poco utile, poi magari mi sbaglio: ad esempio clicko su "piatti" e mi ritrovo piatti ma anche bicchieri, vassoi, candelieri. Clicko su "bicchieri" e mi ritrovo bicchieri, piatti, vassoi, candelieri. :shock:

re

Inviato: 08/11/2006, 11:15
da onda
ciao programmatore,
ho dato uno sguardo al link che mi hai gentilmente incluso
nel post ed ho individuato ciò che occorre a me nella tendina
che nel tuo negozio risponde alla voce "Manufactures" sulla colonna di sinistra.
Io vorrei proprio una cosa di quel tipo....ovviamente a posto dei"Manufacturers" dovrei poter inserire le mie categorie

Come posso fare?

ciaooooo

Re: re

Inviato: 08/11/2006, 11:52
da programmatore
onda ha scritto:[...]nel tuo negozio risponde alla voce "Manufactures" sulla colonna di sinistra.
Io vorrei proprio una cosa di quel tipo....ovviamente a posto dei"Manufacturers" dovrei poter inserire le mie categorie [...]
Preciso che non è il "mio" negozio... è il demo di oscommerce così come lo si scarica da internet :)
"Manufacturers" è l'elenco dei produttori, ne hai chiaramente uno per ogni prodotto. Questo non ti permette di correlare fra loro le categorie... A questo punto non vorrei che ciò che vuoi in realtà sia solamente la trasformazione del menu da elenco a 'tendina'. In questo modo si tratterebbe di cambiare l'apparenza del menu. Se è così la modifica è molto semplice e veloce. Se mi dai conferma di questo guardo di preciso cosa devi modificare e te lo mando con il prossimo post.

Re: re

Inviato: 08/11/2006, 21:58
da marcus
onda ha scritto:Ciao amici,
sto realizzando un negozio di oggettistica e vorrei realizzare una cosa che ho visto (almeno mi sembra) che in oscommerce manchi.Vi spiego subito il tutto:

vorrei poter creare sulla colonna di sinistra una tendina in cui ci sia una lista
di categorie (esempio: vassoi, piatti,candelieri, porta foto... etc. etc.)
il cliente ne seleziona una e automaticamente nella pagina centrale appaiono tuttti gli articoli correlati a quella categoria.

grazie 2000
E' abbastanza semplice trasformare il box categorie in modo da ottenere un menù a tendina con jump automatico alla categoria selezionata, proprio come accade con il box Manufacturers.

Segui questi step:

1) inserisci nel file catalog/includes/functions/general.php

la seguente funzione:

Codice: Seleziona tutto

function tep_get_category_tree($parent_id = '0', $spacing = '', $exclude = '', $category_tree_array = '', $include_itself = false) {
	global $languages_id;

	if (!is_array($category_tree_array)) $category_tree_array = array();

	if ($include_itself) {
		$category_query = tep_db_query("select cd.categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " cd where cd.language_id = '" . (int)$languages_id . "' and cd.categories_id = '" . (int)$parent_id . "'");
		$category = tep_db_fetch_array($category_query);
		$category_tree_array[] = array('id' => $parent_id, 'text' => $category['categories_name']);
	}

	$categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' and c.parent_id = '" . (int)$parent_id . "' order by c.sort_order, cd.categories_name");
	while ($categories = tep_db_fetch_array($categories_query)) {
		if ($exclude != $categories['categories_id']) $category_tree_array[] = array('id' => $categories['categories_id'], 'text' => $spacing . $categories['categories_name']);
		$category_tree_array = tep_get_category_tree($categories['categories_id'], $spacing . '   ', $exclude, $category_tree_array);
	}

	return $category_tree_array;
}
2) Fai un backup del file catalog/includes/boxes/categories.php salvandolo come catalog/includes/boxes/categories.php.bk

3) Sostituisci il contenuto del file catalog/includes/boxes/categories.php con questo:

Codice: Seleziona tutto

<!-- categories //-->
          <tr>
            <td>

<?php

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

   new infoBoxHeading($info_box_contents, false, false);

   $categories_string = tep_draw_form('goto', tep_href_link(FILENAME_DEFAULT, '', 'NONSSL', false), 'get') .
   ' ' . tep_draw_pull_down_menu('cPath', tep_get_category_tree(), $current_category_id, 'onChange="this.form.submit();"') . tep_hide_session_id() . '</form>';

   $info_box_contents = array();
   $info_box_contents[] = array(align=>'center', 'text' => $categories_string);

   new infoBox($info_box_contents);
   ?>
               </td>
          </tr>
<!-- categories_eof //--> 

Come risultato nel box categorie dovrebbe ora apparire un menù a tendina con le categorie, con jump alla categoria selezionata.

Saluti
Marcus

re: scelta da tendina

Inviato: 09/11/2006, 9:27
da onda
Ciao Marcus :wink:
io vorrei però mantenere inalterato il box delle categorie in quanto dovrebbe rimanere esattamente come è di default in oscommerce.
Quello che vorrei realizzare è un ulteriore box (con sistema a tendina )
in cui correlare delle categorie(che non sono le stesse del box di default)
con i prodotti presenti nel negozio.

Grazie
onda

re: scelta da tendina

Inviato: 09/11/2006, 9:27
da onda
Ciao Marcus :wink:
io vorrei però mantenere inalterato il box delle categorie in quanto dovrebbe rimanere esattamente come è di default in oscommerce.
Quello che vorrei realizzare è un ulteriore box (con sistema a tendina )
in cui correlare delle categorie(che non sono le stesse del box di default)
con i prodotti presenti nel negozio.

Grazie
onda

re: scelta da tendina

Inviato: 09/11/2006, 9:28
da onda
Ciao Marcus :wink:
io vorrei però mantenere inalterato il box delle categorie in quanto dovrebbe rimanere esattamente come è di default in oscommerce.
Quello che vorrei realizzare è un ulteriore box (con sistema a tendina )
in cui correlare delle categorie(che non sono le stesse del box di default)
con i prodotti presenti nel negozio.

Grazie
onda

Re: re: scelta da tendina

Inviato: 09/11/2006, 19:10
da Bass
onda ha scritto: Quello che vorrei realizzare è un ulteriore box (con sistema a tendina )
in cui correlare delle categorie(che non sono le stesse del box di default)
con i prodotti presenti nel negozio.
Se non usi il box produttori per i produttori puoi usarlo per quello che ti serve, ad esempio se invece di mettere il nome del produttore metti piatti, tazzine bicchieri e poi assegni al prodotto uno di questi nomi (dall'apposito menu nella scheda di creazione prodotto) dovresti ottenere quello che vuoi...

'iao

Sergio

Re: re: scelta da tendina

Inviato: 09/11/2006, 20:10
da marcus
onda ha scritto:Ciao Marcus :wink:
io vorrei però mantenere inalterato il box delle categorie in quanto dovrebbe rimanere esattamente come è di default in oscommerce.
Quello che vorrei realizzare è un ulteriore box (con sistema a tendina )
in cui correlare delle categorie(che non sono le stesse del box di default)
con i prodotti presenti nel negozio.

Grazie
onda
Questo non lo avevi specificato nel primo post !

Se non ti serve utilizzare il box produttori fai come ti ha scritto Bass sopra.

Altrimenti è necessario aggiungere una tabella per le categorie extra e un campo aggiuntivo nella tabella prodotti per correlare i prodotti alle categorie extra. La logica è comunque la stessa.

Saluti
Marcus

re

Inviato: 10/11/2006, 9:44
da onda
Ciao Marcus,
ahimè non posso utilizzare il box produttori in quanto già in uso
in questo mio negozio.
Quindi penso che la seconda opzione che mi hai consigliato è quella
più percorribile: esiste una contribution per applicarla?..non avendo
conoscenze di programmazione, temo che andando fare tutto manualmente aggiungendo tabelle e campi, potrei incontrare difficoltà, anche xchè immagino che le modifiche vadano fatte sia a livello di negozio che di amministrazione.

Fammi sapere

GRAZIE ancora :o :wink:

re

Inviato: 10/11/2006, 17:43
da onda
dopo una lunga ricerca ho trovato questa contribute:

http://www.oscommerce.com/community/con ... ufacturers

a quanto ho visto crea praticamente un secondo box di produttori, che io posso utilizzare per il mio caso.
Ho provato ad installarla, ma mi da dei problemi (fortunatamente avevo fatto il backup). ho installato le tabelle tranquillamente, ma quando ho iniziato a modificare i file come mi veniva spiegato, mi dava degli errori, non so se ciò sia dovuto al conflitto con alcune contribution già presenti nel mio totalpack (in modo particolare credo con B2B).

Inviato: 27/12/2006, 14:08
da Feral
Salve Marcus,
ho provato ad apportare le modifiche che hai indicato tu per ottenere un box "categorie" come quello dei "produttori".

Apparentemente funziona visto che il layout cambia con un menu categorie strutturato a tendina, ma in realtà poi il link diretto alla pagina dei prodotti di categoria non funge, restituendo una pagina di categoria vuota senza prodotti.

Ciò inoltre compromette anche il box dei produttori passandogli lo stesso difetto.

Visto che avrò una lista di categorie molto ampie per il mio sito mi faceva davvero comodo un box a tendina =P

Che si può fare?

Grazie mille fate davvero un grosso lavoro!

Inviato: 27/12/2006, 22:26
da marcus
Feral ha scritto:Salve Marcus,
ho provato ad apportare le modifiche che hai indicato tu per ottenere un box "categorie" come quello dei "produttori".

Apparentemente funziona visto che il layout cambia con un menu categorie strutturato a tendina, ma in realtà poi il link diretto alla pagina dei prodotti di categoria non funge, restituendo una pagina di categoria vuota senza prodotti.

Ciò inoltre compromette anche il box dei produttori passandogli lo stesso difetto.

Visto che avrò una lista di categorie molto ampie per il mio sito mi faceva davvero comodo un box a tendina =P

Che si può fare?

Grazie mille fate davvero un grosso lavoro!
Salve Feral,

si c'era un errore nel codice del box categories che ho corretto e che ti riporto per comodità qui sotto. Fammi sapere.

Codice: Seleziona tutto

<!-- categories //-->
          <tr>
            <td>

<?php

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

   new infoBoxHeading($info_box_contents, false, false);

   $categories_string = tep_draw_form('goto', tep_href_link(FILENAME_DEFAULT, '', 'NONSSL', false), 'get') .
   ' ' . tep_draw_pull_down_menu('cPath', tep_get_category_tree(), $current_category_id, 'onChange="this.form.submit();"') . tep_hide_session_id() . '</form>';

   $info_box_contents = array();
   $info_box_contents[] = array(align=>'center', 'text' => $categories_string);

   new infoBox($info_box_contents);
   ?>
               </td>
          </tr>
<!-- categories_eof //--> 
Saluti
Marcus

Inviato: 28/12/2006, 10:22
da Feral
MArcus ti ringrazio tantissimo,

spero di diventare sufficientemente bravo da poter anch'io dare una mano! =)

intanto ti faccio i miei migliori auguri di buon 2007!!

ciao