Magento – Magmi Product Export Script

Um für Magmi einen kompatiblen Export zu generieren, habe ich folgendes Script gebaut. Es kann einfache und Gruppenprodukte.

https://bitbucket.org/thomasklosinsky/magento_magmi_product_export

 

Vorsicht mit den Kategorien.

Ich habe für den Magmi OnTheFly Category Importer ein String Replace eingebaut, welches „Root Catalog/Default Category“ ersetzt mit der jeweiligen Root-Kategorie im Ziel-Shop. Das lässt sich einfach anpassen.

Es werden zuerst die einfachen Produkte exportiert, dann die Gruppenprodukte mit Zugehörigkeiten.

 


Windows 7 und Photoshop CS2 – Fenster hängen

Bei Photoshop CS2 hängen unter Windows 7 (64bit) neuerdings die Fenster und/oder Photoshop CS2 bleibt immer im Vordergrund man muss Photoshop erst minimieren, damit man andere Fenster sehen kann. Unglaublich nervig.

Schuld daran sind alle Microsoft Updates, die das Graphics Component updaten
Einmal deinstalliert und schon läuft die freie Version von Photoshop wieder problemlos. Wie früher…
Das ist natürlich keine schöne Lösung…
Wir hoffen auf ein Update von Adobe, welches aber sicherlich nicht kommen wird, da Windows 7 für CS2 allgemein nicht supported ist.


Magento SUPEE 8788 Image Problem…

With CreareSEO and SUPEE 8788 installed the Product image uploader doesn’t upload images any more – no error…

This helps in that case!!!
https://github.com/adampmoss/CreareSEO/pull/78/files


iPhone iOS bootstrap 3 toggle problem

Dieser Artikel half mir gerade, ein nicht funktionierendes Mobile Menü unter iOS9 zu fixen.

http://stackoverflow.com/questions/19866172/bootstrap-3-accordion-collapse-does-not-work-on-iphone

Dank MIHTool ist das Debuggen für iOS auch doch recht einfach geworden…
http://www.mihtool.com/


Autoselect all Websites on Product create in Magento

This is pretty easy, but core adminhtml template hacking though. Will be overwritten on any update!

in file: app/code/design/adminhtml/default/default/catalog/product/edit/websites.phtml line 46 (input field)
add:
< ?php if (!this->getSku()): ?>checked="checked"< ?php endif; ? >)

Careful, remove the spaces after the „<"?php to make it work...!

This checks weather the product already has a SKU or not and if not (so it’s a new product) it selects all websites on product creation.


Odoo eMailtemplates mit Produkten versehen

Name Anzahl Einheit Einzelpreis Gesamtpreis

%for m in object.order_line:

${m.product_id.default_code} – ${m.product_id.name} ${m.product_qty} ${m.product_uom.name} ${m.price_unit} ${m.price_subtotal}

%endfor


Total Price: ${object.amount_total}


Attribut IDs in option-table (AdminPanel)

If anyone needs to show the IDs of the attribute option values in the option overview in admin panel, here’s where to hack:

/app/design/adminhtml/default/default/template/catalog/product/attribute/options.phtml

l.77 ++ < th>< ?php echo $this->__('ID') ?>< /th>
l.90 ++ < td>{{id}}< /td>
l.115 ++ '< td>{{id}}<\/td>'+

ah, wordpress is destroying the code… sorry for that. Send me a mail if you need to know…


Odoo Modifikationen für Webkul Magento Odoo Bridge (MOB)

/mob_synchronization.py

l.789 in def _get_product_array

######## Sync Product Taxes ########
get_product_data['cost'] = obj_pro.standard_price or 0.00
if obj_pro.taxes_id:
for tax in obj_pro.taxes_id:
tax_id = tax.id
if tax_id == 12:
get_product_data['tax_class_id'] = '1'
if tax_id == 13:
get_product_data['tax_class_id'] = '2'

