apr 23

Un buon tutorial:
http://www.magentix.fr/modules-magento/ajouter-categorie-attributs-champs-personnalises.html

Se però il campo aggiuntivo deve essere una select popolata dinamicamente, serve qualche ulteriore passo.
Il file mysql4-install-0.1.0.php dovrà essere così:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
startSetup();
 
$installer->addAttribute('catalog_category', 'drilldown_link', array(
                        'type'              => 'int',
                        'backend'           => '',
                        'frontend'          => '',
                        'label'             => 'Attributo collegato (drilldown L2):',
                        'input'             => 'select',
                        'class'             => '',
                        'source'            => 'bundle/drilldownl2',
                        'global'            => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
                        'visible'           => 1,
                        'required'          => 0,
                        'user_defined'      => 0,
                        'default'           => '',
                        'searchable'        => 0,
                        'filterable'        => 0,
                        'comparable'        => 0,
                        'visible_on_front'  => 0,
                        'unique'            => 0,
                        'position'          => 1,
			'note'		    => '',
			'apply_to'	    => 'bundle',
                    ));
 
$installer->endSetup();

Le righe modificate rispetto al tutorial seguito sono:
'input' => 'select'
'source' => 'bundle/drilldownl2'

con la seconda, specifichiamo il model che Magento andrà a cercare per popolare la select.
In altre parole, il sistema si aspetta di trovare questo file:
app/code[/local]/Mage/Bundle/Model/drilldownl2.php
che dovrà contenere un metodo getAllOptions().
Ecco il codice:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
 
class Mage_Bundle_Model_DrilldownL2 extends Mage_Eav_Model_Entity_Attribute_Source_Abstract
{
 public function getAllOptions()
 {
 if (is_null($this->_options)) {
 $this->_options = array();
 
 $this->_options = array(
 array(
 'label' => Mage::helper('bundle')->__('Uno'),
 'value' =>  1
 ),
 array(
 'label' => Mage::helper('bundle')->__('Due'),
 'value' =>  0
 ),
 );
 }
 return $this->_options;
 }
}
 
?>
Tagged with:
apr 23

Utile estensione che permette di impostare differenti metodi di spedizione basati su differenti regole: paese di provenienza del cliente, prezzo/quantità/peso dell’ ordine….

L’estensione si installa via MagentoConnect da qui:
http://www.magentocommerce.com/magento-connect/Yarhajile/extension/728/multiple-tablerates

(se MagentoConnect non riuscisse a scaricare i files, ecco il link diretto:
http://connect.magentocommerce.com/community/get/Pw_Multipletablerates-0.2.2.tgz )

Un tutorial utile per la configurazione:
http://webshop-conversion.com/2009/06/27/importing-and-exporting-table-rates-in-magento/

Ecco i passaggi:

1)   System -> Configuration -> Shipping Methods

2)  scegliere Multiple Tablerates:
sono visibili le opzioni di configurazione generali, ma non la funzione import/export CSV

3)  scegliere il website dalla tendina in alto a sinistra:
a questo punto compaiono i pusanti Import e Export.

Le regole vengono definite nel file CSV che poi bisogna importare. La sintassi è spiegata qui:
http://www.magentocommerce.com/boards/viewthread/26751/
“Country,Region/State,Zip/Postal Code,Condition Value,Shipping Price,method Code,Method Name,Method Description,Condition Type”

4)  dopo aver costruito correttamente il CSV, eseguire l’import e cancellare la cache.

Tagged with:
dic 10

Obbiettivo: realizzare una virtualizzazione vmware con l’ultima release stable di magento ovvero la 1.3.2.4, per utilizzarla nelle fasi di sviluppo e testing.

La virtualizzazione è scaricabile qui >> Magento_full_installation_on_Debian_5.zip (917 MB)

Dopo aver provato e riprovato l’installazione su Centos 5 e aver sbattuto la testa per ore sui problemi di repository (incluso il Remi collect suggerito dalla Varien) getto la spugna e intraprendo la strada di una Debian Lenny . Il problema infatti della Centos è che il repository ufficiale rilascia php 5.1 non compatibile con Magento e il repository Remi è invece arrivato alla 5.3, altrettanto instabile con Magento che attualmente vuole la 5.2 (SI qualcuno è riuscito a far girare magento sulla php 5.3 modificando un paio di funzioni del core che utilizzavano una sintassi deprecata, NO non posso pensare che il problema sia seriamente confinato a queste due problematiche e il mio istinto di sviluppatore mi suggerisce di guardare oltre).
Vi tralascio tutti i tentativi di far convivere il tutto con le versioni di apache e mysql che afferiscono alla sfera del delirio puro e semplice.

Comincio il viaggio con Debian quindi, scarico l’ultima versione downlodabile qui (http://www.debian.org/distrib/netinst) senza dover scaricare tutto mi limito a masterizzare lo stretto necessario, anche perchè non installerò di proposito nulla al di fuori del sistema di base per evitare di avere servizi/programmi inutili.

Lancio l’installazione e selezioni banali a parte mi limito a scegliere di installare solo il “system default”. Chiaramente avendo scelto una netinst dovrò avere a disposizione un dhcp nella mia rete pena la possibilità di scaricaricare ed installare da remoto.
Reboot e sono pronto a configurare il resto.
Parto per sicurezza aggiornando gli header del kernel, necessari alla successiva installazione del Vmware Tools. Chiaramente questi sono utili una volta eseguita la virtualizzaizone con il player Vmware per non perdere in focus passando da una finestra all’altra ma sono indispensabili se la virtualizzaizone viene deployata in una infrastruttura Vmware ESX per tutta una serie di ragioni che passano dall’esporre maggiori informazioni all’hypervisor fino ad una ottimizzazione della memoria condivisa dalle macchine.
Continue reading »

Tagged with:
preload preload preload