Friday 21 November 2014

5 Strong reasons Why Joomla is the Best CMS the World Has Ever Known!

When setting up a new website there are a lot of factors to consider, like your design and domain name, but the most important of all is choosing the right platform. This is crucial and not a decision to be taken lightly.
There are a number of factors that need to be taken into account, such as cost, time, quality, flexibility and control.
There is only one award-winning content management system used by millions around the world, including some of the most respected corporations, that meets all of these needs: Joomla.
The debate about which is better, WordPress or Joomla, has raged for too long. In this post I will outline the reasons why Joomla reigns supreme and rightly sits atop the Iron Throne of CMSs.
By the time you finish reading this post you will be convinced of the need to immediately uninstall your worthless WordPress install and make the switch to Joomla.
Your business – and your web cred – depends on it.
TL;DR: If you’re scratching your head at this post, don’t worry – it’s just part of our new Friday Funnies :)


1. 2.8% of the World’s Websites Use Joomla

You can’t argue with 35 million downloads and counting, or as the Joomla website says, one download every 2.5 seconds. Impressive stuff.
Joomla powers the websites of some of the world’s most well-known and much-loved brands like Pizza Hut and Kelloggs and even the websites for Leonardo Di Caprio and Gorillaz!
When you buy an Ã„LVROS armchair from the Kuwaiti IKEA website, you can thank Joomla for your smooth transaction.
With WordPress now the backbone of more than 20 per cent of websites, Joomla can quietly go about being the best CMS available without the added pressure of being the most popular. A brilliant business strategy.

2. Joomla Has More Than 6000 Extensions

What WordPress folk refer to as “plugins”, Joomla developers refer to as “extensions”.
The 12,000+ plugins available to WordPress users is way too much. It’s overkill. I mean, who needs to rainbowify, unicornify or catify their site? There’s no need for all that junk. There’s no need to add even more clutter to Joomla’s already beautiful templates.

3. Some of the Biggest and Most Respected Companies in the World Use Joomla


Pizza Hut, the UK Ministry of Defence, the Greek Government, the High Court of Australia and MTV in Greece are just some of Joomla’s biggest fans.
And did I mention that Leonardo Di Caprio uses Joomla? Pretty cool, huh?
But what you might not know is that McDonalds is also a convert. That is, McDonalds in Bahrain.
If you have a craving for McArabia Chicken or a McRoyale Burger, the local McDonalds website has you covered.
Joomla powers the restaurant’s website for the Arabian Peninsula, ensuring information is easily on hand for budding burger flippers with stars in their eyes wanting to find out more about the region’s Hamburger University.

Featured Plugin - WordPress Infinite SEO Plugin

Fully integrated with the SEOMoz API, complete with automatic links, sitemaps and SEO optimization of your WordPress setup - this is the only plugin you need to help you rank your site number 1 on Google - nothing else compares.
Find out more

4. The Admin Area Inspires Greatness

The Joomla admin area makes me so happy!
Just as Muhammad Ali was the greatest, so too is Joomla and its stunning and simple to use admin area.
Joomla’s endless lists of text that seem to go on and on and on, the multiple sets of navigation and the fact is calls me a “Super User” like I’m some sort of web wunderkind who controls the interwebs from the admin area that in no way at all looking bland and boring. I’m in love.
Logging in conjures up images of riding a unicorn over a sea of rainbows and joy balloons.
Yes, I love the admin area. It doesn’t make me want to smash my head on my keyboard at all.

5. The Default Templates are Simply Stunning

Joomla comes with two gorgeous default templates.
I mean Protostar, doesn’t it knock your socks off with its pretty blue flower and all the… other stuff? And don’t get me started on Beez3 with it big blue banner and boxes.
There’s no need to download any of the hundreds (not thousands) of fancy new templates when two high quality templates are already installed for free. And when you get tired of one template (which is highly unlikely) you can just switch to the other template.

Conclusion

Joomla is by far the best CMS available and way better than WordPress. It’s just a matter of time before it dominates the market place. Just a matter of time. You wait and see…

Wednesday 19 November 2014

7 Quick Joomla! Tips for Developers


 
photo by Castles, Capes & Clones/Flickr
If you're doing custom design and development with Joomla! you need all of the tips and tricks you can get your hands on to streamline your development process and make sure you're doing things the correct way.
Here are a few tips & tricks for my Joomla! developer friends.

1. Add CSS stylesheet into the <head> from your template override

JHTML::stylesheet('PATH/TO/STYLESHEET.css');
Ever needed to add a stylesheet from a template override? Probably often, right? The code above will insert a <link> to your stylesheet. You can also link to stylesheets that don't live on your server (e.g., files hosted on a CDN).

2. Add a JavaScript file into the <head> from your template override

JHTML::script('PATH/TO/JAVASCRIPT_FILE.js');
Like stylesheets, you may run into instances where you'll need to add an external JavaScript file to the <head> from within a template override (or custom component view).
NOTE: Make sure to take a look at your source code to see if items are ordered correctly. Many times, you'll need to place a call to the JavaScript Framework that your script depends on just before the call to your script.
For example, if the script that I am including depends on the jQuery framework, my code might look like this:
...

echo JHTML::_('jquery.framework');
echo JHTML::script('components/com_mycomponent/assets/js/my_script_that_depends_on_jQuery.js');

...
Don't worry if you've called the jQuery framework elsewhere in your code, Joomla! will only render it once.

3. Add JavaScript frameworks via JHTML

