<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>&#039;corePHP&#039; Blog &#187; PHP</title>
	<atom:link href="http://www.corephp.com/blog/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.corephp.com/blog</link>
	<description>Keep up to date on what&#039;s happening at &#039;corePHP&#039;</description>
	<lastBuildDate>Thu, 02 Feb 2012 16:36:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1.2</generator>
		<item>
		<title>CMS Expo Presentations</title>
		<link>http://www.corephp.com/blog/cms-expo-presentations/</link>
		<comments>http://www.corephp.com/blog/cms-expo-presentations/#comments</comments>
		<pubDate>Wed, 11 May 2011 19:09:34 +0000</pubDate>
		<dc:creator>Rafael Corral</dc:creator>
				<category><![CDATA['corePHP']]></category>
		<category><![CDATA[Expos]]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Templates]]></category>
		<category><![CDATA[XHTML+CSS]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Joomla Chicago]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.corephp.com/blog/?p=2765</guid>
		<description><![CDATA[The beginning of May &#8216;corePHP&#8217; attended the CMS Expo for the 4th time. This year was a complete blast and the best yet. Over the 4 days of attending the Expo we learned a lot of useful new material and &#8230; <a href="http://www.corephp.com/blog/cms-expo-presentations/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The beginning of May &#8216;corePHP&#8217; attended the <a title="CMS Expo" href="http://cmsexpo.net/" target="_blank">CMS Expo</a> for the 4th time. This year was a complete blast and the best yet. Over the 4 days of attending the Expo we learned a lot of useful new material and met a great deal of new faces. We thank everyone who came out to make the Expo a complete success and we look forward to attending next year.</p>
<p><span id="more-2765"></span></p>
<p>This year we had a total of 5 presentations presented by our company. Below you can download each of the presentations and learn from them. Until next year&#8230;enjoy!</p>
<p><strong>Rafael Corral</strong></p>
<ul>
<li><a href="https://www.corephp.com/images/wordpress/uploads/2011/05/php5most-know.pdf">PHP 5</a></li>
<li><a href="https://www.corephp.com/images/wordpress/uploads/2011/05/Speed_it_up_please.pdf">Speed! (how to gain more speed from your Joomla! site)</a></li>
</ul>
<p><strong>Jonathan Shroyer</strong></p>
<ul>
<li><a href="https://www.corephp.com/images/wordpress/uploads/2011/05/Badass-CSS-2011.pdf">Badass CSS3</a></li>
<li><a href="https://www.corephp.com/images/wordpress/uploads/2011/05/Coding-for-SEO-2011.pdf">Coding for SEO</a></li>
</ul>
<p><strong>Michael Pignataro</strong></p>
<ul>
<li><a title="e-commerce presentation cms expo 2011" href="http://www.corephp.com/images/wordpress/uploads/2011/05/e-commerce-the-joomla-way.pdf">E-Commerce the Joomla way</a></li>
</ul>
<p>Thank you John and Linda, for all of your hard work of putting the expo together!</p>
<p>Best,</p>
<p>&#8216;corePHP&#8217; Staff</p>
]]></content:encoded>
			<wfw:commentRss>http://www.corephp.com/blog/cms-expo-presentations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Implementing Joomla&#8217;s Cache Callback API</title>
		<link>http://www.corephp.com/blog/implementing-joomlas-cache-callback-api/</link>
		<comments>http://www.corephp.com/blog/implementing-joomlas-cache-callback-api/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 21:06:00 +0000</pubDate>
		<dc:creator>Adam Docherty</dc:creator>
				<category><![CDATA[Joomla]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[JAutosearch]]></category>

		<guid isPermaLink="false">http://www.corephp.com/index.php?option=com_wordpress&amp;p=2134&amp;Itemid=176</guid>
		<description><![CDATA[It has been a mighty busy few weeks here at &#8216;corePHP&#8217;. We are moving forward with several new projects that you will soon be hearing a lot about. JAutosearch is one such project that may revolutionize the way visitors utilize &#8230; <a href="http://www.corephp.com/blog/implementing-joomlas-cache-callback-api/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It has been a mighty busy few weeks here at &#8216;corePHP&#8217;. We are moving forward with several new projects that you will soon be hearing a lot about.</p>
<p><a href=" http://www.corephp.com/joomla-products/jautosearch.html">JAutosearch</a> is one such project that may revolutionize the way visitors utilize your website&#8217;s search functionality; about as much as I can say about <a href="http://www.corephp.com/joomla-products/jautosearch.html">JAutosearch</a> at this time, although it will likely be released by the time you read this (or very nearly!).</p>
<p>Ok lets get down to some Joomla! extension tips!</p>
<p><span id="more-2134"></span>While working on <a href="http://www.corephp.com/joomla-products/jautosearch.html">JAutosearch</a> (as well as many other projects) I have found that understanding Joomla&#8217;s caching system is very much a requirement if you want to design responsive, remote type systems for Joomla! It is important to  cache remote data without the visitor having to wait for it to load every single page view &#8211; even more so many remote services frown upon &#8220;really realtime&#8221; connections and could ban ya! Fearmongering aside, everyone should be able to see the advantages in caching and the freeing up of server resources it entails.</p>
<p>Today I would like to describe an especially useful caching method available to Joomla&#8217;s Framework API, this being the Cache Callback Method whereby you can cache the output from a procedural function or class method. Directions are commented to the code below.</p>
<pre>//you may need to import the required libraries if they
//are not already available
jimport('joomla.cache.cache');
jimport('joomla.cache.callback');

$cache = JCache::getInstance( 'callback', array(
	//this will be the folder name of your cache
	//inside the "cachebase" folder
	'defaultgroup' =&gt; 'my_cache', ///
	'cachebase' =&gt; JPATH_BASE . '/cache/',
	//how long to store the data in cache (seconds
	'lifetime' =&gt; ( 5*60*60 ), // hours to seconds
	'language' =&gt; 'en-GB',
	'storage' =&gt; 'file'
));

//you can turn the caching on and off here handy for param control
$cache-&gt;setCaching( true );

//your cache id must be unique to what you are caching
//if something is pretty dynamic you can use what ever vars are constructing your method
$cache_id = md5( JRequest::getVar( 'option' ) . JRequest::getVar( 'view' ) .  JRequest::getVar( 'id' ) );			

//there are two ways to call the actual data depending on whether you are
//caching a method of a class or just a plain old function.

$CacheClass = new CacheClass;

//define time so we can check the time of caching
$time = date( 'r', time() );

//now we get our data - if the cache hasn't expired the cache contents will be supplied or the
//output of the function if it has (then cache will be re-populated)

//this is the way to cache a class method - note the first argument uses php's func_get_args function
//the way you populate the first argument depends on what type of function you are calling
//first we call the "cache_method" method of the $CacheClass class we defined earlier
$data = $cache-&gt;get( array( $CacheClass, 'cache_method' ), array( $time, $cache_id ), $cache_id );

//now we call a procedural type function
$data = $cache-&gt;get( 'cache_function', array( $time, $cache_id ), $cache_id );

echo $data;

//below are the test function and class used

function cache_function( $time, $cache_id ){
	return "CacheId: $cache_id Time: $time";
}

class CacheClass{
	function cache_method( $time, $cache_id ){
		return "CacheId: $cache_id Time: $time";
	}
}</pre>
<p><em>Disclaimer: I wrote this on the fly without testing so if there are any bugs.. well let me know! You should get the concept from what is there anyway</em></p>
<p>Happy Caching!</p>
<p>Adam Stephen Docherty<br />
<em>Senior Developer &#8211; &#8216;corePHP&#8217;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.corephp.com/blog/implementing-joomlas-cache-callback-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joomla MVC &#8211; Load a model from anywhere!</title>
		<link>http://www.corephp.com/blog/joomla-mvc-load-a-model-from-anywhere/</link>
		<comments>http://www.corephp.com/blog/joomla-mvc-load-a-model-from-anywhere/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 14:57:01 +0000</pubDate>
		<dc:creator>Adam Docherty</dc:creator>
				<category><![CDATA[Joomla]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.corephp.com/index.php?option=com_wordpress&amp;p=2058&amp;Itemid=176</guid>
		<description><![CDATA[Hello there! It is good to reuse functionality whenever you can. Many think that there is a 1 to 1 relationship in regards to model and view, but this is not the case. In fact, the model can be called &#8230; <a href="http://www.corephp.com/blog/joomla-mvc-load-a-model-from-anywhere/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hello there!</p>
<p>It is good to reuse functionality whenever you can. Many think that there is a 1 to 1 relationship in regards to model and view, but this is not the case. In fact, the model can be called from anywhere. This means that you can quickly hook into functionality without duplicating code, which is always a good thing!<span id="more-2058"></span></p>
<p>Let say for example that we have a component called com_foo and we want to access it&#8217;s items model from say a module (could be a plugin as well).</p>
<p><code>//first we import some help from the joomla framework<br />
JLoader::import('joomla.application.component.model'); </code></p>
<p><code>//Load com_foo's items model (notice we are linking to com_foo's model directory)<br />
//and declare 'items' as the first argument. Note this is case sensitive and used to construct the file path.<br />
JLoader::import( 'items', JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_foo' . DS . 'models' );</code></p>
<p><code>//Now instantiate the model object using Joomla's camel case type naming protocol.<br />
$items_model = JModel::getInstance( 'items', 'FooModel' );<br />
</code><br />
<code>//Now that we have the item's model loaded, we can set its state<br />
$items_model-&gt;setState( 'id', $myItemId );<br />
</code><br />
<code>//and use it's methods!<br />
$items_model-&gt;get_item();</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.corephp.com/blog/joomla-mvc-load-a-model-from-anywhere/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Controlling Joomla! templates depending on menu you use</title>
		<link>http://www.corephp.com/blog/controlling-joomla-templates-depending-on-the-menu-you-use/</link>
		<comments>http://www.corephp.com/blog/controlling-joomla-templates-depending-on-the-menu-you-use/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 20:42:26 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Joomla]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Templates]]></category>
		<category><![CDATA[XHTML+CSS]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[snippets]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.corephp.com/index.php?option=com_wordpress&amp;p=2013&amp;Itemid=176</guid>
		<description><![CDATA[We have been working on building a multi-school Joomla! website and there have been many hurdles to overcome since Joomla! isn&#8217;t a multi-site CMS. After searching for anything that&#8217;s common across each school, I realized the menu for each school &#8230; <a href="http://www.corephp.com/blog/controlling-joomla-templates-depending-on-the-menu-you-use/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>We have been working on building a multi-school Joomla! website and there have been many hurdles to overcome since Joomla! isn&#8217;t a multi-site CMS. After searching for anything that&#8217;s common across each school, I realized the menu for each school could be used as a common denominator. If I could set a variable depending on which menu is loaded on the page then I can do just about anything I want, such as change the logo, set a unique CSS class, etc. After meeting with our developers we figured out how to do this and I&#8217;ll share it with all of you in case you ever need to do the same.<br />
<span id="more-2013"></span><br />
To start we need to pull in the information of which menus are being used on the page. Place this code in the head of your template:</p>
<pre>jimport('joomla.application.menu');
$menus = JSite::getMenu();
$m = $menus-&gt;getActive();
</pre>
<p>This checks for the active menus on the page and sets it into the variable $m so we can manipulate it. Next, you need to look at the menutype in the administrator Menu Manager (under Type). This is what we will use to determine which school is being viewed. I want to take this information and set a new variable named $school:</p>
<pre>if($m-&gt;menutype == 'district-information') { $school = 'district-info'; }
if($m-&gt;menutype == 'cityname-elementary-school') { $school = 'cityname-elementary'; }
if($m-&gt;menutype == 'cityname-middle-school') { $school = 'cityname-middle'; }
if($m-&gt;menutype == 'cityname-high-school') { $school = 'cityname-high'; }
</pre>
<p>The first thing I did was echo the variable $school into an ID on the body tag.</p>
<pre>body id="&lt; ?php echo $school; ?&gt;"
</pre>
<p>This allows me to style the CSS uniquely according to the school being viewed which gives you a lot of style control. To change the logo I can just call it by the school.</p>
<pre>#cityname-high .logo {background: url(../images/logo-highschool.jpg);}
</pre>
<p>Another thing I did was load a unique module position according to the school so I could publish modules in all pages the menu shows up on. I did this by doing the following:</p>
<pre>if($school == 'district-info') {
    echo '&lt;jdoc :include type="modules" name="district_module" style="raw" /&gt;';
};
if($school == 'cityname-elementary') {
    echo '&lt;jdoc :include type="modules" name="elementary_module" style="raw" /&gt;';
};
if($school == 'cityname-middle') {
    echo '&lt;jdoc :include type="modules" name="middle_module" style="raw" /&gt;';
};
if($school == 'cityname-high') {
    echo '&lt;jdoc :include type="modules" name="high_module" style="raw" /&gt;';
};</pre>
<p>As you can see this can give you the ability to do things you may not have been able to do before in Joomla!. I know it saved me from a major headache!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.corephp.com/blog/controlling-joomla-templates-depending-on-the-menu-you-use/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The if() Control Structure</title>
		<link>http://www.corephp.com/blog/the-if-control-structure/</link>
		<comments>http://www.corephp.com/blog/the-if-control-structure/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 20:38:26 +0000</pubDate>
		<dc:creator>Bernard Robbins</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.corephp.com/index.php?option=com_wordpress&amp;p=1912&amp;Itemid=176</guid>
		<description><![CDATA[if() gives you a choice between outcomes you choose yourself. This gives you the most flexibility out of your projects. Out of all the control structures, if() is probably one of the most used and has the most flexible ways &#8230; <a href="http://www.corephp.com/blog/the-if-control-structure/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>if() gives you a choice between outcomes you choose yourself. This gives you the most flexibility out of your projects.</p>
<p>Out of all the control structures, if() is probably one of the most used and has the most flexible ways of being written. Readability should be taken into account when you decide which way to write it. Using braces is the wisest since it doesn&#8217;t leave any room for error in what the author meant to include in the statement. if() statements may be written inside functions / methods, inside and outside most other control structures, procedural PHP, and HTML files.</p>
<p><span id="more-1912"></span></p>
<pre>if ( expr )
    statement</pre>
<p>-or-</p>
<pre>if ( expr ) {
    statement;
} elseif ( expr ) {
    statement;
} else {
    statement;
}</pre>
<p>The brace-less semicolon way is best for intermingling PHP with HTML. (i.e. view scripts from your MVC layout.) This way you can naturally write your HTML in your statements without having to use any quotes.</p>
<pre>&lt;?php if(expr) : ?&gt;
    HTML Code 1
&lt;?php else: ?&gt;
    HTML Code 2
&lt;?php endif; ?&gt;</pre>
<p>The Ternary (ter•na•ry) Operator is a special if() statement for small expressions. You can nest the ternary as many times as you would like, but more than once is usually frowned upon since your intentions will be unclear for other developers.</p>
<pre>(expr1) ? (expr2) : (expr3);
(test for true) ? (do this if true) : (do this if false);
echo TRUE ? 'Yes, I am true' : 'I am not true';</pre>
<p>prints: Yes, I am true</p>
<pre>$value = FALSE ? 'Yes, I am true' : 'I am not true';
echo $value;</pre>
<p>prints: I am not true</p>
]]></content:encoded>
			<wfw:commentRss>http://www.corephp.com/blog/the-if-control-structure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to use countModules in any Joomla! file</title>
		<link>http://www.corephp.com/blog/how-to-use-countmodules-in-any-joomla-file/</link>
		<comments>http://www.corephp.com/blog/how-to-use-countmodules-in-any-joomla-file/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 19:00:33 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Joomla]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Templates]]></category>
		<category><![CDATA[snippets]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.corephp.com/index.php?option=com_wordpress&amp;p=1950&amp;Itemid=176</guid>
		<description><![CDATA[One of the core parts of creating Joomla! templates is using $this->countModules to show or hide code depending on if a module is in a particular position on the page. It is very powerful and it makes your templates very &#8230; <a href="http://www.corephp.com/blog/how-to-use-countmodules-in-any-joomla-file/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One of the core parts of creating Joomla! templates is using $this->countModules to show or hide code depending on if a module is in a particular position on the page. It is very powerful and it makes your templates very dynamic according to what is happening on the page. So what happens if you need to do this outside of the template index.php file? Save yourself a huge headache and use the following code in any file to check for a module position:</p>
<pre>jimport( 'joomla.application.module.helper' );
if(count(JModuleHelper::getModules('left'))) {
	put your code here
}</pre>
<p>A very powerful addition to you Joomla! PHP library!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.corephp.com/blog/how-to-use-countmodules-in-any-joomla-file/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Debugging with Krumo</title>
		<link>http://www.corephp.com/blog/debugging-with-krumo/</link>
		<comments>http://www.corephp.com/blog/debugging-with-krumo/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 04:13:57 +0000</pubDate>
		<dc:creator>Bernard Robbins</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[htaccess]]></category>

		<guid isPermaLink="false">http://www.corephp.com/index.php?option=com_wordpress&amp;p=1781&amp;Itemid=176</guid>
		<description><![CDATA[Some websites do not require advanced debugging with an IDE. If you just want to know the value of a variable without having to step through a site, Krumo may be for you. The easiest way I have found to &#8230; <a href="http://www.corephp.com/blog/debugging-with-krumo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Some websites do not require advanced debugging with an IDE. If you  just want to know the value of a variable without having to step through a  site, Krumo may be for you.</p>
<p>The easiest way I have found to add the Krumo library is to use the  auto_prepend_file for php. The auto_prepend_file declaration can be  inserted into either the php.ini (for your entire web server), the httpd.conf file  if you want it for just one site, or in your .htaccess file for a particular  sub-directory. This will allow you to prepend a php script before any of  your scripts run.</p>
<p>Create a new file on your web server called <em>prepend.php</em>.</p>
<pre>include_once('krumo/class.krumo.php');</pre>
<p>For php.ini, use:</p>
<pre>auto_prepend_file = “auto_prepend.php"</pre>
<p>For .htaccess or httpd.conf, use:</p>
<pre>php_value auto_prepend_file auto_prepend.php</pre>
<p>Resources:</p>
<p>http://krumo.sourceforge.net/</p>
<p>http://php.net/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.corephp.com/blog/debugging-with-krumo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cutting down on lines of code with array_walk()</title>
		<link>http://www.corephp.com/blog/cutting-down-on-lines-of-code-with-array_walk/</link>
		<comments>http://www.corephp.com/blog/cutting-down-on-lines-of-code-with-array_walk/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 21:54:02 +0000</pubDate>
		<dc:creator>Adam Docherty</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.corephp.com/index.php?option=com_wordpress&amp;p=1726&amp;Itemid=176</guid>
		<description><![CDATA[Hello there! Today I am going to be talking about the array_walk php function which can help you cut down on lines of code and organize your code better. An easy way to think of array_walk() is think of it &#8230; <a href="http://www.corephp.com/blog/cutting-down-on-lines-of-code-with-array_walk/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hello there!</p>
<p>Today I am going to be talking about the array_walk php function which can help you cut down on lines of code and organize your code better.</p>
<p>An easy way to think of array_walk() is think of it as an automatic way to loop through arrays of data. From time to time in your coding duties there are likely to be occasions when you find yourself writing these kind of loops over and over again:</p>
<p><span id="more-1726"></span></p>
<pre>$my_array = array( 'dog', 'cat', 'rabbit', 'bird' );

foreach( $my_array as $animal ){

process_animal( $animal );
}</pre>
<p>The above routine can be reflected with less lines of code using the array_walk() function:</p>
<pre>$my_array = array( 'dog', 'cat', 'rabbit', 'bird' );

array_walk( $my_array, 'process_animal' );</pre>
<p>As you can see above, there is quite a reduction in code happening here. To find out more about array_walk please look at the PHP manual excerpt <a href="http://php.net/manual/en/function.array-walk.php">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.corephp.com/blog/cutting-down-on-lines-of-code-with-array_walk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Forcing IE7 display in IE8 (updated)</title>
		<link>http://www.corephp.com/blog/forcing-ie7-display-in-ie8/</link>
		<comments>http://www.corephp.com/blog/forcing-ie7-display-in-ie8/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 16:52:18 +0000</pubDate>
		<dc:creator>Jonathan</dc:creator>
				<category><![CDATA[Joomla]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Templates]]></category>
		<category><![CDATA[XHTML+CSS]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[ie8]]></category>

		<guid isPermaLink="false">https://www.corephp.com/index.php?option=com_wordpress&#038;p=801</guid>
		<description><![CDATA[I have been developing for IE8 since it was first released. Although they say it&#8217;s a final build, it&#8217;s actually in a late beta stage. There are several key CSS commands that haven&#8217;t been completed yet (such as :first-letter) and &#8230; <a href="http://www.corephp.com/blog/forcing-ie7-display-in-ie8/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have been developing for IE8 since it was first released. Although they say it&#8217;s a final build, it&#8217;s actually in a late beta stage. There are several key CSS commands that haven&#8217;t been completed yet (such as :first-letter) and some calculations that still aren&#8217;t right in the browser. This is why they built the compatibility mode into it. This creates a major issue for web developers because any conditional statements for IE8 that are put in will break the page once it is fixed. I have thought about every possible fix and the only reasonable solution that I&#8217;ve found is&#8230; kill it!</p>
<p><span id="more-801"></span>Upon scraping the web for possible solutions I came across this gem:</p>
<div>
<pre style="border-style: none; margin: 0pt; padding: 0pt; overflow: visible; line-height: 12pt; background-color: #f4f4f4; width: 100%; font-family: consolas,'Courier New',courier,monospace; color: black; font-size: 8pt;"><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">meta</span> <span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="X-UA-Compatible"</span> <span style="color: #ff0000;">content</span><span style="color: #0000ff;">="IE=EmulateIE7"</span> <span style="color: #0000ff;">/&gt;
</span></pre>
<p>Enter this into the head of your page and it forces IE8 into IE7 mode. In case you didn&#8217;t know, compatibility mode is a full fledged version of IE7. It even recognizes conditional statements for IE7.</p>
<p>The next step is to have a browser sniff for the exact version that will fix the current IE8 bugs and will only load the meta tag if it&#8217;s an older version of IE8. Who knows when Microsoft will get it together enough to fix IE8&#8230;I still can&#8217;t believe they released a beta version as a final build. I guess nothing coming from them surprises me anymore. Oh well&#8230; life goes on (and so does the work)!</p>
<h3>Update:</h3>
<p>I have recently discovered a few things about this that you need to know. First, in Joomla! you must put it above jdoc:include type=&#8221;head&#8221; to get it to work. Secondly, it actually makes your browser into an IE7 browser with no compatibility mode button. All conditionals are unfortunately kept at IE8 though which creates some issues. You will have to make new conditional statements for IE8, but you can easily tag them onto your old conditionals using if lte IE 8. My solution is to kick IE8 into IE7 mode and just deal with it.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.corephp.com/blog/forcing-ie7-display-in-ie8/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>CMS EXPO &#8211; Coming up!</title>
		<link>http://www.corephp.com/blog/cms-expo-coming-up/</link>
		<comments>http://www.corephp.com/blog/cms-expo-coming-up/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 18:29:13 +0000</pubDate>
		<dc:creator>Rafael Corral</dc:creator>
				<category><![CDATA['corePHP']]></category>
		<category><![CDATA[Joomla]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[XHTML+CSS]]></category>
		<category><![CDATA[CMS Expo]]></category>

		<guid isPermaLink="false">https://www.corephp.com/index.php?option=com_wordpress&#038;p=636</guid>
		<description><![CDATA[What does the CMS expo offer? Find out more by visiting www.cmsexpo.net Who should come? The CMS expo has their own answer (www.cmsexpo.net), but the simple answer is EVERYONE. This key seminar will send you home with new knowledge and &#8230; <a href="http://www.corephp.com/blog/cms-expo-coming-up/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cmsassociation.com/28-2-1-24.html"><img class="aligncenter size-full wp-image-642" title="cmsexpochicago" src="http://www.corephp.com/images/wordpress/uploads/2009/04/cmsexpochicago.jpg" alt="cmsexpochicago" width="468" height="60" /></a><br />
<span id="more-636"></span>What does the CMS expo offer? Find out more by visiting <a href="http://www.cmsassociation.com/28-2-1-24.html">www.cmsexpo.net</a></p>
<p>Who should come? The CMS expo has their own answer (<a href="http://www.cmsassociation.com/28-2-1-24.html" target="_blank">www.cmsexpo.net</a>), but the simple answer is EVERYONE. This key seminar will send you home with new knowledge and tips designed to benefit your business! No matter what your job is, this expo will help you &#8211; and your company &#8211; grow by leaps and bounds.</p>
<p>‘corePHP’ will bring several of talented minds to the convention. Steven Pignataro, Jonathan Shroyer and Rafael Corral will be present to share their secrets in web development. Below is just a glimpse of what these amazing classes will involve!</p>
<p><strong>Steven&#8217;s Joomla! Development I</strong></p>
<p><a class="alignleft" href="http://www.corephp.com/images/wordpress/uploads/2009/04/picture-11.png"><img class="size-medium wp-image-652" title="IDE Development" src="http://www.corephp.com/images/wordpress/uploads/2009/04/picture-11-300x224.png" alt="IDE Development" width="233" height="174" /></a><a class="alignright" href="http://www.corephp.com/images/wordpress/uploads/2009/04/picture-21.png"><img class="size-medium wp-image-653" title="corePHP's IDE" src="http://www.corephp.com/images/wordpress/uploads/2009/04/picture-21-300x224.png" alt="corePHP's IDE" width="233" height="174" /></a><br style="clear: both; display: block; width: 100%;" /></p>
<p><strong>Jonathan&#8217;s CSS Done Right</strong></p>
<p><a class="alignleft" href="http://www.corephp.com/images/wordpress/uploads/2009/04/css-1.png"><img class="size-medium wp-image-643" title="CSS Development Tools" src="http://www.corephp.com/images/wordpress/uploads/2009/04/css-1-300x225.png" alt="CSS Development Tools" width="238" height="178" /></a><a class="alignright" href="http://www.corephp.com/images/wordpress/uploads/2009/04/css-2.png"><img class="size-medium wp-image-644" title="CSS Example" src="http://www.corephp.com/images/wordpress/uploads/2009/04/css-2-300x225.png" alt="CSS Example" width="238" height="178" /></a><br />
<br style="clear: both; display: block; width: 100%;" /></p>
<p><strong>Rafael&#8217;s PHP5 Must-Know Techniques</strong></p>
<p><a class="alignleft" href="http://www.corephp.com/images/wordpress/uploads/2009/04/picture-1.png"><img class="size-medium wp-image-648" title="Object Model" src="http://www.corephp.com/images/wordpress/uploads/2009/04/picture-1-300x225.png" alt="Object Model" width="238" height="178" /></a><a class="alignright" href="http://www.corephp.com/images/wordpress/uploads/2009/04/picture-2.png"><img class="size-medium wp-image-649" title="SPL" src="http://www.corephp.com/images/wordpress/uploads/2009/04/picture-2-300x225.png" alt="SPL" width="238" height="178" /></a><br />
<br style="clear: both; display: block; width: 100%;" /></p>
<p>This is just a glimpse of our presentations. We&#8217;ll also lead presentations on Joomla! Development II, Killer Photoshop Tips, and WordPress for Joomla!</p>
<p>So what are you waiting for? Sign up now! Trust me&#8230; it truly is worth it! You will learn a lot, meet developers face to face and have a great time!</p>
<p>See you in Chicago!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.corephp.com/blog/cms-expo-coming-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

