<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Magento Design and Development &#187; administration</title>
	<atom:link href="http://inchoo.net/tag/administration/feed/" rel="self" type="application/rss+xml" />
	<link>http://inchoo.net</link>
	<description>Magento Design and Magento Development Professionals - Inchoo</description>
	<lastBuildDate>Wed, 23 May 2012 06:32:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Magento Enterprise &#8211; Discount for specific Customer segments group</title>
		<link>http://inchoo.net/ecommerce/magento/administration-magento/magento-enterprise-discount-for-specific-customer-segments-group/</link>
		<comments>http://inchoo.net/ecommerce/magento/administration-magento/magento-enterprise-discount-for-specific-customer-segments-group/#comments</comments>
		<pubDate>Fri, 16 Mar 2012 07:36:02 +0000</pubDate>
		<dc:creator>Stanislav Mihic</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[customer]]></category>
		<category><![CDATA[customer segemnts]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[shopping cart rules]]></category>

		<guid isPermaLink="false">http://inchoo.net/?p=12768</guid>
		<description><![CDATA[In previous post we create Customer group based on company emails. Now when we have few customers registered with company emails we will create campaign and give them 50% discount for &#8230;]]></description>
			<content:encoded><![CDATA[<p>In <a title="Customer Segments" href="http://inchoo.net/ecommerce/magento-customer-segments/">previous post</a> we create Customer group based on company emails. Now when we have few customers registered with company emails we will create campaign and give them 50% discount for purchasing Laptops.<span id="more-12768"></span></p>
<p>In Magento admin area open  Promotions -&gt; Shopping Cart Price Rules</p>
<p><a href="http://inchoo.net/wp-content/uploads/2012/03/shopping_cart_promotions.jpg"><img class="aligncenter size-full wp-image-12769" title="shopping_cart_promotions" src="http://inchoo.net/wp-content/uploads/2012/03/shopping_cart_promotions.jpg" alt="" width="600" height="193" /></a></p>
<p>Now we will create a new rule</p>
<p><a href="http://inchoo.net/wp-content/uploads/2012/03/Customer_segments_add_new_cart_rule.jpg"><img class="aligncenter size-full wp-image-12770" title="Customer_segments_add_new_cart_rule" src="http://inchoo.net/wp-content/uploads/2012/03/Customer_segments_add_new_cart_rule.jpg" alt="" width="600" height="186" /></a></p>
<p>Fill up information regarding new rule</p>
<p><a href="http://inchoo.net/wp-content/uploads/2012/03/shopping_cart_rule_settings.jpg"><img class="aligncenter size-full wp-image-12771" title="shopping_cart_rule_settings" src="http://inchoo.net/wp-content/uploads/2012/03/shopping_cart_rule_settings.jpg" alt="" width="600" height="474" /></a></p>
<p>Using conditions we will use our previously created Customer Segment &#8220;Company Discount&#8221;</p>
<p><a href="http://inchoo.net/wp-content/uploads/2012/03/use_customer_segments.jpg"><img class="aligncenter size-full wp-image-12772" title="use_customer_segments" src="http://inchoo.net/wp-content/uploads/2012/03/use_customer_segments.jpg" alt="" width="600" height="218" /></a></p>
<p>Under Action we will give 50% of discount on product price from Category &#8220;Laptops&#8221;</p>
<p><a href="http://inchoo.net/wp-content/uploads/2012/03/apply_discount.jpg"><img class="aligncenter size-full wp-image-12773" title="apply_discount" src="http://inchoo.net/wp-content/uploads/2012/03/apply_discount.jpg" alt="" width="600" height="298" /></a></p>
<p><a href="http://inchoo.net/wp-content/uploads/2012/03/use_category1.jpg"><img class="aligncenter size-full wp-image-12775" title="use_category" src="http://inchoo.net/wp-content/uploads/2012/03/use_category1.jpg" alt="" width="600" height="332" /></a></p>
<p>Now we will go to store and login using Company email.</p>
<p><a href="http://inchoo.net/wp-content/uploads/2012/03/login_comapny_email.jpg"><img class="aligncenter size-full wp-image-12776" title="login_comapny_email" src="http://inchoo.net/wp-content/uploads/2012/03/login_comapny_email.jpg" alt="" width="600" height="375" /></a></p>
<p>Browse Category &#8220;Laptops&#8221; and choose one of the products, in my case it will be Apple MacBook Pro, normal price is displayed, continue to checkout.</p>
<p><a href="http://inchoo.net/wp-content/uploads/2012/03/buy_laptop.jpg"><img class="aligncenter size-full wp-image-12777" title="buy_laptop" src="http://inchoo.net/wp-content/uploads/2012/03/buy_laptop.jpg" alt="" width="600" height="234" /></a></p>
<p>And now we have finally applied our Company discount 50% off</p>
<p><a href="http://inchoo.net/wp-content/uploads/2012/03/final_discount.jpg"><img class="aligncenter size-full wp-image-12778" title="final_discount" src="http://inchoo.net/wp-content/uploads/2012/03/final_discount.jpg" alt="" width="600" height="254" /></a></p>
<p>This is only example you can create may other rules based on Customer Segments under Shopping Cart Price Rules, discount, free shipping, add reward points, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://inchoo.net/ecommerce/magento/administration-magento/magento-enterprise-discount-for-specific-customer-segments-group/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Delete test orders in Magento</title>
		<link>http://inchoo.net/ecommerce/magento/delete-test-orders-in-magento/</link>
		<comments>http://inchoo.net/ecommerce/magento/delete-test-orders-in-magento/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 13:27:49 +0000</pubDate>
		<dc:creator>Dejan Radic</dc:creator>
				<category><![CDATA[Magento]]></category>
		<category><![CDATA[Orders]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[orders]]></category>
		<category><![CDATA[reports]]></category>

		<guid isPermaLink="false">http://inchoo.net/?p=250</guid>
		<description><![CDATA[You got a Magento project to develop, you created a Magento theme, you placed initial products and categories and you also placed some test orders to see if Shipping and &#8230;]]></description>
			<content:encoded><![CDATA[<p>You got a Magento project to develop, you created a Magento theme, you placed initial products and categories and you also placed some test orders to see if Shipping and Payment methods work as expected. Everything seems to be cool and the client wishes to launch the site. You launch it. When you enter the administration for the first time after the launch, you will see all your test orders there. You know those should be deleted. But how?<br />
<strong>This is a new version of the same article.</strong><br />
<span id="more-250"></span></p>
<p>If you try to delete orders in the backend, you will find out that you can only set the status to “cancelled” and the order is still there.  Unfortunately, Magento doesn&#8217;t enable us to delete those via administration, so you will not see any &#8220;Delete order&#8221; button. This can be quite frustrating both to developers and the merchants. People coming from an SAP world find the inability to delete to have some merit but there should be a status that removes the sales count from the reports i.e. sales, inventory, etc.</p>
<p><strong>So, what to do?</strong></p>
<p>You need to create php script in Magento root folder, copy this code into script and run script.</p>
<pre class="brush: php; title: ; notranslate">
/**
 * @author Dejan Radic &lt;dejan.radic@inchoo.net&gt;
 */

if (version_compare(phpversion(), '5.2.0', '&lt;')===true) {
    echo  '&lt;div style=&quot;font:12px/1.35em arial, helvetica, sans-serif;&quot;&gt;&lt;div style=&quot;margin:0 0 25px 0; border-bottom:1px solid #ccc;&quot;&gt;&lt;h3 style=&quot;margin:0; font-size:1.7em; font-weight:normal; text-transform:none; text-align:left; color:#2f2f2f;&quot;&gt;Whoops, it looks like you have an invalid PHP version.&lt;/h3&gt;&lt;/div&gt;&lt;p&gt;Magento supports PHP 5.2.0 or newer. &lt;a href=&quot;http://www.magentocommerce.com/install&quot; target=&quot;&quot;&gt;Find out&lt;/a&gt; how to install&lt;/a&gt; Magento using PHP-CGI as a work-around.&lt;/p&gt;&lt;/div&gt;';
    exit;
}

error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 1);

$mageFilename = 'app/Mage.php';

if (!file_exists($mageFilename)) {
    echo $mageFilename.&quot; was not found&quot;;
    exit;
}

require_once $mageFilename;

Mage::app();

$executionPath = null;

/*
 * determine Magento Edition
 */
if (file_exists('LICENSE_EE.txt')) {
    $edition = 'EE';
}elseif (file_exists('LICENSE_PRO.html')) {
    $edition = 'PE';
} else {
    $edition = 'CE';
}

if(($edition=='EE' &amp;&amp; version_compare(Mage::getVersion(), '1.11.0.0.', '&lt;')===true)
        || ($edition=='PE' &amp;&amp; version_compare(Mage::getVersion(), '1.11.0.0.', '&lt;')===true)
        || ($edition=='CE' &amp;&amp; version_compare(Mage::getVersion(), '1.6.0.0.', '&lt;')===true)
  ){
   $executionPath = 'old';
} else {
   $executionPath = 'new';
}

$xpathEntity = 'global/models/sales_entity/entities//table';

if ($executionPath == 'old') {
    $xpathResource = 'global/models/sales_mysql4/entities//table';
} else {
    $xpathResource = 'global/models/sales_resource/entities//table';
}

$salesEntitiesConf = array_merge(
    Mage::getSingleton('core/config')-&gt;init()-&gt;getXpath($xpathEntity),
    Mage::getSingleton('core/config')-&gt;init()-&gt;getXpath($xpathResource)
);

$resource = Mage::getSingleton('core/resource');
$connection = $resource-&gt;getConnection('core_write');

/*
 * If you want delete System/Order Statuses (Status and State) you
 * should comments below lines (46-51)
 */
$skipTables = array (
        $resource-&gt;getTableName('sales_order_status'),
        $resource-&gt;getTableName('sales_order_status_state'),
        $resource-&gt;getTableName('sales_order_status_label')
    );
$salesEntitiesConf = array_diff($salesEntitiesConf, $skipTables);

/*

Multiple RDBMS Support in Magento CE 1.6+ / EE 1.11+

http://www.magentocommerce.com/images/uploads/RDBMS_Guide2.pdf

2.2. Adapters:

... The new Varien_DB_Adapter_Interface was added to sign a contract that all
developed adapters must execute in order to get Magento working on an actual
database. The interface describes the list of methods and constants that can be used by resource models...

Used below in the loop:

 * If $executionPath == 'old'
    * Varien_Db_Adapter_Pdo_Mysql::showTableStatus()
    * Varien_Db_Adapter_Pdo_Mysql::truncate()
 * Else
    * Varien_Db_Adapter_Interface::isTableExists()
    * Varien_Db_Adapter_Interface::truncateTable()

*/

while ($table = current($salesEntitiesConf) ){
    $table = $resource-&gt;getTableName($table);

    if ($executionPath == 'old') {
        $isTableExists = $connection-&gt;showTableStatus($table);
    } else {
        $isTableExists = $connection-&gt;isTableExists($table);
    }
    if ($isTableExists) {
        try {
            if ($executionPath == 'old') {
                $connection-&gt;truncate($table);
            } else {
                $connection-&gt;truncateTable($table);
            }

            printf('Successfully truncated the &lt;i style=&quot;color:green;&quot;&gt;%s&lt;/i&gt; table.&lt;br /&gt;', $table);
        } catch(Exception $e) {
            printf('Error &lt;i style=&quot;color:red;&quot;&gt;%s&lt;/i&gt; occurred truncating the &lt;i style=&quot;color:red;&quot;&gt;%s&lt;/i&gt; table.&lt;br /&gt;', $e-&gt;getMessage(), $table);
        }
    }

    next($salesEntitiesConf);
}

exit('All done...');
</pre>
<p>After you have it executed, the test orders will not be in the database any more. Keep in mind that this will <strong>delete ALL orders</strong>, in the database. So, you should execute this queries immediately after launch.</p>
<p>This script is tested on following Magento versions: 1.6.1.0 CE, 1.6.0.0 CE, 1.5.1.0. CE, 1.11.0.2 EE, 1.10.0.2 EE, 1.9.0.0 EE, 1.11.0.0 PE, 1.10.0.2 PE and 1.9.0.0 PE.<br />
You can <a href="http://inchoo.net/wp-content/uploads/2011/12/deletetestorders.zip">download script here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://inchoo.net/ecommerce/magento/delete-test-orders-in-magento/feed/</wfw:commentRss>
		<slash:comments>114</slash:comments>
		</item>
		<item>
		<title>View product in frontend from Magento admin</title>
		<link>http://inchoo.net/ecommerce/magento/view-product-in-frontend-from-magento-admin/</link>
		<comments>http://inchoo.net/ecommerce/magento/view-product-in-frontend-from-magento-admin/#comments</comments>
		<pubDate>Tue, 15 Nov 2011 12:26:51 +0000</pubDate>
		<dc:creator>Ivica Tadic</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Products]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[magento administration]]></category>
		<category><![CDATA[products]]></category>

		<guid isPermaLink="false">http://inchoo.net/?p=11641</guid>
		<description><![CDATA[When you are editing some product in Magento admin and want to check it out in frontend of your Magento project, how do you find this particular product? Do you &#8230;]]></description>
			<content:encoded><![CDATA[<p>When you are editing some product in Magento admin and want to check it out in frontend of your Magento project, how do you find this particular product? Do you search for it, navigate to it using product url key or just browse to it? Well, however you do it, I’m going to give you the easiest way to get to your desired product in the frontend &#8211; view product link.<br />
<span id="more-11641"></span><br />
<a href="http://inchoo.net/wp-content/uploads/2011/11/Tadic_AVP-screenshot.png"><img src="http://inchoo.net/wp-content/uploads/2011/11/Tadic_AVP-screenshot.png" alt="Tadic_AVP screenshot" title="Tadic_AVP-screenshot" width="620" height="203" class="aligncenter size-full wp-image-11642" /></a></p>
<p>Here’s an extremely lightweight Magento extension which will provide you with a simple <em>view product</em> link next to a product name, in Magento admin. It will point to a product view page in the frontend of your Magento project. Simple and easy.</p>
<p><a href="https://github.com/ivicatadic/Tadic_AVP" title="https://github.com/ivicatadic/Tadic_AVP" target="_blank">https://github.com/ivicatadic/Tadic_AVP</a><br />
or for donwload<br />
<a href='http://inchoo.net/wp-content/uploads/2011/11/Tadic_AVP.zip'>Tadic_AVP</a></p>
<p>All you have to do is copy the content of Tadic_AVP extension (app folder) to a root folder of your Magento project &#8211; and that’s it. I hope this simple extension will prove to be useful to you.<br />
Thanks to <a href="http://inchoo.net/author/branko/">Branko Ajzele</a> for an idea.</p>
<p>Cheers</p>
]]></content:encoded>
			<wfw:commentRss>http://inchoo.net/ecommerce/magento/view-product-in-frontend-from-magento-admin/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Selective attribute sorting</title>
		<link>http://inchoo.net/ecommerce/magento/selective-attribute-sorting/</link>
		<comments>http://inchoo.net/ecommerce/magento/selective-attribute-sorting/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 10:45:44 +0000</pubDate>
		<dc:creator>Ivica Tadic</dc:creator>
				<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Extensions]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[Products]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[products]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://inchoo.net/?p=11042</guid>
		<description><![CDATA[When you have a large scale Magento store with thousands of products in every top-level category, dozens or even hundreds of offered filters for a single attribute in your layered &#8230;]]></description>
			<content:encoded><![CDATA[<p>When you have a large scale Magento store with thousands of products in every top-level category, dozens or even hundreds of offered filters for a single attribute in your layered navigation, certain necessities become mandatory &#8211; like <strong>selective attribute sorting</strong>.<br />
<span id="more-11042"></span><br />
Even though Magento does offer sorting functionality for attribute values, in these situations that just might not be enough as you can not sort selectively for a specific category.</p>
<p>For instance, let’s say a customer is in a “First Category” and there he sees a <strong>brands</strong> attribute in layered navigation, filterable by these values:</p>
<ul>
<li>A &amp; A Specialties (1)</li>
<li>Abella (2)</li>
<li>Abex Friction Products (1)</li>
<li>Absco Ltd (1)</li>
<li>AC-Delco (166)</li>
<li>Accel (1)</li>
<li>Acco Ind (1)</li>
<li>…</li>
</ul>
<p>Then customer goes to a “Second Category” and again there is this <strong>brands</strong> attribute with exactly the same options offered to filter by.</p>
<p>Now, why wouldn’t you offer your customers filterable options in the order you find the most suitable, maybe boost sales by emphasizing a certain brand, or just sorted to be a bit more relevant to current category?</p>
<p>Here’s how you can do it with the least coding required.<br />
First download the Inchoo_SAS extension and copy it’s content to your Magento’s root folder. This extension will handle all the back-end logic for you.</p>
<p><em><a href="https://github.com/ivicatadic/Inchoo_SAS" target="_blank">https://github.com/ivicatadic/Inchoo_SAS</a></em><br />
or for download<br />
<em><a href='http://inchoo.net/wp-content/uploads/2011/10/Inchoo_SAS.zip'>Inchoo_SAS</a></em></p>
<p><em>(Remember to log out and then log back into admin after extension is installed.)</em></p>
<p>Now, for the fun part.<br />
Let’s go to Magento admin -&gt; CMS -&gt; Static Blocks</p>
<p>In order to manipulate the attribute values for a particular category follow these steps:<br />
1. Create a static block:<br />
Static block <strong>name</strong> example: First Category &#8211; Layer Brands<br />
Static block <strong>identifier</strong> example: first_category_layer_brands</p>
<p>2. Place the attribute values in the Content area separated by new line [enter]:<br />
example:<br />
BMW<br />
Audi</p>
<p>Note:<br />
It must be plain text and no html tags, so <strong>hide</strong> the WYSIWYG Content Editor.</p>
<p>3. In admin go to the relevant category &#8211; in our example it’s First Category<br />
a) click on the &#8220;Custom Design&#8221; tab<br />
b) Enter the following custom layout update:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!-- --&gt;

	&lt;block type=&quot;cms/block&quot; name=&quot;layer_brands&quot;&gt;
		&lt;action method=&quot;setBlockId&quot;&gt;
			&lt;block_id&gt;first_category_layer_brands&lt;/block_id&gt;
		&lt;/action&gt;
	&lt;/block&gt;

&lt;!-- --&gt;
</pre>
<p><em>Place this code outside / after any &lt;reference name=&#8221;something&#8221;&gt;&lt;/reference&gt; node.</em></p>
<p>Note:<br />
The name=&#8221;<strong>layer_brands</strong>&#8221; serves as an example, you&#8217;ll use <strong>layer_actual_attribute_code</strong><br />
instead, like <strong>layer_manufacturer</strong>. The only thing that always stays the same is the <strong>layer_</strong> prefix.</p>
<p>Inside &lt;block_id&gt;&lt;/block_id&gt; you&#8217;ll enter the <strong>identifier</strong> of the relevant static block (see No. 1)</p>
<p>4. Click on &#8220;Save Category&#8221;<br />
5. Go to Cache management and hit the &#8220;Flush Magento Cash&#8221; in order to see the changes.</p>
<p>And that’s it <img src='http://inchoo.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Whenever you need to alter the order of attribute values for a certain category, just go to the relevant static block and reorder values the way you like it.<br />
Another big gain you get with this extension is that if you sort products by <strong>Position</strong> in this particular category, you&#8217;ll notice that Magento will sort products the way attribute values are sorted as well.</p>
<p>Finally, if you don’t like the required prefix <strong>layer</strong>, you may change it if you go to<br />
Magento admin -&gt; System -&gt; Configuration -&gt; Inchoo Extensions -&gt; Layer Navigation &#8211; sorting</p>
<p>I hope this will prove to be helpful to you.</p>
<p>Cheers <img src='http://inchoo.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://inchoo.net/ecommerce/magento/selective-attribute-sorting/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>How to add new custom category attribute in Magento</title>
		<link>http://inchoo.net/ecommerce/magento/how-to-add-new-custom-category-attribute-in-magento/</link>
		<comments>http://inchoo.net/ecommerce/magento/how-to-add-new-custom-category-attribute-in-magento/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 13:56:31 +0000</pubDate>
		<dc:creator>Vedran Subotic</dc:creator>
				<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Extensions]]></category>
		<category><![CDATA[Integration]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://inchoo.net/?p=8898</guid>
		<description><![CDATA[Sometimes you need to extend functionality of Magento categories. There is several ways to do that, I will show you how it can be done. You can do that by &#8230;]]></description>
			<content:encoded><![CDATA[<p>Sometimes you need to extend functionality of Magento categories. There is several ways to do that, I will show you how it can be done.<br />
You can do that by modifying and adding data into some of tables directly, but it can be waste of time if you don&#8217;t know what you are doing.<br />
This post will describe how you can add new custom category attribute in your Magento store via sql_setup script.</p>
<p><span id="more-8898"></span></p>
<p>MySQL setup script will look something like this, it depends on your needs and how you would like to configure your new attribute:</p>
<pre class="brush: php; title: ; notranslate">
$installer = $this;
$installer-&gt;startSetup();

$entityTypeId     = $installer-&gt;getEntityTypeId('catalog_category');
$attributeSetId   = $installer-&gt;getDefaultAttributeSetId($entityTypeId);
$attributeGroupId = $installer-&gt;getDefaultAttributeGroupId($entityTypeId, $attributeSetId);

$installer-&gt;addAttribute('catalog_category', 'new_cat_attrb',  array(
    'type'     =&gt; 'int',
    'label'    =&gt; 'New Category Attribute',
    'input'    =&gt; 'text',
    'global'   =&gt; Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
    'visible'           =&gt; true,
    'required'          =&gt; false,
    'user_defined'      =&gt; false,
    'default'           =&gt; 0
));

$installer-&gt;addAttributeToGroup(
    $entityTypeId,
    $attributeSetId,
    $attributeGroupId,
    'new_cat_attrb',
    '11'					//last Magento's attribute position in General tab is 10
);

$attributeId = $installer-&gt;getAttributeId($entityTypeId, 'new_cat_attrb');

$installer-&gt;run(&quot;
INSERT INTO `{$installer-&gt;getTable('catalog_category_entity_int')}`
(`entity_type_id`, `attribute_id`, `entity_id`, `value`)
    SELECT '{$entityTypeId}', '{$attributeId}', `entity_id`, '1'
        FROM `{$installer-&gt;getTable('catalog_category_entity')}`;
&quot;);

//this will set data of your custom attribute for root category
Mage::getModel('catalog/category')
    -&gt;load(1)
    -&gt;setImportedCatId(0)
    -&gt;setInitialSetupFlag(true)
    -&gt;save();

//this will set data of your custom attribute for default category
Mage::getModel('catalog/category')
    -&gt;load(2)
    -&gt;setImportedCatId(0)
    -&gt;setInitialSetupFlag(true)
    -&gt;save();

$installer-&gt;endSetup();
</pre>
<p>In your config.xml file of your module you will need to add this part in order to install correctly your new category attribute:</p>
<pre class="brush: php; title: ; notranslate">
&lt;resources&gt;
	&lt;new_attribute_csv_setup&gt;
	  &lt;setup&gt;
		&lt;module&gt;New_Attribute&lt;/module&gt;
		&lt;class&gt;Mage_Catalog_Model_Resource_Eav_Mysql4_Setup&lt;/class&gt;
	  &lt;/setup&gt;
	  &lt;connection&gt;
		&lt;use&gt;core_setup&lt;/use&gt;
	  &lt;/connection&gt;
	&lt;/new_attribute_setup&gt;
	&lt;new_attribute_setup_write&gt;
	  &lt;connection&gt;
		&lt;use&gt;core_write&lt;/use&gt;
	  &lt;/connection&gt;
	&lt;/new_attribute_setup_write&gt;
	&lt;new_attribute_setup_read&gt;
	  &lt;connection&gt;
		&lt;use&gt;core_read&lt;/use&gt;
	  &lt;/connection&gt;
	&lt;/new_attribute_setup_read&gt;
&lt;/resources&gt;
</pre>
<p>Pay attention on class tag here, class must be: &#8220;Mage_Catalog_Model_Resource_Eav_Mysql4_Setup&#8221;.</p>
<p>If you did this correctly, you will get something like this:<br />
<a href="http://inchoo.net/wp-content/uploads/2011/03/new_category_attribute.png"><img src="http://inchoo.net/wp-content/uploads/2011/03/new_category_attribute-600x321.png" alt="" title="new_category_attribute" width="600" height="321" class="alignleft size-medium wp-image-8900" /></a></p>
<p>Enjoy coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://inchoo.net/ecommerce/magento/how-to-add-new-custom-category-attribute-in-magento/feed/</wfw:commentRss>
		<slash:comments>55</slash:comments>
		</item>
		<item>
		<title>Unit testing with Zend framework: Setting up environment for the first test using Netbeans IDE for php</title>
		<link>http://inchoo.net/tools-frameworks/unit-testing-with-zend-framework-setting-up-environment-for-the-first-test-using-netbeans-ide-for-php/</link>
		<comments>http://inchoo.net/tools-frameworks/unit-testing-with-zend-framework-setting-up-environment-for-the-first-test-using-netbeans-ide-for-php/#comments</comments>
		<pubDate>Fri, 25 Mar 2011 14:49:49 +0000</pubDate>
		<dc:creator>Darko Goles</dc:creator>
				<category><![CDATA[Tools & Frameworks]]></category>
		<category><![CDATA[Zend]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://inchoo.net/?p=8862</guid>
		<description><![CDATA[Assuming that you already installed PHPUnit because there are already many tutorials about that, I will write just one short tutorial about setting up test environment for Zend application. I &#8230;]]></description>
			<content:encoded><![CDATA[<p>Assuming that you already installed PHPUnit because there are already many tutorials about that, I will write just one short tutorial about setting up test environment for Zend application. I am currently using windows 7, and NetBeans IDE for php 6.9.1. <span id="more-8862"></span>First we have to setup some PHPUnit options in NetBeans, so go to:<br />
<strong>Tools -&gt; Options -&gt; Php -&gt; Unit Testing</strong><br />
and click on Browse and choose location of your installed PHPUnit script (phpunit.bat) which is often located in php – installation folder and click OK to confirm selection.</p>
<p><img class="alignleft size-full wp-image-8863" title="NB_PHPUnit_001" src="http://inchoo.net/wp-content/uploads/2011/03/NB_PHPUnit_001.jpg" alt="" width="600" height="446" /></p>
<p>Now we can create new Php project based on Zend framework, or open some existing Zend project in which we will write our first test. In NB I am using Zend tool integration to generate first project sources.</p>
<p>When the project is opened/created, in projects window right click on project name and choose <strong>Properties.</strong><br />
After the project properties window is opened, click on PHPUnit category on the left side, and on the right of the window we can see PHPUnit configuration options. For this tutorial, let&#8217;s select “Use bootstrap” option and click “Generate” button on the right, so new bootstrap.php file is generated inside folder “tests” of our Zend application.<img class="alignleft size-full wp-image-8864" title="NB_PHPUnit_002" src="http://inchoo.net/wp-content/uploads/2011/03/NB_PHPUnit_002.jpg" alt="" width="600" height="434" /></p>
<p>In that file we will put all basic configuration for our application testing and necessary include paths like this:</p>
<p><em>bootstrap.php</em></p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
error_reporting( E_ALL | E_STRICT );
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);

define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
define('APPLICATION_ENV', 'testing');
define('LIBRARY_PATH', realpath(dirname(__FILE__) . '/../library'));
define('TESTS_PATH', realpath(dirname(__FILE__)));

$_SERVER['SERVER_NAME'] = 'http://cea.local';

$includePaths = array(LIBRARY_PATH, get_include_path());
set_include_path(implode(PATH_SEPARATOR, $includePaths));

require_once &quot;Zend/Loader/Autoloader.php&quot;;

$loader = Zend_Loader_Autoloader::getInstance();
$loader-&gt;setFallbackAutoloader(true);
$loader-&gt;suppressNotFoundWarnings(false);

Zend_Session::$_unitTestEnabled = true;
Zend_Session::start();

?&gt;
</pre>
<p>When this is done, let&#8217;s write first controller test case to see if that&#8217;s working properly.<br />
(In my current configuration, when I create new controller  in project using Zend tool integration,<br />
there is also new file created inside “tests/Application/Controllers” folder named “Original_controller_nameTest.php”).</p>
<p>If controllerTest is not created , we can always create it manually.</p>
<p>Create new php class document and save it inside  “tests/application/controllers/” folder and give it a name: “IndexControllerTest.php”.<br />
Enter code inside like this:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php

class IndexControllerTest extends Zend_Test_PHPUnit_ControllerTestCase {

    public function setUp() {
        $this-&gt;bootstrap = new Zend_Application(
                        'testing',
                        APPLICATION_PATH . '/configs/application.ini'
        );
        parent::setUp();
    }

    public function testHomePageIsASuccessfulRequest() {
        $this-&gt;dispatch('/index');
        $this-&gt;assertFalse($this-&gt;response
                        -&gt;isException());
        $this-&gt;assertNotRedirect();
    }

    public function tearDown() {
        /* Tear Down Routine */
    }

}
</pre>
<p>Now it&#8217;s time for testing: right click on the project name in projects explorer and choose “Test” or press Alt+F6 combination to run tests.</p>
<p>If everything is set up properly, then you will see test results in “test result” window.</p>
]]></content:encoded>
			<wfw:commentRss>http://inchoo.net/tools-frameworks/unit-testing-with-zend-framework-setting-up-environment-for-the-first-test-using-netbeans-ide-for-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to move existing WordPress site to another server</title>
		<link>http://inchoo.net/wordpress/how-to-move-existing-wordpress-site-to-another-server/</link>
		<comments>http://inchoo.net/wordpress/how-to-move-existing-wordpress-site-to-another-server/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 10:21:53 +0000</pubDate>
		<dc:creator>Darko Goles</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Tools & Frameworks]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://inchoo.net/?p=8773</guid>
		<description><![CDATA[Some experienced developers would say: &#8220;Piece of cake , I can do it for about 15 minutes!&#8221; But, is it really so easy and trivial task? It&#8217;s not so heavy, &#8230;]]></description>
			<content:encoded><![CDATA[<p>Some experienced developers would say: &#8220;Piece of cake , I can do it for about 15 minutes!&#8221;<br />
But, is it really so easy and trivial task?</p>
<p>It&#8217;s not so heavy, but you have to pay attention on some really important things and because of that,  I would like to say that it is not heavy but more sensitive task to do.</p>
<p>So, let&#8217;s start with article.</p>
<p><span id="more-8773"></span></p>
<p>Imagine this situation:<br />
We have one live site on <em>http://somedomainold.com</em> with fully functional WordPress installation, many articles, plugins installed on the site. Let&#8217;s say that current database is bigger than 500 Mb. We have access to control panel, ftp and also ssh on live server.<br />
Now we want now to copy same WordPress installation to<em> http://portal.somedomain.com</em> (into sub-domain of new domain on new server).</p>
<p>Why did I mentioned SSH?</p>
<p>Because I don&#8217;t want to download database file and then upload it again on new test server but I want to transfer whole data without downloading it.<br />
(Of course, in this case we must have ftp and ssh access to new server also).</p>
<p><em>TIP: For those that never used SSH before, I would advice that use Google for basic UNIX terminal commands, because they would need them. <img src='http://inchoo.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </em></p>
<p>First of all, we have to back up live site (just in case something goes wrong) and also we can use backup to transfer both database backup and files backup to new server without problems.<br />
Often it could be done through control panel of live site. If not, there are alternatives, but I will talk just about  first mentioned case for now.</p>
<p>When backup of whole site is finished, copy that &#8216;somefile.tgz&#8217; backup file into public folder either from control panel or from some root ftp access so we could download that file via URL (for example: www.somedomainold.com/somefile.tgz.  (Do not forget to delete it after transferring!)<br />
Next, we have to connect by SSH to new server with our credentials (I often use Putty for SSH access because it is relatively simple, but there are more tools available for free).<br />
Fire up Putty and enter basic connection information in sessions category: Host-name / IP address of server we will connect to and press &#8216;Open&#8217; button to start the session.</p>
<p><img class="alignleft size-full wp-image-8777" title="moving_wp1" src="http://inchoo.net/wp-content/uploads/2011/03/moving_wp1.jpg" alt="" width="600" height="183" /></p>
<p><img class="alignleft size-full wp-image-8778" title="moving_wp2" src="http://inchoo.net/wp-content/uploads/2011/03/moving_wp2.jpg" alt="" width="600" height="87" /></p>
<p>If all went right you should see console like this:</p>
<p><img class="alignleft size-full wp-image-8779" title="moving_wp3" src="http://inchoo.net/wp-content/uploads/2011/03/moving_wp3.jpg" alt="" width="600" height="89" /></p>
<p>Now it&#8217;s time to do some UNIX stuff.<br />
First we want to choose our folder on server where we will host out new wordpress installation. (Using comands “cd”, “ls” will give us that possibility).<br />
Next, we need to is &#8216;download&#8217; that backup file from old server to new. We can do it with “wget” command in terminal.</p>
<p><img class="alignleft size-full wp-image-8780" title="moving_wp4" src="http://inchoo.net/wp-content/uploads/2011/03/moving_wp4.jpg" alt="" width="600" height="40" /></p>
<p>After that we want to decompress our downloaded backup package and move site files from inside unpacked folder to our sub-domain directory and also extract our sqldump file so we could restore it on our mysql database on new server. (I didn&#8217;t mention that we should first create mysql database and assign a database user with root credentials to it and one of the easiest possibilities is to do that through control panel of new site).<br />
For file decompressing you can use &#8216;tar -zxvf yourfile.tar.gz &#8216;.</p>
<p>Because I went too deep in details, let&#8217;s back to main theme.</p>
<p>After these &#8216;few&#8217; steps, we should ensure that all is on it&#8217;s place, so finally we should finish with folder structure like this:</p>
<p>/html/portal/<br />
here should be out wordpress installation (index.php, .htaccess, folders wp-content etc.)</p>
<p>(By the way, folder &#8216;html&#8217; is in our case root domain public directory and folder name portal is our sub-domain folder where http://portal.somedomain.com points to). Why is this important? Because of .htaccess setup later in this article.</p>
<p>Next we should replace all occurrences of &#8216;http://somedomainold.com&#8217; with &#8216;http://portal.somedomain.com&#8217; in our sqldump file.<br />
First time I tried to do that with &#8216;nano&#8217; text editor in SSH terminal, but database was too big for that editor, so Putty and SSH connection crashed every time and I decided to take advantage of another tool in terminal, so I used &#8216;vi&#8217; editor for that purpose because it won&#8217;t load whole file in memory, just visible part so terminal wouldn&#8217;t crash.<br />
(Use Google to search for &#8216;find and replace with vi&#8217; tutorial).</p>
<p>After replacing domain names in sql dump file save it and exit vi editor.</p>
<p>So, now we have files of site on right place and also sql dump file ready to restore to new database.<br />
(of course while &#8216;vi&#8217; editor is open we should probably add line on top of existing sql statements: USE new_database_name; )</p>
<p>Let&#8217;s Google again for instructions how to restore sql dump file to mysql using console. There are plenty of tutorials doing that.</p>
<p>When restoring database is completed we are almost ready to start our transferred wordpress site.</p>
<p>Open up your browser and try to enter to wp-admin:  http://portal.somedomain.com/wp-admin,<br />
log in with old site credentials and check general settings for updating URLs of the site. Also check permalinks settings and save it again.<br />
If new wordpress site is not working or displays only frontpage and not other pages in menu, probably is some problem with rewrite and / or permissions in .htaccess file. So in that case – delete .htaccess file or rename it via ftp and go to wp-admin &#8211; &gt; settings &#8211; &gt; permalinks again and save it again and new .htaccess file will be created  with some wordpress lines.<br />
From my experience because our installation was in root domain before and now is on subdomain,<br />
we need to add subdomain folder name before /index.php in .htaccess file (like on image) and all should be OK.</p>
<p><img class="alignleft size-full wp-image-8781" title="moving_wp5" src="http://inchoo.net/wp-content/uploads/2011/03/moving_wp5.jpg" alt="" width="600" height="354" /></p>
<p>Maybe there are easier ways to move site, maybe there are better ways, but I felt that I have to write about that from my experience before, so thank you for reading <img src='http://inchoo.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://inchoo.net/wordpress/how-to-move-existing-wordpress-site-to-another-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to override Magento admin view (template) files, quick and dirty way</title>
		<link>http://inchoo.net/ecommerce/magento/how-to-override-magento-admin-view-template-files-quick-and-dirty-way/</link>
		<comments>http://inchoo.net/ecommerce/magento/how-to-override-magento-admin-view-template-files-quick-and-dirty-way/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 16:37:39 +0000</pubDate>
		<dc:creator>Branko Ajzele</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[override]]></category>

		<guid isPermaLink="false">http://inchoo.net/?p=3913</guid>
		<description><![CDATA[Suppose you are working on a extension that needs to either change some stuff or implement new stuff in the one of the Magento admin areas. For example, imagine a &#8230;]]></description>
			<content:encoded><![CDATA[<p>Suppose you are working on a extension that needs to either change some stuff or implement new stuff in the one of the Magento admin areas. For example, imagine a &#8220;Images&#8221; tab on the product edit section. If you were in a position where you need to do certain modifications on &#8220;Images&#8221; tab then you would most likely need to modify the app/design/adminhtml/default/default/template/catalog/product/helper/gallery.phtml file to do so. One of Inchoo coworkers and a good friend of mine, Ivan Weiler, made a <a href="http://inchoo.net/ecommerce/magento/custom-admin-theme-in-magento/">Magento Admin theme module</a> that enables you to achieve similar functionality for admin template files as you have for frontend template files.<span id="more-3913"></span></p>
<p>However, sometimes you wont wish your extensions depend on the additional module for certain functionality. Stuff like &#8220;overriding&#8221; the admin view files can easily be achieved with just a few minor modifications of extended class. </p>
<p>Content of my app\code\community\MyCompany\MyModule\Block\Adminhtml\Catalog\Product\Helper\Form\Gallery\Content.php file.</p>
<pre class="brush: php; title: ; notranslate">

class MyCompany_MyModule_Block_Adminhtml_Catalog_Product_Helper_Form_Gallery_Content extends Mage_Adminhtml_Block_Catalog_Product_Helper_Form_Gallery_Content
{
    /**
     * This method has been overridden merely for the purpose of setting up a new view file
     * to be used in place of the default theme folder.
     *
     * @see app/code/core/Mage/Core/Block/Mage_Core_Block_Template#fetchView($fileName)
     */
    public function fetchView($fileName)
    {
        extract ($this-&gt;_viewVars);
        $do = $this-&gt;getDirectOutput();

        if (!$do) { ob_start(); }

        include getcwd().'/app/code/community/MyCompany/MyModule/blocks/Adminhtml/catalog/product/helper/gallery.phtml';

        if (!$do) {$html = ob_get_clean(); }
        else { $html = ''; }

        return $html;
    }
}
</pre>
<p>Which goes inline with the config.xml file entry like:</p>
<pre class="brush: xml; title: ; notranslate">
...
&lt;blocks&gt;
	&lt;adminhtml&gt;
		&lt;rewrite&gt;
			&lt;catalog_product_helper_form_gallery_content&gt;MyCompany_MyModule_Block_Adminhtml_Catalog_Product_Helper_Form_Gallery_Content&lt;/catalog_product_helper_form_gallery_content&gt;
		&lt;/rewrite&gt;
	&lt;/adminhtml&gt;
&lt;/blocks&gt;
...
</pre>
<p>In the example below, I am pointing the block to look for my view file within my module folder, and not within some Magento design folder. Basically my gallery.phtml is the same as the original Magento adminhtml view file for the same purpose, but now I can go in and implement my additional stuff in it. </p>
<p>Approach like this can have its advantage in terms of keeping all the required overridden design files in your own module directory.  </p>
<p>For those who need it&#8230; cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://inchoo.net/ecommerce/magento/how-to-override-magento-admin-view-template-files-quick-and-dirty-way/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Bulk disable multiple Magento products</title>
		<link>http://inchoo.net/ecommerce/magento/administration-magento/bulk-disable-multiple-magento-products/</link>
		<comments>http://inchoo.net/ecommerce/magento/administration-magento/bulk-disable-multiple-magento-products/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 15:18:58 +0000</pubDate>
		<dc:creator>Branko Ajzele</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[Magento]]></category>

		<guid isPermaLink="false">http://inchoo.net/?p=10191</guid>
		<description><![CDATA[With all its ORM, model, resource and so on greatness, sometimes platform limitations are too obvious in Magento when it comes to large number of products in store. Recently I &#8230;]]></description>
			<content:encoded><![CDATA[<p>With all its ORM, model, resource and so on greatness, sometimes platform limitations are too obvious in Magento when it comes to large number of products in store. Recently I faced a simple task, I needed to disable around 6500 products in Magento  that were assigned to a single category called &#8220;Inactive Products&#8221;. Given that it was an import from old system to Magento it is irrelevant why one would use category &#8220;Inactive Products&#8221; instead of just setting their status to &#8220;disabled&#8221;. My point is, whats the fastest way to do a bulk action on large number of products.<span id="more-10191"></span></p>
<p>There are certain bulk actions you can do from &#8220;Catalog > Manage Products&#8221; section, however they all fail on large number of products selected. Logical solution is to simply use the raw SQL query. Only one catch, knowing where to look for.</p>
<p>Below is a practical example on &#8220;How to bulk update product status based on product category&#8221;. In my case, the id of my category in question was 35, while my &#8220;status&#8221; attribute had an id of 80. Most likely yours &#8220;status&#8221; attribute will have the same id value given that its a default Magento attribute.</p>
<p>Here is the actual SQL code that disables the products which have only one category assigned, the one with id 35:</p>
<pre class="brush: sql; title: ; notranslate">
UPDATE ma_catalog_product_entity_int
SET value = '2'
WHERE attribute_id = 80
AND entity_id IN (SELECT entity_id FROM ma_catalog_product_entity WHERE category_ids = '35');
</pre>
<p>Code above executed under two seconds, disabling around 6500 products in one run. Doing something like this purely from PHP or shall I say Magento can turn out to be &#8220;mission impossible&#8221;.</p>
<p>Only one advice, always do a full database backup prior to any database changes.</p>
]]></content:encoded>
			<wfw:commentRss>http://inchoo.net/ecommerce/magento/administration-magento/bulk-disable-multiple-magento-products/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Invoice printing to PDF taking to long in Magento?</title>
		<link>http://inchoo.net/ecommerce/magento/administration-magento/invoice-printing-to-pdf-taking-to-long-in-magento/</link>
		<comments>http://inchoo.net/ecommerce/magento/administration-magento/invoice-printing-to-pdf-taking-to-long-in-magento/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 10:25:29 +0000</pubDate>
		<dc:creator>Branko Ajzele</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[Magento]]></category>

		<guid isPermaLink="false">http://inchoo.net/?p=10198</guid>
		<description><![CDATA[Recently I was assigned a task to check the slowness of PDF printing on invoice page of Magento admin. It took him around 5minutes to print PDF (return PDF document &#8230;]]></description>
			<content:encoded><![CDATA[<p>Recently I was assigned a task to check the slowness of PDF printing on invoice page of Magento admin. It took him around 5minutes to print PDF (return PDF document on Invoice page). After diving into the code trying to trace the issue I found what was the cause of slow printing. PDF document that gets created has the ability to include the logo in header.<span id="more-10198"></span></p>
<p>Code that adds the image into the header is located under the method named &#8220;getPdf()&#8221; in &#8220;app/code/core/Mage/Sales/Model/Order/Pdf/Invoice.php&#8221; file. There is a line that says &#8220;$this->insertLogo($page, $invoice->getStore());&#8221;.</p>
<p>Method &#8220;insertLogo()&#8221; is located under &#8220;app/code/core/Mage/Sales/Model/Order/Pdf/Abstract.php&#8221;. When commented out the invoice gets printed to PDF in a matter of 2-3 seconds. However, simply commenting out the method is not the proper solution. After short introspection, conclusion was that the image assigned as logo was to big in dimensions (around 3500x&#8230; px). Reducing logo in size drastically improved generation of PDF.</p>
<p>Hope this helps someone with the same &#8220;slow invoice printing&#8221; issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://inchoo.net/ecommerce/magento/administration-magento/invoice-printing-to-pdf-taking-to-long-in-magento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manage your contacts effectively &#8211; where have all my post-its gone?</title>
		<link>http://inchoo.net/tools-frameworks/manage-your-contacts-effectively-highrise/</link>
		<comments>http://inchoo.net/tools-frameworks/manage-your-contacts-effectively-highrise/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 06:52:20 +0000</pubDate>
		<dc:creator>Aron Stanic</dc:creator>
				<category><![CDATA[Tools & Frameworks]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[crm]]></category>
		<category><![CDATA[management]]></category>

		<guid isPermaLink="false">http://inchoo.net/?p=2414</guid>
		<description><![CDATA[Anyone who&#8217;s ever worked on any kind of Customer Relationship Management (CRM) task – and, to be honest, that pretty much describes everyone reading this – knows it can be &#8230;]]></description>
			<content:encoded><![CDATA[<p>Anyone who&#8217;s ever worked on any kind of Customer Relationship Management (CRM) task – and, to be honest, that pretty much describes everyone reading this – knows it can be quite a hassle managing all the contacts, deals, callbacks, quotes and whatnots of client communication.</p>
<p>How many times have you scribbled some important note on the closest post-it you could find only to lose sight of it the very next day (or minute, for that matter)? Please raise your hand if you&#8217;ve at least once missed out on that follow-up email to a prospect weeks after sending your quote? It looks like we&#8217;re voting on something, right? Well, not any more.</p>
<p><span id="more-2414"></span>Since I joined the team, I&#8217;ve had the privilege to use <a href="http://highrisehq.com/">Highrise</a> – a great contact management tool from <a href="http://www.37signals.com/">37signals</a> which helps me keep track of the entire client communication process with ease. Let&#8217;s say I&#8217;ve just received an email inquiry from a new prospect. When sending a response, I can instantly Bcc the email to my Highrise dropbox making the communication transparent and easily trackable for myself and, most importantly, for the rest of the team as well.</p>
<p>I&#8217;m able to upload and/or import basic contact information about the new client together with her/his picture (sometimes being good with the names simply doesn&#8217;t cut it), corporate information, other notes and – yes – even feed the profile with their <a href="http://twitter.com/inchoo">Twitter updates</a> so I can see what the client is up to in real time.</p>
<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="391" id="viddler"><param name="movie" value="http://www.viddler.com/simple_on_site/ac3324ab" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><embed src="http://www.viddler.com/simple_on_site/ac3324ab" width="437" height="391" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" name="viddler" ></embed></object></p>
<p>While some of these features can strike you as purely cosmetic, there are others that really stand out. I can create task lists for each contact (making sure I don&#8217;t forget sending that quote or a follow-up email), add pending and any previous deals to them and tag them accordingly.</p>
<p>It happened a couple of times that I&#8217;d make a follow-up on a prospect who needed some small Magento tweak a month ago and decided to go with another developer. He had experienced some problems and was very much relieved to hear back from us and ask for our help with a larger deal that we would then land. Who knows if I&#8217;d have remembered to make that follow-up had I not created a task two months ago.</p>
<p>Highrise will send out reminders to your email address with daily tasklist and it will let you know without hesitation once some of your tasks are overdue. There&#8217;s also a whole bunch of <a href="http://highrisehq.com/extras">extras and add-ons</a> available so you can really tailor it to your needs.</p>
<p>Of course, there&#8217;s no tool in the world that would do everything for you (well, not yet, unfortunately), I still need to set my own tasks, make the callbacks and send out those quotes. However, now it&#8217;s all safely in one place and for everyone in my team to see and, if need be, jump in and follow up easily if I&#8217;m unavailable.</p>
<p>Plus, it&#8217;s environmentally friendly, no more post-its for me so I&#8217;ve saved a couple of trees in the process. <img src='http://inchoo.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://inchoo.net/tools-frameworks/manage-your-contacts-effectively-highrise/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Access denied in Magento admin</title>
		<link>http://inchoo.net/ecommerce/magento/access-denied-in-magento-admin/</link>
		<comments>http://inchoo.net/ecommerce/magento/access-denied-in-magento-admin/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 18:11:45 +0000</pubDate>
		<dc:creator>Ivan Weiler</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[administration]]></category>

		<guid isPermaLink="false">http://inchoo.net/?p=1230</guid>
		<description><![CDATA[Some of you may encountered this problem. You install new Magento extension through downloader, try to access its configuration settings and Magento throws &#8220;Access denied&#8221; page at you. Although you&#8217;re &#8230;]]></description>
			<content:encoded><![CDATA[<p>Some of you may encountered this problem. You install new Magento extension through downloader, try to access its configuration settings and Magento throws &#8220;Access denied&#8221; page at you. Although you&#8217;re administrator of the system.</p>
<p><span id="more-1230"></span></p>
<p><img class="alignnone size-full wp-image-1234" title="access-denied-in-magento-admin-1" src="http://inchoo.net/wp-content/uploads/2009/03/access-denied-in-magento-admin-1.jpg" alt="access-denied-in-magento-admin-1" width="636" height="400" /></p>
<p>So what happened here? Magento just doesn&#8217;t have stored privileges for this new extension.</p>
<p><strong>First just try to logout and login again.</strong> If that doesn&#8217;t work, you need to reset admin privileges.</p>
<p>Navigate to System-&gt;Permissions-&gt;Roles and click Administrators role.</p>
<p><img class="alignnone size-full wp-image-1235" title="access-denied-in-magento-admin-2" src="http://inchoo.net/wp-content/uploads/2009/03/access-denied-in-magento-admin-2.jpg" alt="access-denied-in-magento-admin-2" width="636" height="400" /></p>
<p>Check your Role Resources settings just in case, Resource Access dropdown should be already set to All for administrators.</p>
<p><img class="alignnone size-full wp-image-1236" title="access-denied-in-magento-admin-3" src="http://inchoo.net/wp-content/uploads/2009/03/access-denied-in-magento-admin-3.jpg" alt="access-denied-in-magento-admin-3" width="636" height="400" /></p>
<p>Without changing anything just click &#8220;Save Role&#8221; button, so that Magento re-saves all permissions.</p>
<p>You should be able to access your new extension now without problems.</p>
]]></content:encoded>
			<wfw:commentRss>http://inchoo.net/ecommerce/magento/access-denied-in-magento-admin/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
		<item>
		<title>Custom admin theme in Magento</title>
		<link>http://inchoo.net/ecommerce/magento/custom-admin-theme-in-magento/</link>
		<comments>http://inchoo.net/ecommerce/magento/custom-admin-theme-in-magento/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 01:15:51 +0000</pubDate>
		<dc:creator>Ivan Weiler</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[administration]]></category>

		<guid isPermaLink="false">http://inchoo.net/?p=980</guid>
		<description><![CDATA[As mentioned on Magento forums the easiest way to achieve this is with overriding adminhtml config with your local custom one and activate it as module. This is just a &#8230;]]></description>
			<content:encoded><![CDATA[<p>As mentioned on <a href="http://www.magentocommerce.com/boards/viewthread/17306/#t64504" target="_blank">Magento forums</a> the easiest way to achieve this is with overriding adminhtml config with your local custom one and activate it as module.</p>
<p>This is just a small example of different approach with Admin Theme config option in admin panel, to show you how things can be done in different ways in Magento.</p>
<p><span id="more-980"></span></p>
<p>Since this is one of those &#8220;code talks, talk walks&#8221; examples, here it is: <a href="http://inchoo.net/wp-content/uploads/2009/03/admintheme_example.rar">admintheme_example.rar</a>.</p>
<p>It&#8217;s great example of small Magento module with simple event hooking and adding configuration fields through system.xml.</p>
<p>Follow directory structure, copy files to their place and you will notice new &#8220;Admin Theme&#8221; option in System-&gt;Configuration-&gt;General-&gt;Design (Default Config scope). Your theme goes in app/design/adminhtml/default/yourthemename folder. It doesn&#8217;t need to be whole theme of course, just the files you&#8217;re changing.</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://inchoo.net/ecommerce/magento/custom-admin-theme-in-magento/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>TeraFlex PLUS, another Magento + WordPress duo</title>
		<link>http://inchoo.net/wordpress/teraflex-plus-another-magento-wordpress-duo/</link>
		<comments>http://inchoo.net/wordpress/teraflex-plus-another-magento-wordpress-duo/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 14:55:36 +0000</pubDate>
		<dc:creator>Tomislav Bilic</dc:creator>
				<category><![CDATA[Integration]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[advertising]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[teraflex]]></category>

		<guid isPermaLink="false">http://inchoo.net/?p=848</guid>
		<description><![CDATA[After we launched TeraFlex Suspensions website few months ago, we created a new similar website for Teraflex PLUS. Although the name is similar, this is not the same company. The &#8230;]]></description>
			<content:encoded><![CDATA[<p>After we launched <a title="Teraflex Suspension, WordPress CMS and magento online store" href="/wordpress/our-first-magento-store-teraflex-suspensions/">TeraFlex Suspensions website</a> few months ago, we created a new similar website for Teraflex PLUS. Although the name is similar, this is not the same company. The primary goal of this site is to help Jeep owners to upgrade their pets with parts and accessories for any type of adventure. The secondary goal is to create a Jeep enthusiast community in Utah, USA and surroundings. The site is powered by WordPress and Magento combination.</p>
<p><span id="more-848"></span>Magento is a superb Shopping Cart, but it lacks some of the CMS features. WordPress is a superb CMS, but it fails to provide the needs for the eCommerce goals. The combination of these can create a very powerful website. We present you  <a href="http://www.teraflexplus.com/">TeraFlex PLUS : Jeep Adventure Outfitters</a><br />
<a rel="nofollow" href="http://www.teraflexplus.com/">http://www.teraflexplus.com/</a></p>
<p><img class="alignnone size-full wp-image-850" title="Rig Gallery at Teraflx PLUS" src="http://inchoo.net/wp-content/uploads/2009/02/teraflexplus-2.jpg" alt="Rig Gallery at Teraflx PLUS" width="637" height="323" /></p>
<p>Magento part of the site can be viewed if you click at <a title="Teraflex PLUS : List of Jeeps" rel="nofollow" href="http://www.teraflexplus.com/shop/shop-by-vehicle" target="_blank">Shop by Vehicle</a> or <a title="TeraFlex PLUS : Shop by Brand" rel="nofollow" href="http://www.teraflexplus.com/shop/shop-by-brand" target="_blank">Shop by Brand</a> tabs from the main menu, but you will notice that some blocks seamlessly integrate between two solutions.</p>
<p><img class="alignnone size-full wp-image-852" title="Product Info Page in Magento on TeraFlex PLUS" src="http://inchoo.net/wp-content/uploads/2009/02/teraflexplus-3.jpg" alt="Product Info Page in Magento on TeraFlex PLUS" width="637" height="205" /></p>
<p>We developed this site as the <a title="Surgeworks - development done right" rel="nofollow" href="http://surgeworks.com/" target="_blank">Surgeworks</a> team. The design was created by one of out top designers, <a rel="nofollow" href="http://rafaeltorales.com/" target="_blank">Rafael Torales</a>. We hope you enjoy it and feel free to post your comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://inchoo.net/wordpress/teraflex-plus-another-magento-wordpress-duo/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

