Friday, August 24, 2012

Magento – Get Basket Total And Quantity


$items = Mage::getSingleton('checkout/session')->getQuote()->getAllItems();
 foreach($items as $item) {
    echo 'ID: '.$item->getProductId().'';
    echo 'Name: '.$item->getName().'';
    echo 'Sku: '.$item->getSku().'';
    echo 'Quantity: '.$item->getQty().'';
    echo 'Price: '.$item->getPrice().'';
    echo "";
}

$totalItems = Mage::getModel('checkout/cart')->getQuote()->getItemsCount();
$totalQuantity = Mage::getModel('checkout/cart')->getQuote()->getItemsQty();

$subTotal = Mage::getModel('checkout/cart')->getQuote()->getSubtotal();
$grandTotal = Mage::getModel('checkout/cart')->getQuote()->getGrandTotal();

Magento Override Core Controller


     
Example: Override ProductController.php

First create the following paths and files:

app/code/etc/modules/StickyLizard_CoreOverrides.xml
app/code/local/StickyLizard/CoreOverrides/etc/config.xml
app/code/local/StickyLizard/CoreOverrides/controllers/Catalog/ProductController.php


In app/code/etc/modules/StickyLizard_CoreOverrides.xml:
<config>
    <modules>
        <stickylizard_coreoverrides>
            <active>true</active>
            <codepool>local</codepool>
        </stickylizard_coreoverrides>
    </modules>
</config>

In app/code/local/StickyLizard/CoreOverrides/etc/config.xml:
<config>
    <modules>
        <stickylizard_coreoverrides>
            <version>0.1.0</version>
        </stickylizard_coreoverrides>
    </modules>
    <frontend>
        <routers>
            <catalog>
                <args>
                    <modules>
                        <stickylizard_coreoverrides before="Mage_Catalog">StickyLizard_CoreOverrides_Catalog</stickylizard_coreoverrides>
                    </modules>
                </args>
            </catalog>
        </routers>
    </frontend>
</config>

In app/code/local/StickyLizard/CoreOverrides/controllers/Catalog/ProductController.php
<!--?php
require_once Mage::getModuleDir('controllers', 'Mage_Catalog').DS.'ProductController.php';
class StickyLizard_CoreOverrides_Catalog_ProductController extends Mage_Catalog_ProductController
{
    public function viewAction()
    {
        echo "here I am";
        parent::viewAction();
    }
}
?-->

Monday, October 4, 2010

Image resizer script



image_type = $image_info[2];
if( $this->image_type == IMAGETYPE_JPEG ) {
$this->image = imagecreatefromjpeg($filename);
} elseif( $this->image_type == IMAGETYPE_GIF ) {
$this->image = imagecreatefromgif($filename);
} elseif( $this->image_type == IMAGETYPE_PNG ) {
$this->image = imagecreatefrompng($filename);
}
}
function save($filename, $image_type=IMAGETYPE_JPEG, $compression=75,
$permissions=null) {
if( $image_type == IMAGETYPE_JPEG ) {
imagejpeg($this->image,$filename,$compression);
} elseif( $image_type == IMAGETYPE_GIF ) {
imagegif($this->image,$filename);
} elseif( $image_type == IMAGETYPE_PNG ) {
imagepng($this->image,$filename);
}
if( $permissions != null) {
chmod($filename,$permissions);
}
}
function output($image_type=IMAGETYPE_JPEG) {
if( $image_type == IMAGETYPE_JPEG ) {
imagejpeg($this->image);
} elseif( $image_type == IMAGETYPE_GIF ) {
imagegif($this->image);
} elseif( $image_type == IMAGETYPE_PNG ) {
imagepng($this->image);
}
}
function getWidth() {
return imagesx($this->image);
}
function getHeight() {
return imagesy($this->image);
}
function resizeToHeight($height) {
$ratio = $height / $this->getHeight();
$width = $this->getWidth() * $ratio;
$this->resize($width,$height);
}
function resizeToWidth($width) {
$ratio = $width / $this->getWidth();
$height = $this->getheight() * $ratio;
$this->resize($width,$height);
}
function scale($scale) {
$width = $this->getWidth() * $scale/100;
$height = $this->getheight() * $scale/100;
$this->resize($width,$height);
}
function resize($width,$height) {
$new_image = imagecreatetruecolor($width, $height);
imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height,
$this->getWidth(), $this->getHeight());
$this->image = $new_image;
}
}
?>



The first example below will load a file named picture.jpg resize it to 250
pixels wide and 400 pixels high and resave it as picture2.jpg

load('picture.jpg');
$image->resize(250,400);
$image->save('picture2.jpg');
?>

If you want to resize to a specifed width but keep the dimensions ratio the
same then the script can work out the required height for you, just use the
resizeToWidth function.

load('picture.jpg');
$image->resizeToWidth(250);
$image->save('picture2.jpg');
?>

You may wish to scale an image to a specified percentage like the following
which will resize the image to 50% of its original width and height

load('picture.jpg');
$image->scale(50);
$image->save('picture2.jpg');
?>

You can of course do more than one thing at once. The following example
will create two new images with heights of 200 pixels and 500 pixels

load('picture.jpg');
$image->resizeToHeight(500);
$image->save('picture2.jpg');
$image->resizeToHeight(200);
$image->save('picture3.jpg');
?>

The output function lets you output the image straight to the browser
without having to save the file. Its useful for on the fly thumbnail
generation

load('picture.jpg');
$image->resizeToWidth(150);
$image->output();
?>

The following example will resize and save
an image which has been uploaded via a form




load($_FILES['uploaded_image']['tmp_name']);
$image->resizeToWidth(150);
$image->output();
} else {
?>