Getting the Magento Base Paths and URL’s

Just a little reference:

 Mage::getBaseDir(‘app’) => Get app directory path
 Mage::getBaseDir(‘media’) => Get media directory path
 Mage::getBaseDir(‘design’) => Get design directory path
 Mage::getBaseDir(‘code’) => Gives code directory file path
 Mage::getBaseDir(‘lib’) => Gives lib directory file path
 Mage::getBaseDir(‘skin’) => Gives skin directory file path
 Mage::getBaseDir(‘var’) => Gives var directory file path
 Mage::getBaseDir(‘cache’) => Gives cache directory file path
 Mage::getBaseDir(‘log’) => Gives log directory file path

Urls:

 Mage::getBaseUrl() => Get base url path e.g. http://yourwebsite.com/
 Mage::getBaseUrl('media') => Get MEDIA folder path e.g. http://yourwebsite.com/media/
 Mage::getBaseUrl('js') => Get JS folder path e.g. http://yourwebsite.com/js/
 Mage::getBaseUrl('skin') => Get SKIN folder path e.g. http://yourwebsite.com/skin/
 
 Mage::getUrl('',array('_secure'=>true))
 Mage::getUrl('module/controller/action',array('_secure'=>true))
 Mage::getUrl('module/controller/action')

 Mage::helper('core/url')->getHomeUrl();
 Mage::helper('core/url')->getCurrentUrl();

Static Blocks

{{base url=''}}
{{skin url='images/skinimage.jpg'}}
{{media url='/mediaimage.jpg'}}
{{store url=''}}

Export WordPress post URLs

I’m making some Apache redirects from an old domain to a new domain. I need the old domains blog posts to redirect to the new domain. So I need the WordPress permalinks.

In MySQL, you can say the following to get your permalinks.

SELECT wpp.post_title, wpp.guid,wpp.post_date,
CONCAT(wpo_su.option_value,
REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(
    wpo.option_value,'%year%', date_format(wpp.post_date,'%Y'))
    ,'%monthnum%',date_format(wpp.post_date,'%m'))
    ,'%day%',date_format(wpp.post_date,'%d'))
    ,'%postname%',wpp.post_name )
    ,'%category%',wpc.slug )
    ,'%post_id%', wpp.id)
) as permalink
FROM wp_posts wpp
INNER JOIN wp_options wpo ON wpo.option_name='permalink_structure'
INNER JOIN wp_options wpo_su ON wpo_su.option_name='siteurl'
INNER JOIN (
    SELECT wtr.object_id ID, max(wpt.slug) slug
    FROM wp_term_relationships wtr
    INNER JOIN wp_term_taxonomy wtt ON wtt.term_taxonomy_id=wtr.term_taxonomy_id AND wtt.taxonomy='category'
    INNER JOIN wp_terms wpt on wpt.term_id=wtt.term_id
    GROUP BY  wtr.object_id
) wpc ON wpc.ID=wpp.ID
WHERE wpp.post_type = 'post'
AND wpp.post_status = 'publish'
ORDER BY wpp.post_date DESC

Removing index.php from Magento URL’s

This should be the default behaviour, if you ask me, however no one asked me.

Log in to the admin panel, and navigate:

System > Configuration > Web > Search Engine Optimization

Use web server rewrites is the option we’re looking for. Lastly, create an .htaccess file, with the following in it:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Users of ZF should be quite familiar with an .htaccess like this. That’s it, job done!