Joomla! 3.2 has added a bunch of JavaScript Frameworks that you can include in your template.
We'll use some of these directly in our index.php file of our template if we know that every page will need it. Otherwise, you can include these in your custom modules and components—also in any of your template overrides!
//Bootstrap Framework (This will also automatically enable the jQuery Framework in noConflict mode)
JHtml::_('bootstrap.framework')


//jQuery Framework in noConflict mode
JHtml::_('jquery.framework');


//jQuery in normal mode
JHtml::_('jquery.framework', false);


//jQuery UI framework
JHtml::_('jquery.ui');


//jQuery UI with sortable enabled
JHtml::_('jquery.ui', array('core', 'sortable'));


//MooTools Core framework
JHtml::_('behavior.framework', 'Core');


//MooTools More framework
JHtml::_('behavior.framework', 'More');

There are a slew of other frameworks that you have access to through Jhtml, check out the Joomla! Docs for more.

4. Display a relative date with JhtmlDate::relative

JHtmlDate::relative($this->item->created);
You'll use this when you want to display a relative time instead of the standard date format. There are two optional arguments that you can pass in (unit and time)—check out the Joomla! API Documentation for additional info.

5. Standard Joomla! form field types

Bookmark this page!
This list comes in handy when you're building that custom module or component. I reference this page a ton.

6. Things to know when upgrading your Joomla! site

Bookmark this page, too!
Ever since Joomla! released version 3, we've been updating our clients' sites. A very tedious task when a site has a ton of custom extensions.
The above page will help you transition your old Joomla! site to a beautiful Joomla! 3 site. I find myself referencing this page constantly during an update.
And as always, BE SURE TO BACKUP YOUR SITE BEFORE UPDATING.

7. Joomla! Component Creator

http://www.component-creator.com/en/
If you haven't already, you need to give this generator a try.
This thing will get you building your new component, literally, in seconds. This has helped us skip all of the legwork that comes with building a template and lets us get into the meat of the development.
Trust me, this tool will help you get started on building a component a million times faster.
tags : joomla : cms : webdev : jquery : tutorial : mootools : dev with mtycks
sharing link :
category : Development

10 Best Free Joomla Extensions You Can’t Live Without


Joomla is one of the most popular Content Management Systems (CMS) in the world, used in over 30 million sites, with over 200,000 community users and endless amounts of extensions. There are extensions for almost every purpose: social networking, advanced comment services, checkout services, easy-to-setup photo albums, the list is endless.
So how do you sort through all of them to find those that can really improve your visitors’ experience? Here are some of the free Joomla extensions you shouldn’t be without.

Stalker – Social Network Mod

Most people nowadays use social networks to publicize their ideas and to bring in new visitors to their sites, so having an easy way for people to connect to you is becoming a “must have” for most sites. That’s where this perfectly named extension can be handy.

Stalker is the easiest Joomla extension to display links to all your social networks on your Joomla. It uses an attractive interface that is bound to attract your visitors. Stalker comes with approximately 45 social networks ready to go but you can add any new network you wish. It is easy to install and configure, comes with attractive icons and can be easily modified.

Acajoom – Mailing List Software

There are a lot of paid mailing services around but if you are just starting out, you might not need one just yet. Acajoom is the perfect Joomla extension for people who want to start expanding their list without the costs of paying for a mailing list website to host it for them. Acajoom allows you to personalize your newsletters, import subscribers from other newsletter systems and maintain a public archive.

Community Builder – Social Network Component

Community Builder allows you to create your own social networking community. With features such as user profiles, image upload, PMS, Newsletter, Forum and Galleries and a huge number of third party extensions that add even more features to this great component, Community Builder is the easiest way to create an environment that your visitors can personalize and use to share ideas.

Expose Flash Gallery – Photo Album Plugin

Expose is a classy and capable Joomla extension for displaying your images. It is not the simplest one to use, but its small learning curve is certainly worth the effort. It has a very small footprint for a Flash gallery and allows you to create several separate albums.

Virtuemart – Online Shopping Cart

If you would like to integrate a complete shopping cart to your Joomla, you should seriously consider Virtuemart. It has most features you can find in stand alone shopping cart such as order history for the customers, confirmation email, product ratings, downloadable products and 128-bit encryption. It also works with most payment gateways such as Paypal, Authorize.net and 2Checkout.

JComments – Communication Mod

Make your site more interactive and gather more information about your visitors by allowing them to comment on your articles and products. JComments allows them to participate while giving you full moderation control and encourages people to register. JComments includes anti-spam features and integration with many third-party extensions.

Jumi – Platform for Modules

Anyone who has tried adding JavaScript, custom PHP or HTML to Joomla has had to struggle getting it to work. Jumi is a great Joomla extension to integrate and create new components, customize plugins and run Javascript easily. It’s a great platform that allows you to try simple script files and to include extra banners, develop forms and include static html pages into module positions without any fuss. It’s perfect for the more advanced user who wants to expand Joomla’s capabilities.

Phoca Google Adsense Easy – Adsense Module

In this tough economy, it’s important to be able to monetize one’s site and help create some added income. Google Adsense is a great way to do that, but it’s difficult to integrate it within Joomla’s modules and place the ads where you want to display them. Phoca Google Adsense Easy offers an easy solution to that problem, allowing you to simply copy and paste the Adsense code and place it wherever you want into the site. It can also be used to add the Google Calendar and Google Search code.

Joomla Pack – Backup Software

Joomla Pack allows you to create a site backup that can be restored on any Joomla!-capable server. It creates a full backup of your site in a single archive. It can be used to move your site to a different host or simply as a safety back up that can be used to restore the site in case of problems or server timeouts.

JCE – WYSIWYG Editor

