Magento Remove Hard Coded URLs from Theme
Sep 2, 2010 · 1 minute readCategory: magento
If you are working on a theme, you may find that there are hard coded links dotted all over the place.
This can make testing a site offline (and thereby not on the same URL) a bit of a pain.
Here is a quick fix for you:
- Remove all hard coded links from the CMS section:
update cms_block set content = replace(content, 'http://www.domain.com/', '{{store url=''}}');
update cms_page set content = replace(content, 'http://www.domain.com/', '{{store url=''}}');
- Remove all hard coded links from the theme files.
This is a command line one using grep and sed.
Firstly, cd into the root theme folder
cd app/design/frontent/default/hardtheme
Now find files with hard coded links
grep -rl 'http://www.domain.com' ./
Now to automatically remove all those,
grep -rl 'http://www.domain.com' ./ | xargs sed -i 's/http:\/\/domain.com\//<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);?>/'