Jump to content

Salvataggio Categories Tree


GianPAV

Recommended Posts

Ciao a tutti, sto lavorando su un modulo, che deve effettuare dei calcoli solo in prodotti presenti in determinate categorie.

 

Quindi ho utilizzato l'HelperTreeCategories per la creazione automatica dell'albero delle categorie.

 

Il problema è che al salvataggio della configurazione del modulo, vengono memorizzati tutti i dati, tranne quelli dell'HelperTreeCategories.

 

Impostando le categorie, se riapro il modulo risultano tutte non selezionate, e quindi nemmeno sul frontend e nel file product.php riesco a recuperare l'array che mi serve.

 

Ho provato a seguire le guide, anche tramite un manuale acquistato e vari esempi trovati su internet, ho anche provato a copiare la struttura da altri moduli, ma non funziona comunque il salvataggio.

 

Al momento la parte di codice è questa:

 

Nella funzione getContent(), se il modulo è correttamente configurato:

Configuration::updateValue('wi_tax_categories', Tools::getValue('wi_tax_categories')); 

Nella funzione displayForm()

$root = Category::getRootCategory();
//Generating the tree
$tree = new HelperTreeCategories('categories_treeview'); //The string in param is the ID used by the generated tree
$tree->setUseCheckBox(true)
    ->setAttribute('is_category_filter', $root->id)
    ->setRootCategory($root->id)
    ->setSelectedCategories(array((int)Configuration::get('wi_tax_categories')))
    ->setUseSearch(true)
    ->setInputName('wi_tax_categories'); //Set the name of input. The option "name" of $fields_form doesn't seem to work with "categories_select" type
$categoryTreeCol = $tree->render();

Come contenuto di input dell' $fields_form[0]['form'] = array()

array(
   'type'  => 'categories_select',
   'label' => $this->l('Categorie'),
   'name'  => 'wi_tax_categories',
   'category_tree'  => $categoryTreeCol // qui richiamo la struttura renderizzata (creata)
),

Per il caricamento delle informazioni già presenti sul DB, quindi dopo il salvataggio del form, al momento iniziale:

$helper->fields_value['wi_tax_categories'] = Configuration::get('wi_tax_categories');

Ed infine, nella funzione hookDisplayLeftColumn() che utilizzo per le variabili di smarty da poter utilizzare nel frontend:

// Recupero categorie
$elencoCats = $helper->fields_value['wi_tax_categories'] = Configuration::get('wi_tax_categories');

$this->context->smarty->assign(
   array(
      ########
      'wielencocats' => $elencoCats
   ));

Non mi da nessun tipo di errore di codice tra configurazione, installazione e salvataggio, infatti altre variabili presenti, e i calcoli vengono effettuati correttamente.

Quindi riepilogando l'unica cosa che non viene effettuata è il salvataggio delle categorie selezionate, e il recupero quindi di esse in frontend, dove giustamente non trovando valori memorizzati nella variabile, mi viene restituita un array false.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...