######### Product Brand for use with OCA/product-attributes/product_brand #########
odoo_brand_id = obj_pro.product_brand_id.id
if odoo_brand_id:
mage_brand_id = self.pool.get('product.brand').browse(cr, uid, odoo_brand_id).magento_brand_id
if mage_brand_id:
get_product_data['manufacturer'] = mage_brand_id
else:
get_product_data['manufacturer'] = False
else:
get_product_data['manufacturer'] = False

######### Product Kunstler #########
odoo_kunstler_id = obj_pro.product_kunstler_id.id
if odoo_kunstler_id:
mage_kunstler_id = self.pool.get('product.kunstler').browse(cr, uid, odoo_kunstler_id).magento_kunstler_id
if mage_kunstler_id:
get_product_data['kunstler'] = mage_kunstler_id
else:
get_product_data['kunstler'] = False
else:
get_product_data['kunstler'] = False

/core_overrides.py


l.80 in def create
if vals.has_key('product_brand_id'):
brand_id = vals.get('product_brand_id')
search_brand = self.pool.get('product.brand').search(cr, uid, [('magento_brand_id','=',brand_id)])
_logger.info("Sync Manufacturer Attribute: %r", search_brand)
if search_brand:
vals['product_brand_id'] = search_brand[0]
else:
vals.pop('product_brand_id')
if vals.has_key('product_kunstler_id'):
kunstler_id = vals.get('product_kunstler_id')
search_kunstler = self.pool.get('product.kunstler').search(cr, uid, [('magento_kunstler_id','=',kunstler_id)])
_logger.info("Sync Kunstler Attribute: %r", search_kunstler)
if search_kunstler:
vals['product_kunstler_id'] = search_kunstler[0]
else:
vals.pop('product_kunstler_id')

l.133 in def write

if vals.has_key('product_brand_id'):
brand_id = vals.get('product_brand_id')
search_brand = self.pool.get('product.brand').search(cr, uid, [('magento_brand_id','=',brand_id)])
_logger.info("Search Webkul Manufacturer Attribute Test Sync : %r", search_brand)
if search_brand:
vals['product_brand_id'] = search_brand[0]
else:
vals.pop('product_brand_id')

#_logger.info("Webkul Kunstler Attribute Test Sync")
if vals.has_key('product_kunstler_id'):
kunstler_id = vals.get('product_kunstler_id')
search_kunstler = self.pool.get('product.kunstler').search(cr, uid, [('magento_kunstler_id','=',kunstler_id)])
_logger.info("Search Webkul Manufacturer Attribute Test Sync : %r", search_kunstler)
if search_kunstler:
vals['product_kunstler_id'] = search_kunstler[0]
else:
vals.pop('product_kunstler_id')


Neues Modul für Odoo 8 online – Purchase Barcode QWeb

Um direkt aus den Bestellungen oder Wareneingang in Odoo 8 Labels für die eingetroffene oder bestellte Ware zu drucken, kann man hier das Modul dazu runterladen:

Odoo Apps:
https://www.odoo.com/apps/modules/8.0/puchase_barcode_qweb/
Github:
https://github.com/thomasklosinsky/purchase_barcode_qweb/tree/8.0/puchase_barcode_qweb

Dürfte auch für Openerp/Odoo 7 funktionieren…


Importieren von Lieferantenbezügen zu Produkten

Der Import in Odoo 8 (OpenERP 7) von Bezug von Lieferant zu Artikel funktioniert nur mit diesem Listenlayout:

id seller_ids/name/id
__export__.product_product_1000 __export__.res_partner_1617
__export__.product_product_1001 __export__.res_partner_1617
__export__.product_product_1002 __export__.res_partner_1617

Zudem sind je nach Limits Listen mit mehr als 1500 Einträgen manchmal schwierig. Listen trennen…

Auch auf die Umgebung achten > Produkte sind product.template, Produktvarianten product.product… also in diesem Beispiel unter Produktvarianten importieren…