As many of you might have noticed, Joomla’s page editor is limited and awkward at times. JCE adds many formatting features that are missing from the original editor, such as background color, fonts and styles and better multimedia control. A great time saver for those who can edit the page code by hand and a must have for those who can’t.

With over almost 4000 extensions, Joomla has the support of the open source community and the constant influx of creative minds willing to offer their software for free. Try out the ten suggested here then go back and explore all the other tantalizing extensions you can find. You are sure to find one for almost every need you have.
Have we left out your favourite Joomla extensions? Share them with us in the comments!

What is the Joomla! Framework?

The Joomla! Framework™ is a new PHP framework (a collection of software libraries/packages) for writing web and command line applications in PHP, without the features and corresponding overhead found in the Joomla! Content Management System (CMS). It provides a structurally sound foundation, which is easy to adapt and easy to extend.
The Joomla! Framework is free and open source software, distributed under the GNU General Public License version 2 or later; and is comprised of code originally developed for the Joomla! CMS™.
The Joomla! Framework should not be confused with the hugely popular Joomla! CMS. It is important to remember that you do not need to install the Joomla! Framework to use the CMS, nor do you need to install the Joomla! CMS to use the Framework.
The versatility and structure of the Joomla! Framework

Getting Started

The new Joomla! Framework is now available to install via Composer and you can find the list of packages on Packagist.org. There are plenty of avenues you can explore to get started on working with the Framework.
For the official docs, check out the README.md file found in each package. You can also review the Joomla! Framework organization on GitHub.

Get the Sample Application

The easiest way to get to know the Joomla! Framework is to start with the sample app.
  1. Install Composer.
  2. Download this sample app repository from GitHub.
  3. Run composer install.
  4. View in your browser.

Why build a Joomla! Framework?

Separating the framework from the CMS was a big deal, and in retrospect, a smart decision. By separating the two code bases Joomla!® can now offer the stability the CMS requires while still taking advantage of current and modern trends in PHP development.
The current and future roles of the Joomla! Framework

What is the Framework good for?

  • Building a RESTful web services platform
  • Building both simple and complex command line tools
  • Building next generation web applications
A great example is the issue tracker for the Joomla! CMS.

Framework Architecture

The Joomla! Framework has also been designed for maximum flexibility. Breaking the Framework into isolated modular packages allows each package to evolve more easily than if all packages are tied to a single, large package release.
Gone are the days when a PHP framework must offer anything and everything a developer needs to complete a project. The current and widely adopted modern practice is to employ lightweight independent feature-specific packages.
The Framework is distributed with Composer, and as such, allows you to include any other PHP code packages that you can install using Composer. And that's a LOT! Take a look at Packagist.org to see the kind and quality of code which becomes available when using Composer for dependency management.

What does the Joomla! Framework mean for you?

Whether you are a Joomla! extension developer looking to spread your wings & delve into developing standalone applications or a PHP coder looking for a stable lightweight framework for your next app, the Framework provides benefits for everyone.

I am already developing Extensions for the Joomla! CMS. Why should I consider using the Joomla! Framework?

You have invested significant time & effort in learning the Joomla! way of doing things & writing extensions. You can now apply this same knowledge within a non-CMS environment because the Joomla! Framework maintains a similar set of function, class, and method names.
It's important to keep in mind other situations, such as what happens when you land a project that needs a different type of application. Or when something doesn't really fit into the website or CMS box, or the CMS is simply too much overhead. There may be times when you need a simple tool to migrate data from one Business Intelligence system to another or a lightweight RESTful service to talk to a mobile application. These are all cases when a framework-based application will prove much more beneficial.
These are only a few of the many situations where a framework based solution would work far better than attempting to shoehorn a solution into the Joomla! CMS. The Joomla! Framework allows you to leverage all that Joomla! knowledge to build apps without the overhead of the CMS.

I know PHP already. Why should I use this framework?

If you are a strong coder looking for a lightweight framework that is easy to adapt and extend, you are in the right place.
The Joomla! Framework is available using Composer. This allows you to build projects from the many packages included in the Joomla! Framework as well as packages that best fit your needs from any of the other PHP frameworks that use Composer.

I am a Joomla! CMS User. How will I be affected?

The Joomla! CMS and the Joomla! Framework are currently developed independently and, thus, the Framework's launch will not have an immediate impact for you. However, there are already parts of the Framework integrated into the CMS (e.g. the Dependency Injection package, added in Joomla! 3.2), and more is coming. Expect to see some great extensions made available to you, built using the Framework!
The Joomla! Framework aims at getting the latest in PHP developments and features into Joomla! at the framework level. This allows the CMS to better focus its aims on providing the best features for its end users and staying ahead of the game.
Bottom line, you can rest assured that your favorite CMS will continue to have a strong, up-to-date and robust base that can evolve with the web.

Get Involved

Support

The Joomla! Framework incorporated support in a simple step-by-step process. You can quickly determine the best way to get help by following one of the options below:

First Option: Just Fix it

Developers are encouraged to take an active approach with the Framework, including future updates and development. If you find a problem or bug and can fix the issue directly, then you can fix the issue and submit a pull request against the repository.
Not sure how to get started with submitting a pull request? You can view pull request tutorials in the Joomla! documents site.

Second Option: Report it

If you find an issue in a Framework package and cannot fix the issue directly, then the next step is to report the problem. Issues can be reported on the Joomla! Framework organization under the appropriate package. Submitting an issue here will help everyone track issues in a central location. Please be available to add comments and respond to questions related to your issue as other developers begin assisting in writing code to fix the issue.
More information regarding reporting issues can be found here.

Other Option: Learn it

