Version 3, last updated by acyuta at November 21, 2010 06:54 UTC

Implement a comment box for customer to input details about their order or shipment on checkout.

Eivindji found this plugin:

Customer Order Comment.

h3.Installation

Visit this page where the instructions to install the extension are.

Install through the Magento Connect Manager with the extension key :

magento-community/Biebersdorf_CustomerOrderComment

Template changes

The changes to the templates are a bit tricky since we are using a theme, so these layouts have to be integrated with the theme templates.
Inside the magento_dir/code/community is the extension we installed under Biebersdorf/CustomerOrderComment. The design folder hold the templates to be replaced in our installation. The developer clearly states that we should NOT replace the Magento templates but use the Theme method in order to install these files and not disrupt the Magento templating engine, or obstruct (or overwrite) any Magento upgrades.
The design sub-folders are adminhtml and frontend.
The adminhtml (templates for the backend) were place under a “bls” template folder I created.
Thus in the backend under System|Configuration|General|Design|Themes|Templates was changed to bls.

cd magento_dir/app/code/community/Biebersdorf/CustomerOrderComment/design/adminhtml/template
sudo cp -rp ./* /var/www/magento/app/design/adminhtml/default/bls/

And then the frontend templates:
cd magento_dir/app/code/community/Biebersdorf/CustomerOrderComment/design/frontend/template
sudo cp -rp ./* /var/www/magento/app/design/frontend/default/pefresh/template/

Database changes

The Magento DB needs modification. This mod should be automated with the extension install but for 1.4.1 the php script has not been updated to do this, so it needs to be done manually.

 ALTER TABLE  `sales_flat_order` ADD  `biebersdorf_customerordercomment` TEXT NOT NULL

Magento admin configurations

Enable Agreements in System|Configuration|Sales|Checkout|Checkout Options|Enable Terms and Conditions set it to Yes.
Change Templates in System|Configuration|General|Design|Themes|Templates set it to bls, which is where I saved the backend templates.
The frontend templates were installed by (unfortunately) overwriting the theme templates since I couldn’t use the bls template since the petheme overrides it.

(refs: extension and extra directions