Press "Enter" to skip to content

Tag: ecommerce

Magento: Class Zend_log not found in GoMage Lightcheckout Help file

Do you receive an error message such as:

Fatal error: Class 'Zend_Log' not found in /.../app/code/local/GoMage/Checkout/Block/Adminhtml/System/Config/Fieldset/Help.php on line 48

when running the GoMage Lightcheckout v3.1 plugin for Magento? If so, it’s a quick fix: just open up that file and remove the section:

protected function _getFieldsetCss()
{
$configCss = (string)$this->getGroup()->fieldset_css;
return 'config collapseable'.($configCss ? ' ' . $configCss : '');
}

and your Magento ecommerce shop should start working! (Basically, in a recent version of Magento CE – version 1.7.0.2 or before – that method was set as “protected” in Mage_Adminhtml_Block_System_Config_Form_Fieldset and so the child class GoMage_Checkout_Block_Adminhtml_System_Config_Fieldset_Help was not able to redeclare it).

Magento: Associating customer accounts

If you run a Magento e-commerce store, you may occasionally find existing customers placing orders without being logged into their account. This isn’t a problem usually, unless the customer is one of those vary rare ones which actually logs into the customer frontend to track/check their order(s). If they weren’t logged in, they won’t see the ecommerce order.

So how do you fix this? Well, there is a Magneto module available to do this, but (as is increasingly common in the Magento world) it costs $99. Or there is my way which is free and requests two SQL statements:

UPDATE sales_flat_order, customer_entity
SET sales_flat_order.customer_id=customer_entity.entity_id
WHERE
sales_flat_order.customer_email=customer_entity.email

UPDATE sales_flat_order_grid,sales_flat_order
SET sales_flat_order_grid.customer_id=sales_flat_order.customer_id
WHERE
sales_flat_order_grid.increment_id=sales_flat_order.increment_id

Done.

PHP: Magento – current stock value

If you run the Magento ecommerce shopping cart software and you want to find out how much your stock is worth, how many product lines you have stocked and how many individual items you have, you may find the following MySQL query handy.

I’m assuming that you’ve created an attribute with the attribute code “supplier_price” as a decimal, that you’ve kept this field up to date and your stock levels are accurate 😀 If it isn’t called “supplier_price” change the appropriate part in the query.

SELECT
COUNT(sku) AS 'products_stocked',
SUM(qty) AS 'items_in_stock',
SUM(stockvalue) AS 'stock_value'
FROM (

SELECT
catalog_product_entity.sku,
cataloginventory_stock_item.qty,
catalog_product_entity_decimal.value,
(cataloginventory_stock_item.qty * catalog_product_entity_decimal.value) AS stockvalue
FROM
cataloginventory_stock_item,
catalog_product_entity,
eav_attribute,
catalog_product_entity_decimal
WHERE
catalog_product_entity.type_id='simple' AND
cataloginventory_stock_item.product_id=catalog_product_entity.entity_id AND
catalog_product_entity_decimal.entity_id=catalog_product_entity.entity_id AND
eav_attribute.attribute_id=catalog_product_entity_decimal.attribute_id AND
eav_attribute.attribute_code='supplier_price' AND
cataloginventory_stock_item.qty > 0
ORDER BY sku ASC) AS b

Snippet: ClickCartPro: Extracting VAT Exempt orders

If you are looking for a way of listing all orders in Greenbarnweb/Kryptonic’s ClickCartPro software that is exempt from European/UK VAT, then you may find the following SQL query useful:
SELECT `id` , `dateday` , `datemonth` , `dateyear` , `ordertotal`, `eutaxrefundtotal` , `country` FROM `gbu0_orders` WHERE STATUS = 'C' AND (eutaxrefundtotal >0) ORDER BY dateyear DESC , datemonth DESC