Perhaps as you're working with the Framework you find a feature or an issue that you are simply unsure about how to use it. In this case, it would not be appropriate to attempt either of the steps listed above. You can take advantage of the Joomla! Framework mailing list where you can get help from other developers.
Be respectful and courteous in the mailing list and you will receive quick helpful feedback to help you better utilize the Framework to its full potential.

Time picker for Alarm Clock


A Clock will be displayed showing changing time with Hour , minutes and seconds.

User should able to use time picker to select three fields - hour , minutes and seconds. Each field will have one up and one down button to set the value. Hour field can be set between 0 - 23, minutes can be set from 0-59 and seconds can be set to 0-59.

<table><tr><td><a href=# OnClick=update_alarm('h','up')><img src=images/up.jpg border='0'></a></td><td><a href=# OnClick=update_alarm('m','up')><img src=images/up.jpg border='0'></a></td><td><a href=# OnClick=update_alarm('s','up')><img src=images/up.jpg border='0'></a></td></tr>

<tr><td><input type=text size=2 id='h1' name='h1' value=00 onBlur=update_alarm('h','none')></td><td><input type=text size=2 id='m1' name='m1' value=00 onBlur=update_alarm('m','none')></td><td><input type=text size=2 id='s1' name='s1' value=00 onBlur=update_alarm('s','none')></td></tr>
<tr><td><a href=# OnClick=update_alarm('h','down')><img src=images/down.jpg border='0'></a></td><td><a href=# OnClick=update_alarm('m','down')><img src=images/down.jpg border='0'></a></td><td><a href=# OnClick=update_alarm('s','down')><img src=images/down.jpg border='0'></a></td></tr>
</table>

User can directly enter the value in respective fields without using the buttons.

Displaying the alarm set value.

While selecting the data for the alarm we will display the values for user. While setting the data we will keep the background colour of the display as Yellow. Once the alarm is set we will display Green color background. Once time is over the background color we will change to red.

After fixing all the values user has to use Set Alarm button to activate the alarm.

How the Alarm Clock Script work

To set the alarm we will have three fields ( hour , minutes, Seconds ). Each field will have one pair of buttons, one for incrementing value and other for decrementing value. Each click of this button will carry two parameters to a function update_alarm(). One is type of button ( Hour , Minutes or Seconds ) , other one is direction ( Up, Down ).

Here is one sample button used for incrementing minutes field (type=m, direction = Up)

<a href=# OnClick=update_alarm('m','up')><img src=images/up.jpg border='0'></a>

Inside the function update_alarm() we will use one switch function to execute different code blocks for each field. First we will read the data from the respective field after converting to integer by using parseInt() function.

var h =parseInt(document.getElementById('h1').value);

Based on the type of button pressed ( up or down ) we will add or subtract 1 from the value we read. We will keep one upper limit and lower limit for the value.

if(direction =='up' && h < 24){
h=h+1;}
if(direction =='down' && h > 0){
h=h-1;}

If the user directly enteres the value in hour field then we have to check and restrict the data between 0 & 23

if(h >24){h=24;}
if(h <0){h=0;}

While displaying we will have to add 0 before single digit values. For example we have to display 5 hours as 05 and not like 5. So we will convert the data to string and then based on the length we will add one 0 before it.

h=h.toString();
if(h.length < 2){
var h='0'+h;
}

Finally we will store the formatted output in the field.

document.getElementById('h1').value = h;
break;

Same way we will store Minutes and seconds value in the field.

How to set the Alarm

After selecting the time components user will click the button saying ‘Set Alarm’. This will trigger the function set_alarm() Inside the function set_alarm() we will read the Hour, minutes and seconds from the time picker ( selection ) and using this a new date & time object is created.

function set_alarm(){
var dt_alarm= new Date();
dt_alarm.setHours(parseInt(document.getElementById('h1').value));
dt_alarm.setMinutes(parseInt(document.getElementById('m1').value));
dt_alarm.setSeconds(parseInt(document.getElementById('s1').value));
....

Then we will collect the getTime() value of this date object ( our alarm set values) and store it in a global variable we declared earlier.

global_dt_alarm_sec=dt_alarm.getTime();
document.getElementById('ct3').style.background='#00f040';
}

Now our Alarm clock time is set so background color of our Alarm display is set to green.

Matching time with Clock

In our displaying clock tutorial you have seen how a clock is displayed. Here we are using a refreshing rate of 1 second. The function display_ct() runs in every second and it display the changing clock showing time and date. Then we calculate the getTime() value of present time and compare it with getTime() value alarm set value calculated earlier and stored in a global variable. If the alarm set value is more, then it is time to give the alarm, we can change the background color of displayed alarm clock and give one alert message saying time is over. Otherwise continue to show the clock by displaying changing time. Each second the cycle repeats and new date object getTime() value is compared with alarm set value.

function display_ct() {
var dt = new Date();
document.getElementById('ct4').innerHTML = dt;
if((dt.getTime() >= global_dt_alarm_sec) && (global_dt_alarm_sec > 1000)){
document.getElementById('ct3').style.background='#f00040';
global_dt_alarm_sec=0;
alert('Time over');
}
tt=display_c();
}

 

Thank You!

PHP Timer Script

This is the only PHP script that I wrote and use nearly everyday but never published! My stopwatch / timer script… I use it to test, benchmark most of the other scripts I write.
Sometimes webmasters use something similar to show you Page Generation times at the bottom of a web page; not unlike what I have done myself at the bottom of this page e.g.
1
Vilitas.com created this page in 0.105253 seconds.
So, not only is this Timer / Stopwatch code good for figuring out how efficiently your code runs, it also helps to add to your page content!

PHP Page Generation / Timer script

