@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.

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_customized_name} />
            </direct_front_name>
        </request>
     </global>
     <admin>
        <routers>
            <adminhtml>
                <args>
                    <frontName><![CDATA[{backend_customized_name}]]></frontName>
                </args>
            </adminhtml>
        </routers>
     </admin>
</config>

Note the Tags <request><direct_front_name>< {backend_customized_name} /> </direct_front_name></request>.
< {backend_customized_name} /> is a tag and not the content of an XML element.
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 = explode('/', ltrim($pathInfo, '/'), 2);
                $storeCode = $pathParts[0];
 
                if (!$this->isDirectAccessFrontendName($storeCode)) {
                    $stores = Mage::app()->getStores(true, true);
                    if ($storeCode!=='' && isset($stores[$storeCode])) {
                        Mage::app()->setCurrentStore($storeCode);
                        $pathInfo = '/'.(isset($pathParts[1]) ? $pathParts[1] : '');
                    }
                    elseif ($storeCode !== '') {
                        $this->setActionName('noRoute');
                    }
                }
            }

 


 

 

The JoomlaDay 2010 is finished in a happy ambiance. I'd like to thank whole organizers and participants who participated to the success of this day. I'm very glad to have taken part and as promised I provide you the complete documentation and the PowerPoint presentation of this JoomlaDay. This will allow you to install, configure and customize Magento with Joomla and allow, then, their integration (user account, visual integration):

On Sunday 21th March at the Palais des Congrès of Bordeaux will take place the JoomlaDay, a conference about Joomla with presentations and ateliers on different extensions and techniques to use Joomla and improve or raise its capacities.

Diglin will be there as a presenter between 14h45 and 16h15 to present the oppurtunities provided by JFusion and its plugins to integrate Joomla and Magento. A case study will be shown thanks to the elearning platfrom rissip.com.

More info on the website JoomlaDay.fr

After to get some problems with the move of the magento installation folder and the management of the extension installed through Magento Connect and Pear. I shared my information into this post. You'll find here the solution to regenerate the correct data for pear.

The pear files are serialized, so need to unserialize, replace the content with the new path of your installation. 
Like that you can use this script to change an installed Module via pear of your installation folder and update the pear files for your new installation folder. The cache files (file.reg) are in this folder : /pearlib/php/.registry/.channel.connect.magentocommerce.com_community (for example)

In attachment a PHP-CLI script to do scan the entire folder desired to fix the path of every module installed with pear.

You have to provide in arguments: 
1) the complete path of the ‘shop/downloader/pearlib/’ folder 
2) The text to find (normally the path of your previous installation) 
3) The text to replace (normally the path of your new installation)

Exemple:

php -f un/serialize-pear-reg-files.php ‘/the_path_to_magento_installation/downloader/pearlib/php/.registry’ ‘/old_path/shop’ ‘/new_path/shop’

The results are stored in the different sub-folders inside a folder ‘new_serialized’. The files and folders in the .registry are hidden in linux system.The script provided has been tested on Magento versions 1.3.2.2 et 1.3.2.3. You can use this script from your browser but you have to comment and uncomment some code and provide the above information directly into the script.

Files : unserialize-pear-reg-files.php.zip (2.9 Ko)

There is a bug in Paypal Standard for Magento, when a customer has finished the order process and validate his payment in Paypal, the customer doesn't receive any email including his invoice. He receives only a confirmation payment of Paypal and a message after the process to tell him that the order is going to be proceeded.

To resolve this problem, two possibilities:
  • Overload the class in your own module : Mage_Paypal_Model_Standard (app/code/core/Mage/Paypal/Model/) at the line 418 after $invoice->register()->pay();, add the following line: $invoice->sendEmail();
  • Create an event with the help of a class Observer.php which trigger after the event sales_order_invoice_pay, which in Paypal standard start at line 418, after the treatment $invoice->register()->pay(). To do it, you have to create a module (there is lots of tutorials on Google to know how to do it) with the following files (replace Name by the name of your module):
    • /app/code/local/Name/Sales/etc/config.xml
    • /app/code/local/Name/Sales/Model/Observer.php
    • /app/etc/modules/Name_All.xml

Read more...

Although I'm one of the JFusion developer and work to integrate Joomla/Magento mainly with this extension, I propose to give you a list of possibilities to integrate Joomla and Magento. Here are the three known:

  • JFusion (free): single sign on, interface integration between the two applications, modularity, multi applications. Some functionnalities are not yet stable.
  • MageBridge (commercial): same as JFusion but more focused into the J!/Magento integration. Cannot be tested cause of the price but honnestly I see just a small advantage by the easy way to install it and use it.
  • J!Mint (gratuit): a new coming, still in development when I'm writing those lines. It should be available at the end 2009. The integration seems to be done thanks to the webservices. Technically good but will get probably problem with the speed. Some people find already Magento slow !

Without any doubt JFusion is the best solution. I'm joking. It depends of course of your needs and your skills. The advantage of JFusion is the capabilities to integrate different applications and add some add-ons depending of the plugins which limits errors for the user synchronization. MageBridge seems to be easier to install.

I was astonished is to see that you cannot deactivate the payment method Paypal when the total amount is null. You will guess that is useless to have this payment method activated when nothing need to be paid. This scenario can arrived in certain circumstances otherwise Varien would not provide the payment method "No payment information is required" for Magento. I propose to you to change this behaviour by adding only three files in your installation.

Read more...

Bref historique

slr-idSpécialiste dans la conception et la création de sites internet depuis un peu plus de dix ans, j'ai participé à de nombreux projets tous aussi divers les uns que les autres: ecommerces, showcases (sites vitrines), événementiels et un portail intranet pour un organisme public. Ces projets ont souvent eu pour base des solutions Open Source, non pas uniquement pour des raisons de coûts mais également pour des raisons de qualité des applications et de leur possibilité à s'adapter aux besoins du moment. L'un des principaux intérêts de l'Open Source est cette accès au code source et l'apport qui peut en être fait pour augmenter les moyens de communications et d'intégration entre différentes applications ouvertes.

Nous avons tous pu observer l'évolution du Web ces dix dernières années, les amateurs se sont professionnalisés et les professionnels se sont efforcés à apporter une meilleure qualité de leurs prestations et proposent, parfois même, l'accès à leurs travaux. C'est ce que fait Varien grâce à son produit Magento. Son framework repose sur Zend Framework et Magento est l'une des premières applications à être diffuser publiquement avec ce framework. "Oui, nous le savons déjà!", en effet rien de nouveau. Mais ce n'est que l'introduction ;-). Ici commence la raison de ce site.

Read more...