Development


Magento dev site redirects to live site 1

When taking a copy of a production site and installing it on a dev server, you’ll need to do a few things for the application to load the dev server and not redirect to the live site.
1. Change the site_url entries in the core_config_data table to match your dev site’s url
2. Delete everything in the magentoroot/var directory
3. Update the app/etc/local.xml file to point at your local database
4. This is the one that usually stumps me for a bit… ensure the magentoroot/var directory’s permissions are opened up (777 the var directory). If this is not done, Magento will write your Magento temporary and cache to the system temp and you magically be redirected to the live site.


Simple Magento Deployment Script

Here is a quick bash script I created to do a magento deployment. This assumes your magento code is managed by git and you have n98-magerun v1.100 or greater installed on the server. Run this in your project root like “bash deploy.sh mybranchname;” .

#!/bin/bash
 
echo "fetching new branches";
git fetch;
 
echo "creating maintenance file";
touch maintenance.flag;
 
echo "checking out" $1;
git checkout $1;
 
echo "clearing cache";
n98-magerun cache:flush;
 
echo "clearing JS and CSS cache";
n98-magerun media:cache:jscss:clear;
 
echo "running installers";
n98-magerun sys:setup:run;
 
echo "removing maintenance file";
rm maintenance.flag;
 
echo "done";

Nginx config for Zend Framework 1

My server is running Ubuntu with Nginx and php5-fpm. I wasn’t able to find a quick drop in config for my zend framework 1 project so I wanted to share what I was able to get working. Also notice nginx is listening to tcp port 9000 instead of the default unix socket.

server {
  listen 80;
  server_name local-mysite.com;
  root /var/www/mysite/public_html;
 
  location / {
   try_files $uri $uri/ /index.php$is_args$args;
   index index.php;
  }
 
  # PHP scripts will be forwarded to fastcgi processess.
  location ~ \.php$ {
   include /etc/nginx/fastcgi_params;
 
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
  }
}

Magento dataflow import Skip import row, is not valid value “” for field “type”

MerryStockings
I’ve run into this issue multiple times for various reasons when using Magento’s dataflow importer. In my research of the problem I came across https://www.mag-manager.com/useful-articles/case-studies/error-skip-import-row-required-field-not-defined/ that contained many helpful suggestions, but none of those solved the issue. Just a few products were causing this issue during the import on my dev environment. I found out the product did not exist in my older copy of the database, which caused this error. So much for having a meaningful error message :).


Enable template path hints in Magento admin

Newer Magento versions including Community 1.9 and higher, add the following in a config.xml of an active module:

<config>
...
     <websites>
        <admin>
            <dev>
                <debug>
                    <template_hints>1</template_hints>
                    <template_hints_blocks>1</template_hints_blocks>
                </debug>
            </dev>
        </admin>
    </websites>
...
</config>

For older installs insert this record into the database and delete when finished:

INSERT INTO `core_config_data` (`scope`, `scope_id`, `path`, `value`) VALUES ('websites', '0', 'dev/debug/template_hints', '1');