Copy the entire code below and save it as stopwatch.php if you want to use it as a benchmarking tool while you test your different PHP scripts.

<?php
 
//  Filename: stopwatch.php
//  =======================
 
//  Start TIMER
//  -----------
$stimer = explode( ' ', microtime() );
$stimer = $stimer[1] + $stimer[0];
//  -----------
 
/* ------------------------------------- */
//  Add your PHP script and/or content here
/* ------------------------------------- */
 
//  End TIMER
//  ---------
$etimer = explode( ' ', microtime() );
$etimer = $etimer[1] + $etimer[0];
echo '<p style="margin:auto; text-align:center">';
printf( "Script timer: <b>%f</b> seconds.", ($etimer-$stimer) );
echo '</p></body></html>';
//  ---------
If you want to use it as a Page Generation Time tool, you can just add your content where it says

/* ------------------------------------- */
//  Add your PHP script and/or content here
/* ------------------------------------- */
and rename the file… but that’s not very smart, is it?

Including Page Generation times on all your web pages

The popular way to do it actually is to add 2 parts of this script into 2 different PHP include files:
  • header.php
  • footer.php
and then just include the 2 files (header.php & footer.php) on every web page your web site serves!

Sample header.php / footer.php

header.php


<?php
//  Start TIMER
//  -----------
$stimer = explode( ' ', microtime() );
$stimer = $stimer[1] + $stimer[0];
//  -----------
//  SOME MORE HEADER CONTENT, IF ANY...
//

footer.php


<?php
//  SOME MORE CLOSING/FOOTER CONTENT, IF ANY...
//
//  End TIMER
//  ---------
$etimer = explode( ' ', microtime() );
$etimer = $etimer[1] + $etimer[0];
echo '<p style="margin:auto; text-align:center">';
printf( "Script timer: <b>%f</b> seconds.", ($etimer-$stimer) );
echo '</p></body></html>';
//  ---------

Tuesday 18 November 2014

Guru Features - Joomla LMS - iJoomla

                           Easily Create Online Courses with Joomla

Courses

Create unlimited online courses with modules & lessons, on Guru's easy interface. With our online...

Table of Content

Create a Table of Content for your courses using our easy drag & drop...

Lessons

Add lessons to your learning modules with media, text, files, links and more Our LMS...

Media Library

Add any type of media to your media library: video, audio, text, files and...
Easily Create Online Courses with JoomlaAdvanced Features

Commissions System

Our new commission system is the last missing feature needed to turn your Guru s...

Front-End Teacher Interface

Your teachers can prepare whole courses themselves, letting you collect either a...

Gradual Release of Lessons

Release your lessons gradually and keep students coming back for more daily/week...

Forum & Comments

Students can comment on lessons & ask questions on the forum. Kunena Integra...

Certificates

Giving your students certificates validates your courses and helps them get jobs...

Jump Buttons

Add Jump buttons to lessons to take students to another lesson, relevant to them...
Money Making Features

Subscription Plans

Set up subscription plans based on days/months/years or create unlimited access ...

Payment Plugins

Let your students choose from any of the available payment plugins. PayPal and A...

Free Courses

Make courses free for members or students of certain courses or even for guests!...

Promo Codes

Promo codes are a proven way to get more sales! Get more students by offering th...
Testing & Tracking Students

Quizzes

Add quizzes throughout your courses to test your students understanding of the m...

Final Exam

Add a final exam to your courses to test their understanding of the course mater...

Student Manager

Manage all your students in one place, add/remove students and see their progres...

Student & Quiz Tracking

Track student progress and quizzes to know where they stand on each course they ...

PHP Frameworks, which to choose in 2014? A comparison

As a PHP developer, we often get bored with one PHP framework and looks for some advanced feature rich framework which can make life easier. To explain briefly about framework;  a framework provides a set of functions and classes to help developers write code faster and more structured.

Most of them implement certain design patters, of which MVC is by far the most popular. The main aim of MVC is to separate the database related code (Model) from application-specific code (Controller) from its html (View). It also features a URL-mapping system to create search engine friendly “clean url” and to separate the code-files from the actual urls. But there is a much discussion all around because some prefer performance, some prefer better documentation, some prefer amount of built-in functions etc. Today here in this article, I am going to discuss some featured PHP frameworks which surely help you to choose best for your next project.

Zend Framework


We all familiar with Zend framework which is a first choice of most of developers. It has a loosely coupled architecture which allows developers to use components individually. Actually the component structure of Zend Framework is somewhat unique and each component is designed with few dependencies on other components.
Zend Framework is still a choice of most of developers which offers a robust, high performance MVC implementation, a database abstraction that is simple to use, and a forms component that implements HTML form rendering, validation, and filtering so that developers can consolidate all of these operations using one easy-to-use, object oriented interface. Few other components, such as Zend_Auth and Zend_Acl, provide user authentication and authorization against all common credential stores. It also provides many useful component which you can use according to your application need to reduce development time.

CodeIgniter


Codeigniter is also a lightweight PHP framework with mvc pattern. It’s a choice of most of php developer. It’s relatively easy to learn. Feature wise, Codeigniter is powerful frameworks such as Zend and Cake. Its major goal is to enable you to develop projects much faster than you could, by providing a rich set of libraries for commonly needed tasks, as well as a simple interface and logical structure to access these libraries.

Symfony


Symfony is a recognized PHP Framework with some awesome feature. Symfony is aimed at building robust applications in an enterprise context, and aims to give developers full control over the configuration: from the directory structure to the foreign libraries, almost everything can be customized. To match enterprise development guidelines, Symfony is bundled with additional tools to help developers test, debug and document projects.
Many developers say that Symfony is slower for small websites because of the weight of the framework. A lot of code must be executed for each request. But I think it still be a best choice for large projects. It’s a stable open-source just like Zend, so you can go with it without any hesitation.

