All posts in Magento

New modules version for Magento 1.6

All modules I did have been rewritten to improve them or make them compatible with Magento 1.6 if necessary. As reminder, here is the list of these modules:

  • Add Information to Sales Email : allows you to add some information into your sales emails (invoice, order, crédit memo) about each items purchased by your customers. For example, if you want to provide some instructions how to use a product or access to your services.
  • Zopim Chat: displays the chat widget of Zopim with advanced configuration. Better than the official one because it supports multi-website and store views.
  • Joomla Integration: help you to integrate Magento and Joomla. Jfusion modules and plugins are mandatory. Check it out the www.diglin.com website.
  • JS/CSS Compression & Minify (UIOptimization): minified your cascade stylesheet and javascript in the purpose to improve the performance of your Magento website. Lots of configuration settings are available to fine tune your installation.
  • Username support: support username on registration and login

The Zopim Chat module (unofficial) for Magento has been updated and stay free. This update improve some performance of interface downloading following instructions of Zopim.com Core Team.

Download it from the Magento Connect.

Frontend Zopim Badge configuration2

Profiling

As promised, I provide you below the statistic of compression and ratio by using the different libraries with the help of my UI Optimization module that you can find into Magento Connect

Compressed/Minified file statistic and comparison by using default Magento template, sample data, configuration for Rissp User Interface Optimization module is for all by default. Only the method to compress/minify is changed.
Merging file has no influence on compression but has influence on number of HTTP requests which is also an important point.

**** JS compression (analyzed with YSlow):

- no compression, no miniying, no merging:  329.8 Kb

- JSMin (unmerged, no gzip): total 230.4Kb (31% of compression)
- JSMin (merged, no gzip): total 230.4Kb
- JSMin (merged, gzip): total 56.8Kb (compression 83%)

- YUI compressor (unmerged, no gzip): total 193.6 Kb (compression 41%)
- YUI compressor (merged, no gzip): total 193.6 Kb
- YUI compressor (merged, gzip): total 52.6 Kb (compression 84%)

- Packed (unmerged, no gzip): total 133.5 Kb (compression 59%)
- Packed (merged, no gzip): total 133.5 Kb
- Packed (merged, gzip): total 44.5 Kb (compression 86.5%)

**** CSS compression (analyzed with YSlow):

- no compression, no miniying, no merging, no gzip: 95.9 kb

- CSS Tidy (unmerged, no gzip): total 79.8 Kb (compression 17%)
- CSS Tidy (merged, no gzip): total 79.8 Kb
- CSS Tidy (merged, gzip): total 14.7 Kb (compression 85%)

- YUI compressor (unmerged, no gzip): total 82.7 Kb (compression 14%)
- YUI compressor (merged, no gzip): total 82.7 Kb
- YUI compressor (merged, gzip): total 14.5 Kb (compression 85%)

- Google Minify (unmerged, no gzip): total 79.9 Kb (compression 17%)
- Google Minify (merged, no gzip): total 79.9 Kb
- Google Minify (merged, gzip): total 14.9 Kb (compression 84.5%)

CONCLUSION:
- for JS: 1) YUICompressor 2) JSMin 3) Packed (for compatibility problem with Magento)
- for CSS: 1) CSSTidy 2) Google Minify (almost good as CSSTidy) 3) YUICompressor

Zopim Chat by Diglin in the Magento Homepage

Frontend Zopim Badge

I published a new module for Magento to integrate the Zopim Chat into your Magento Shop installation. This is an unofficial version of the module and supported by Diglin GmbH.

This module has for advantage:

  • to integrate easily and quickly the widget into your Magento installation by just entering your Zopim credentials, it will enable automatically the widget for you.
  • to allow to create a configuration for each store view
  • to configure some options of the Chat: window, buble, button (color, position, text, language synchronisation mode …) for all store views or for a specific one.
  • to get access to the Zopim dashboard directly from your Magento backend and chat directly with your visitors.

An official version exists but don’t take in charge the configuration per store view and doesn’t allow to define the chat for specific Magento page.

You can visit the Magento Connect page to get this module. Clic on the pictures below to zoom in and get a preview of the module. You can click on the button “Read more” to get more information about Zopim Chat.

What is Zopim Chat?

This service is available under différent prices at this address http://www.zopim.com

Zopim Live Chat is a web-based application that lets businesses monitor and engage website visitors in real time. Designed with small medium businesses in mind, it is easy to use, affordable and powerful.
Zopim was the first to introduce live chat widgets thats built right into your website. This gives your customers a more seamless and pleasant chatting experience while surfing your site. No more annoying popup chat windows!
Log in to Zopim’s web-based dashboard to get a wealth of information about your visitors in real-time. With an intuitive interface and features, you’ll become an expert in customer service within minutes.

widget 3 widget2

dashboard incoming chats

@Note: the solution below is not for the moment 100% compatible with third party modules like GoogleBase. I will try to find an improved way. There is a note below for developer to help to find a better way. Thx for your feedback.

Note: a functionnal solution is provided at the end of this article thanks to Frank in the comments.

For those who meet a problem with their Magento backend after to have customized the url access (e.g. http://www.magento.com/backend/) thanks to the file /app/etc/local.xml. They can get an error page 404 – Page Not Found after to be logged. This situation exists only if you have activated the configuration Store Code into URL ( System > Configuration > Web > Url Options > Add Store Code to Urls – YES).

The solution is to tell to Magento to not use Store Code in url for our customized url backend. You just need to edit the file local.xml in the following way: {backend_customized_name} = backend in our exemple http://www.magento.com/backend/

Below an exemple of local.xml file:

<config>
 <global>
  ...
  <request>
   <direct_front_name>
    <{backend_name_customized} />
   </direct_front_name>
  </request>
 </global>
 <admin>
  <routers>
   <adminhtml>
    <args>
    <frontName><![CDATA[{nom_backend_personalisé}]]></frontName>
    </args>
    </adminhtml>
    </routers>
 </admin>
</config>

Replace only {backend_customized_name} by backend (in our example) or else. Then you won’t get anymore this 404 error for adminhtml modules.

@developers:
If you want to deep more about this subject, take a look in the file /app/code/core/Mage/Core/Controller/request/Http.php line 148. The problem comes from here.

if ($this->_canBeStoreCodeInUrl()) {
$pathParts = <a href="http://www.php.net/explode">explode</a>('/', <a href="http://www.php.net/ltrim">ltrim</a>($pathInfo, '/'), 2);
$storeCode = $pathParts[0];

if (!$this->isDirectAccessFrontendName($storeCode)) {
	$stores = Mage::app()->getStores(true, true);
	if ($storeCode!=='' && <a href="http://www.php.net/isset">isset</a>($stores[$storeCode])) {
		Mage::app()->setCurrentStore($storeCode);
		$pathInfo = '/'.(<a href="http://www.php.net/isset">isset</a>($pathParts[1]) ? $pathParts[1] : '');
	}
	elseif ($storeCode !== '') {
		$this->setActionName('noRoute');
	}
}
            }

Solution from Frank: A solution for this problem is to change the action of the login form.
File is in app/design/adminhtml/default/default/template/login.phtml.
Replace the line

<form method="post" action="" id="loginForm">

with

<form method="post" action="http://<?php echo $_SERVER['HTTP_HOST']; ?>/admin/admin/" id="loginForm">