Yii Framework


Yii is a popular high-performance PHP framework best for developing Web 2.0 applications. Yii comes with rich features like MVC, DAO/ActiveRecord, I18N/L10N, caching, authentication and role-based access control, scaffolding, testing, etc. It can reduce your development time significantly.
Yii only loads the features that you need. It has powerful caching support. It is explicitly designed to work efficiently with AJAX. Security comes as standard with Yii. It includes input validation, output filtering, SQL injection and Cross-site scripting prevention. All features are encouraging, so yii also be a good choice.

Kohana


An elegant HMVC PHP5 framework that provides a rich set of components for building web applications. It’s a fork of Codeigniter. With Kohna, each website needs a different Kohana “installation”. However it is just a server setup check. Not difficult or special. Kohana works with the MVC-concept incl. mapping.Configuration is mainly in application/bootstrap.php and modules/…/database.php. It is lightweight and fast. It all seems nice and clean, so you can go with it.

Laravel


Laravel is a new name in web application framework with expressive, elegant syntax. It’s also worth checking as it aims to make the development process a pleasing one for the developer without sacrificing application functionality. It provides powerful tools needed for large, robust applications. It also give superb inversion of control container, expressive migration system, and tightly integrated unit testing support give you the tools you need to build any application with which you are tasked.

CakePHP


CakePHP is a popular framework for web application development. It’s a feature rich light weight PHP framework comes with a lot of features like code generation, translations, database access, caching, validation, authentication etc.

Final Thoughts

There is a long list of PHP framework, but I have analysed some of them. As you have seen that Zend and Symfony are full of functionality but not suitable for small projects. Codeigniter and Lavarel attract more because they are lightwieght and suitable for all kind of projects. So you can give Codeignitor and Lavarel a serious try. Also you can check out for Kohana. If you are looking for well establish PHP framework for large project then Zend and Symfony would be best choice. So enjoy this and don’t forget to give your input via comments, Thanks!

Latest Features for Magento Community Edition 1.9 and Magento Enterprise Edition 1.14

Magento is by far the most widely used ecommerce solution and it keeps getting better by the day with new technology enhancements added to make it a robust, new age and sustainable solution. The field of ecommerce has seen a transformation recently with more and more businesses moving towards an online presence and opting for Magento web development. The transformation got even better with the mobile technologies that swept the market. Today ecommerce solutions need to have a mobile readiness too!
Magento has announced its latest releases for CE and EE versions and they include all the features an ecommerce site would require to increase sales, capture new customers and go responsive too! The latest releases of Magento are:
  • Magento Community Edition (CE) 1.9
  • Magento Enterprise Edition (EE) 1.14
Both these come with a host of new features.
PHP, Zend Framework Updates and higher Apache Solr version support

Both EE 1.14 and CE 1.9 versions of Magento include major technology updates that give it that extra appeal. Magento development professionals are already enthusiastic about using these features to provide customers with exemplary features for their online stores.
Built to be Responsive – Mobile Ready

The new releases for community and enterprise edition of Magento incorporate a responsive default theme, making them mobile ready effortlessly. Online store owners do not require to Hire Magento Developers separately to make their website responsive and mobile friendly.
  • A mobile ready site can be made up and running in half the time and resources giving you ample marketing time. Without extra expenses on responsive Magento web development.
  • You are better equipped to stand out in the fierce and rapidly growing mobile commerce competition. 
  • Presents merchants with new opportunities with less expensive maintenance.
  • SEO (Search Engine Optimization) benefits can also be derived from a responsive website. 
  • The new Magento responsive themes uses Sass or Compass which is a CSS pre compiler and provides organizable and reusable CSS, JQuery for all the custom java scripts in the responsive theme and some additional JavaScript libraries too.
Cross Border Trade / Price Consistency
Merchants can take advantage of the Price Consistency model and maintain the same prices across a large customer base whose taxes differ and are not same as the store tax rates.
  • This feature is advantageous for merchants operating in diverse geographical locations and for those who wish to show a single price to all customers. 
  • Store Owners get a clutter free pricing structure, regardless of the tax structure that varies from county to country.
  • NOTE: this feature is available for the EU (European Union) merchants and the prices must be displayed inclusive of the taxes.
Breeze through the checkout process and increase sales!

Checkout process is very crucial for any online store. It decides whether you finally made that sale or not! Making it easy, convenient and appealing to a customer is always the prime focus of a Magento Developer. The new Magento EE and CE releases include the following enhancements to the checkout process:
  • Ajax is used to enable users to change the quantity of items in the shopping carts without refreshing the page – a very desirable feature from a sales perspective. Users generally lose patience at this stage and the result is – an abandoned cart! Well, with the new Magento, this will be handled.
  • Introducing the new payment scheme for customer’s convenience – “Bill Me Later” this option enables the customer to pay for the purchase within the next 6 months. Merchants get paid up front. Merchants need to pay only the regular PayPal transaction fee. 
  • Bill Me Later is estimated to result in 18% increase in sales.
  • The new and improved checkout process enables customers to select an alternative payment mode in case the credit card processor fails.
  • A few steps in the checkout process can be eliminated by the merchants to improve customer experience. Merchants can disable the Order Review page (or enable it if they require so) and also eliminate the necessity of “Update Order” before proceeding to “Place Order”. This drastically reduces the checkout process and users can breeze through the check out process very fast and without unnecessary complications!
Solr Search Engine Changes – Magento EE only

Indexing improvements have been added to Solr in Magento Enterprise Edition 1.14. The indexing is now done automatically in the background as and when the product catalog changes. Shoppers see the most updated search results and hence customer experience is greatly improved.
Other than these, Magneto EE 1.14 has a lot of security enhancements and have closed many security vulnerabilities from the previous versions.
The new Magento is packed with features for a new technology revolution in the ecommerce world. It’s time for you to catch up and derive the advantages from these and see the difference in conversions, sales and overall business growth!

30 Essential Free Magento Extensions

Magento is a popular open source platform to built your ecommerce website. It is based on Zend Framework and has a very flexible architecture. Although it is much younger than many of its competitors, Magento has a large community of users.
Developers can easily built plugins or templates for Magento, which makes it more and more popular among open source ecommerce solutions. here are loads of great extensions for Magento to help take your internet store to the next level.
1. Remerce CMS Meta Robots 

Set the Robots Meta Tags for Cms pages
This module add the option to set the Robots Meta for CMS pages.

Go to CMS =>Manage Pages

Select a page and go to the tab "Meta Data" Under Robots you can set the Robots Meta Tag

2. Fooman Google Analytics Plus
This is a beta release - please report how this extensions works for you.

Current improvements:

    * * Track every individual page - including sections retrieved via AJAX during one-page-checkout
    * * Track the actual typed in keywords by your user (this might not yet work due to a bug in Magento itself)
    * * Temporary solution to make your Magento install SEO friendlier via robots.txt
{ads1}
3. Canonical URL's for Magento 
This extension adds the new canonical links to the head of your Magento pages, for a more in-depth explanation, see Yoast.com. More about Magento SEO in general at Yoast.

Note
For the new way the module gets the canonical URL at product pages it is important that Mage::getSingleton('catalog/url')->refreshRewrites(); is executed. Normally this will happen with the install of the module but please check the canonical url at your product page. If you get a 404 for this url change change the value of "add category to product url" at your backend, save, change it back and save again. Now the url shouldn't give a 404 error.

4. Advanced Sitemap 
how a list of product from current store

0.1.4
* Add parent category

CHANGES:
->U app/design/frontend/default/default/template/catalog/product/productlist/category.phtml

5. Blog  

A blog can be a great way for an online store to connect with customers, and this Magento extension makes it easy for you to incorporate a blog into your internet shop.  Are you already using the Monk_Blog extension for your store’s blog?  Well, Blog is compatible with Monk_Blog, so this Magento extension can integrate all of the information from your old blog into your new one (make sure you follow the directions closely).

6. Post Affiliate Pro Connector 
An affiliate scheme can be a great way to increase your ecommerce site’s sales, and the Post Affiliate Pro Connector extension instantly integrates Post Affiliate Pro (PAP) into Magento.  This extension for Magento automatically handles click and sale affiliate tracking, tracks affiliate sales using Javascript or PHP API, accepts referrals to any page of your online store, and much more!

7. IW PayPal Standard Currencies 
This Magento extension lets you choose any PayPal supported currency for your online store’s transaction currency and add new PayPal supported currencies to the PayPal Website Payments Standard payment method in your shop’s admin panel.  With the IW PayPal Standard Currencies extension, you can use any base currency for your online shop, allowing your store to have customers almost anywhere in the world.

8. J2T Points & Rewards
This module allow the customers do gather points on products they are buying.
The points can be redeemed for discount on their purchase.

Upon installing this module, you need to create a shopping cart promotion named 'points' and an attribute called 'reward_points'.

You can specify an amount of point for a product, or let the system do the job.
You can configure the module by updating the values in : System > Configuration > Reward Points.

9. Google Maps Store Locator 
To include the map in your CMS page/block use this snipped:
{{block type="core/template" template="unirgy/storelocator/map.phtml"}}

Copy to your theme and design the following interface files:
layout/ustorelocator.xml
template/unirgy/storelocator/map.phtml

If you are importing locations directly to database, go to this URL to fetch coordinates:
http://your.store.com/ustorelocator/adminhtml_location/updateEmptyGeoLocations

10. BouncingOrange TinyMCE (WYSIWYG) 
TinyMCE is fully configurable (without modifying any code file) in the administration configuration (System -> Configuration / Admin / WYSISYG Editor (TinyMCE)).

You can activate TinyMCE for the following textaera :
- Product Description
- Product Short Description
- CMS Page Content
- Static Block Content
- Category Description
- Newsletter Template

11. Fontis WYSIWYG Editor 
This extension gives you the option to enable a JavaScript WYSIWYG editor to specified admin pages. Currently available editors are: TinyMCE and FCKeditor.
For more information, including screenshots, version history and instructions on configuration and usage, please see the Fontis WYSIWYG Magento extension page.

12. Magento Live Chat 
This free module will provide LiveChat support in Magento.
It don’t depends third party platform
It don’t require to fill a form before start a conversation
It identify automatically registered user
It provide information about the current page of the customer
It can provide useful information about transformation rate
Conversation are archived and available forever

13. Fontis SecurePay 
Please note that this extension uses the Australian SecurePay found at www.securepay.com.au.

Payments made with this payment module are processed through the SecureXML gateway.

For more information, including screenshots, version history and instructions on configuration and usage, please see the Fontis SecurePay Magento extension page.

14. Royal Mail Domestic and International Shipping 
Is your online store based in the UK?  If you sell tangible items to customers in the UK and beyond, then check out the Royal Mail Domestic and International Shipping extension for Magento.  This extension calculates the cost of sending items to a variety of different destinations using a range of various shipping methods.


15. Checkout Newsletter 
A regular newsletter is a great way of telling your customers about your latest sales, newest products, and special offers.  Checkout Newsletter is a super simple extension for Magento which allows you to add a ‘Sign Up for Newsletter’ checkbox onto your Onepage Checkout Page.  With Checkout Newsletter, your customers can sign up for your company’s newsletter with just a click of there mouse!

16. Lazzymonks Twitter  
Completely rebuilt to integrate better with magento. All the problems experienced with the earlier version have been fixed in this release.

You can set it to be in either the left menu, right menu or both. The number of updates to display is also adjustable.

Status updates can be posted from within the admin panel.

17. Events Calendar 
With this extension, you can display an events calendar on your website. Events are stored in the database. You can also display the upcoming list of events quickly by calling a block in your template.

Before entering any events, go to System->Configuration->General->Events Calendar and set your timezone.

Get the callendar using this {{block type="mathieufeventscal/events" template="mathieuf/eventscalendar/events.phtml"}}
Get the events list using this {{block type="mathieufeventscal/events" template="mathieuf/eventscalendar/nextevent.phtml"}}

18. Customer Groups Configurable Catalog 
This extension is a lot more flexible then the Netzarbeiter_LoginCatalog and
Netzarbeiter_CustomerActivation modules, but it is also more complex.
I suggest not installing this extension together with Netzarbeiter_LoginCatalog,
as that doesn't really make sense.

Release 0.2.5beta and above works with and without the flat catalog enabled

19. Exploded Menu 
Replaces the standard Magento menu with a multi column drop down menu system. This is a community version of the Supermenu extension. The screenshots say it all ... Allows you to display your product categories in a more intuitive manner. Similar to the functionality used on top ecommerce sites like www.asos.com

20. Magento EasyLightbox 
Want a free and easy way to improve the appearance and functionality of your Magento site?  Then try Magento EasyLightbox, an extension that displays an image (i.e., your store’s products) as a lightbox.  Magento EasyLightbox takes about 5 minutes to install and configure, and you don’t need any coding experience! This is a great extension for just about type of online shop.

21. Fooman Invoice=Order Number  
Love using Magento for your online store but hate how it creates separate invoice, shipment, and creditmemo numbers for one order?  Then start using Fooman Invoice=Order Number, a free extension for Magento.  Instead of keeping separate counts for invoice, shipment, and creditmemo numbers, this extension uses the related order number, making it easier for you to track of all of the numbers related to an order.

22. Magento jqZoom  
Magento provides users with an image gallery to help display their products in an attractive and interesting way.  Magento jqZoom, an extension for Magento, can make your online store even more dynamic, because it replaces Magento’s regular image gallery with the jqueryZoom widget.  This widget will allow your clients to hover over images of your products and show them in zoom view without having to use controls.

23. CLS Upgrade-proof Email Templates   
Looking for an upgrade-proof way to change your email templates for Magento?  Then give the Magento extension ‘CLS Upgrade-proof Email Templates’ a try!  Instead of having to directly change the default email templates for Magento, this module allows you to store your customized email templates in a custom theme directory which will override the default template.

24. Teaserbox  
Some tiny but nice features come with the Magento Teaserbox extension - below you will find a complete list of features which are supported within this product.

Image gallery
Sliding direction
Define Teaserbox proportions
....

25. IDEALIAGroup LightBox for Magento  
IDEALIAGroup LightBox is UPDATE SAFE since no system files are replaced or modified and you can enable or disable it in a click.
FEATURES
1 - FULL MAGENTO BACKEND INTEGRATION: all parameters available in configuration (no coding needed)
2 - Configurable effect duration
3 - Support for thumbnails and base image: default double-click zooming of base image is automatically replaced and integrated
4 - Full styles configuration: assets colors, fonts and borders can be easily configured

26. Magento EasyTabs  
This small extension will help to add informational tabs on product page. Installation and configuration will take approximately 5 minutes. No files are replaced and no codding experience needed to install!

1.Install extension using magento connect.
2.Log out from admin and login again.
3.Navigation to System > Configuration > Templates-Master > EasyTabs and enable extension for any store you need.

27.  MagentoConnect Manager  
One of the first things that really confused me when i start using Magento is Magento connect. I just started learning things, so i was looking for some plugin examples. I visited Magento connect page with extensions and looked for download button, instead i found “Get extension key” one.
You can also automatically upgrade your Magento installation through connect manager with key

magento-core/Mage_All_Latest

28. osCommerce Migration Tool  
Now, available for download through Magento Connect, is a new extension for DataFlow which enables importing your data from osCommerce into your website in Magento.

To set up a profile, all Magento needs is information such as the IP/host of your osCommerce DB, user login and name of DB. Magento will take care of the rest. The data Magento supports is the default DB of osCommerce 2.2 RC2 which includes customers, orders, categories and products in multiple languages.

29. MostViewed module  
Magento MostViewed module automatically generates the list of your online store's most viewed
products and displays it at the home page (or some other page) in the customer area. All that you need - add the "mostviewed/list" block to the home page. You can do it at the CMS->Manage Pages page in the admin area. Simply add the following line to the content of page:
{{block type="mostviewed/list" name="home.mostviewed.list" alias="product_homepage" template="catalog/product/list.phtml"}}

30. Vertical Navigation with CSS Classes  
With this extension you're able to design you own vertical category navigation with subcategories and product count display.

Each element has a fine css'ing so you can address each element or group exactly including "first" and "last" element per group and "previos", "activ" and "next" child.

The module removes the top.navigation via XML-Update and places the vertical nav in "left" structural block. You can change this by modifying the vertnav.xml file.

 Thank you ! you can ask me at praphullpriyadarshi2012@gmail.com if any query .