Archive for category Joomla

Joomla 1.6 ACL Access Control List Features Presentation

Andrew Eddie, original project manager for the Mambo project who’s August 2005 Letter to the Community heralded the eventual beginnings of Joomla, has run through the latest ACL implementation of Joomla 1.6 at the Melbourne Joomla Users Group meeting ( February 16th, 2010 ).

Videos and a PDF of the slides from that presentaton are embedded. Take some time to review these and familiarize yourself with the new ACL ( Access Control List ) features of Joomla 1.6.

Those of us who use and/or support Joomla should benefit from the MJUG meeting.

MJUG Joomla 1.6 ACL Presentation by Andrew Eddie
( Part 1 of 2 )

MJUG Joomla 1.6 ACL Presentation by Andrew Eddie
( Part 2 of 2 )

Joomla 1.6 Access Control List Slides

Joomla 1.6 Slide Presentation – Andrew Eddie – Core Developer – MJUG 2010-02-16

Joomla 1.6 Access Control List Articles

Andrew’s blog, the Art of Joomla, has a great article Introducing the New Permissions in Joomla 1.6. Worth a read.

Andrew Eddie is a co-founder of the Joomla Open Source project and is highly active in the version 1.6 development process. He currently operates a Joomla-based development and training consultancy New Life in IT, and produces high-quality commercial Joomla extensions through his sister company JXtended.

Joomla 1.6 Nightly Builds

If you are interested in pre-flighting the next release: download nightly builds of the upcoming Joomla 1.6 Beta from SVN at the Joomla Forge SVN

Thank You

Hope this helps you as well.

Mark Raborn
WIGITAL

, , , , , , , , , ,

No Comments

PayPal Plugins for Joomla

Joomla PayPal Extensions

For those interested in Plugins using simple syntax to enable PayPal Buttons in articles, there are PayPal plugins for Joomla. Search the Joomla Extensions directory for offerings.

For WIGITAL Customers that want to take a do it yourself approach from within Joomla and do not wish to leave the Administrator backend to get PayPal functionality, there are two commonly used Joomla PayPal plugins we suggest:

Easy Paypal by HyBing

http://extensions.joomla.org/extensions/e-commerce/payment-systems/2651

Nice Paypal by TriniTronic

http://extensions.joomla.org/extensions/e-commerce/payment-systems/9277

Using the Joomla PayPal Extensions

Turn Off the TinyMCE Editor

The Joomla Document library discusses using PayPal type extensions  in this post . The use of PayPal extensions require that HTML can be typed into web pages along with the specific code needed to interact with PayPal using PayPal’s API. The first consideration then, is to avoid the use of  the default TinyMCE Editor in Joomla. TinyMCE strips out certain forms of HTML on save, and since the PayPal API requires custom HTML and various propriertary syntax to function, you must not use the default editor. Read this post to turn off TinyMCE.

Sign Up for Business PayPal Account

Receiving PayPal payments requires a PayPal Business Account. Sign up to “Build Your Business Online with PayPal

For WIGITAL Customers, we suggest a dedicated PayPal email address and identitity in your environment. Whether in a Windows Domain and using Microsoft Exchange to receive notifications, or using an email service like Gmail, Hotmail, Yahoo Mail, etc… , having an identity dedicated to this function, “that is secure” and accessible only by Accounting and Management roles, is advisable.

  • Create an account / identity dedicated to the PayPal relationship
  • Sign up with PayPal Business

Easy PayPal Tutorial

http://www.hybing.com/Easy-Paypal-Tutorial.html

Nice PayPal Tutorial

http://www.trinitronic.com/index.php/Downloads/nice-paypal-button-documentation.html

Installing Joomla PayPal Extensions

Here are the steps to setup Nice PayPal ( as an example )

  1. If you don’t already have one, sign up for a business PayPal account.
  2. Install the plugin using Joomla’s Extension Manager.
  3. Go to Extensions>>Plugin Manager and click into the plugin “Content – Nice PayPal Button.”
  4. Enable the plugin.
  5. Add your PayPal account email to the parameters on the right.
  6. Optionally add your sandbox sellers account email if you plan to do testing.
  7. Optionally set the test mode to on or off – the default is off.
  8. Optionally enter your PayPal supported 3 letter currency code – default is USD.
  9. Optionally, Enter your 2 digit country code to set the language used on the PayPal payment page. PayPal uses a two-character country code (ISO 3166). Some examples are United States: US, Great Britain: GB, France: FR, Spain: ES, Poland: PL, German: DE. If you don’t know your country code, or you can Google PayPal Country Codes.
  10. Optionally, set your button language code. PayPal uses a 5 character code to designate language it’s buttons. For example, United States English is designated with en_US. Enter the 5 character code for the desired button language. Other code examples are Great Britain English: en_GB, French: fr_FR, Spanish: es_ES, Polish: pl_PL, German: de_DE. If you don’t know the code for your desired language, log into PayPal use the button creator and search the resulting HTML code for this https://www.paypal.com/en_US/i/btn/btn_buynow_LG.gif. Notice the en_US in the URL, it’s the language code for the button.
  11. Save your changes.
  12. Important – Email Cloaking is a default feature of Joomla. Unless you have specifically disabled it, it is enabled on your site. If this is the case then, in the Plugin Manager, you will need to change the order of the Nice PayPal Button plugin so that it appears below the Email Cloaking plugin in the plugin list. Otherwise, the PayPal buttons that the Nice PayPal plugin creates won’t work properly.
  13. Add the tag code {nicepaypal:button type|price|item name} to your article where you want the PayPal button to show up.

Place the Nice PayPal Button tag in your article content.

A PayPal button replaces the Nice PayPal button tag.

The PayPal Developers Site

For those interested in the DIY “Do It Yourself” approach that requires a little more investment than point-and-click in the Joomla back end, PayPal provides their API, development practices, documentation, sample apps, etc… at the PayPal Developers Network

An extraordinary amount of functionality can be achieved, integrated, and customized into your website using PayPal’s online tools. These tools require no knowledge of coding and can broaden website functionality with PayPal using simple cut and paste of code that PayPal generates on your behalf as you use their online resources.

In addition, you can go further as a developer.

Here are some important links ( and suggested reading )

, , ,

No Comments

Google Calendar in Joomla

Google Calendar in Joomla

The Joomla GCalendar is a Google Calendar bridge to Joomla. The project is hosted at code.google.com where you can find code, project announcements, and their support links.

Support for GCalendar is in

The following setup excerpts are from their DocuWiki at http://g4j.laoneo.net

Prerequisites for GCalendar

The prerequisites for GCalendar is a Google account and the Google calendar service initialized.

Getting started with GCalendar

http://g4j.laoneo.net/content/docu/doku.php/id,docu;gcalendar;version_2.1.x;getting_started/

  • Install the component
  • Import your calendars
  • Share the Calendar with the public (OR) us the magic cookie (which makes Private Calendars accessible through Joomla). More at Google’s Calendar API . A video is available on magic cookie at YouTube
  • Create menu entries
  • Install the modules ( and enable them )
  • GCalendar suite contains
    • mod_gcalendar.zip
    • mod_gcalendar_next.zip
    • mod_gcalendar_upcoming.zip
  • Install the plugins ( and enable them)
    • plg_gcalendar_next.zip
    • plg_gcalendar_search.zip
  • Enjoy

Sharing the Google Calendar with the Public

To share your Google Calendar with the public ( and for use in Joomla )

  • Go to http://www.google.com/calendar
  • Log in using the appropriate credentials for this “shared calendar”
  • Click the Settings link
  • Under Calendar Settings, click the Calendars tab
  • Locate your calendar under My Calendars, click Share this calendar
  • Check the box [  ] Make this calendar public, click the Save button at bottom of page
  • Now, click on the link to YourCalendar
  • The available options for YourCalendar will have changed. Scroll to the bottom. In the section named Calendar Address, click the HTML button, copy the html text and paste into your browser to view your shared public Calendar as it appears on the internet.
  • NOTE: This is the Calendar information that will be shared with GCalendar in Joomla.

Sharing the PRIVATE Google Calendar with Joomla

To share your “private” Google Calendar with the Joomla CMS

  • Go to http://www.google.com/calendar
  • Log in using the appropriate credentials for this “calendar”
  • Select the drop down arrow next to your Calendar, then click the Calendar Settings link
  • Scroll to the bottom. In the section named Private Address, click the HTML button, copy the html text.
  • Go to the Components, GCalendar, GCalendars in Joomla
  • Select the appropriate Calendar by clicking it’s link
  • in the Magic Cookie filed, past the HTML path copied from above.
  • Now DELETE the entire path from “http://-in-the-beginning-to-pvttk=
  • Leave everthing after pvttk= in your GCalendar Magic Cookie settings, and Save
  • NOTE: This is the PRIVATE Calendar information that will be shared with GCalendar in Joomla.

See the magic cookie at YouTube video walk-through.

Google Email Replies through GCalendar for Joomla

Setting up a global address to receive email related to Calendar Events in Joomla is a consideration when using GCalendar. Individual events in GCalendar can be accessed invoking the mailto: links to the Google Calendar recipient. Having a global email address such as ( info@yoursite.com ) or ( calendar@yoursite.com ) may be advisable. A Google account and Calendar could be established for just this purpose.

Google Calendar Support Topics for Microsoft Outlook

Another significant question ( for Exchange and Outlook users ) who may want to push Outlook generated content into Google Calendar is the ability to Sync Google Calendar to Microsoft Outlook.

Here is the Google Calendar Support Link

Introduction to Google Calendar sync with Microsoft Outlook

Check out the Introduction to Google Calendar Synchronization

Get Started

If you’re setting up Google Calendar Sync for the first time, you’ll need to:

  1. Check your compatibility.
  2. Download Google Calendar Sync.
  3. Agree to the Terms of Service and finish installation.
  4. Select the appropriate Sync Option and time interval.

Details for each Sync Option can be found here.

Sync options with Google Calendar Sync

Setup Sync Options between Google Calendar and Microsoft Outlook

2-way sync

All events in your primary Google Calendar and your default Microsoft Outlook calendar are synced together. Once you’ve selected this option, any changes you make to events in either Google Calendar or Microsoft Outlook Calendar will be reflected in both applications.

If you modify the same event multiple times in both applications, the most recent update will sync between Microsoft Outlook Calendar and Google Calendar. Additionally, if you delete an event in Microsoft Outlook Calendar or Google Calendar, this event also will be deleted when viewing the other application.
Please note that Google Calendar Sync syncs all of the events in both your default Microsoft Outlook calendar and your primary Google Calendar. Currently, there is no way to sync events within a specific time frame in your calendar.

1-way: Google Calendar to Microsoft Outlook calendar

All events in your primary Google Calendar are added to your default Microsoft Outlook calendar. During subsequent sync cycles, any updates made to events in Google Calendar will be reflected in Microsoft Outlook Calendar as well. Keep in mind that any events created or modified in Microsoft Outlook Calendar won’t be reflected in Google Calendar.

1-way: Microsoft Outlook calendar to Google Calendar

All events in your default Microsoft Outlook calendar are added to your primary Google Calendar. During subsequent sync cycles, any updates made to events in Microsoft Outlook Calendar will be reflected in Google Calendar. Keep in mind that any events created or modified in Google Calendar won’t be reflected in Microsoft Outlook Calendar.

, , , , , , ,

No Comments

creating a Joomla Site Template – Joomla specific CSS affecting Typography

Building a Joomla Site template from the ground up has caused me to reflect a little more about Joomla specifics. Coding a CSS template for a CMS means getting into the underlying architecture. So… I’m going to log my take on the Joomla side of things and write some ”personal reminders” about my learning process. The goal here is to a grip on the built in CSS Classes in Joomla and how I might use them to apply my own CSS Typography.

Challenge: quickly learn the default Joomla table structure and find the built in .classes

Why so urgent? Bump into a table class or nesting that avoides my own template CSS (as an example) and stuff will look a bit wierd or out of place for that element.

Let’s do some quick research >>> 

A journey to Docs at Joomla gives us _a_blank_placeholder_for_future_content (as of 2009-03-19) . Even though there’s nothing here right now, we’ll definitely keep this for future reference :

http://docs.joomla.org/Default_CSS_classes

With that bookmarked, let’s jump over to Joomla’s forum. A post there provides a list of the default Joomla classes…. another keeper  :)

Now where to find the hooks for CSS in the components, plugins and modules themselves?

http://docs.joomla.org/List_of_Joomla!_generated_core_CSS_classes

and just exactly how does it come together ??? A Joomla template designer’s  CSS References Guide covers some basics to quickly review “context”. Much of this may be more applicable to Joomla 1.0 then 1.5 so we’ll have to sort out the differences.

Now let’s put it all in context within a Site. How is this going to be affected by how Joomla actually renders content? How are we going to see our articles and have menus generated?

Andrew Eddie recently posted some diagrams in .pdf on this very subject . This info is worth a ponder as we think about how our content (Sections/Categories) will eventually be pushed into menus in the Joomla architecture. Considering this first is a good idea prior to getting started with our CSS

http://www.theartofjoomla.com/joomla-structure-pdf.html

Good, we’ve covered the basics ( now I can take a few notes for “me-myself-and-I” .

ZERO OUT THE CODE

Before beginning, this is just a reminder to anyone new to CSS to please Zero out built in browswer styling. You can do this by adding this to the top of your CSS stylesheet:

 
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, legend, input, textarea, p {
margin-top: 0pt;
margin-right: 0pt;
margin-bottom: 0pt;
margin-left: 0pt;
padding-top: 0pt;
padding-right: 0pt;
padding-bottom: 0pt;
padding-left: 0pt;
text-align: left;
}

Now… with an acknowledgement to all that Dan Cederholm > Bulletproof Web Design taught me, please remember to zero out the table spacing also (we’ll touch on Joomla tables on how they’re impacting us below)


table {
border-collapse:collapse;
cellspacing:0;
}

Next is a little help for older browswers using something I learned that was way over my head . We set our default font size for our template with the additional help of the BOX MODEL HACK to help with our fixed width approach as well as Zero out margin, padding and add a background color

 

body {
/* box model hack - http://www.tantek.com/CSS/Examples/boxmodelhack.html */
font-size:small; /* 1 size smaller fir IE5/Win */
voice-family: "\"}\"";
voice-family:inherit; /* BEGIN MODERN BROWSERS*/
text-align:center; /* center IE */
font-size:medium; /* size for current browsers */
margin:0;
padding:0;
background: #ededed url('none-just-yet');
}
html>body { /* be nice to Opera 5 */
font-size:medium;
}

and then we can finally learning Joomla CSS and talk about being Joomla specific :)

A brief look at Joomla specific TYPOGRAPHY

…. in progress

Writing CSS for beautiful TYPOGRAPHY is a very broad discussion. I will not be including CSS in a broad way for the site that I’m working on. That would be a lot of writing.

However, I can help some…. if you want to get into CSS, or the much broader discussion about Typography. then do your reading and enjoy the journey.

The focus for me right now is to annotage the facts and those little ”odd” and “random” things about Joomla that I need to be aware of in coding the stock Typography for a site.

For your own site, please generate CSS and TYPOGRAPHY according to your concepts and desires. If there is something here that’s useful, please check back. I hope you find it helpful. I’ll do what I can to come back and to add to this “work-in-progress”.

 

First things first – Joomla TABLES

Joomla uses Tables “by default” in which to place the content generated from Joomla components, plugins and modules. If you do not want the browser and Joomla itself to make up it’s mind about size, indentation, margin, padding, etc… then absolutely remember to Zero out the cellspacing and collapse-border(s) …. (we’ve already done this above). Here is an exampled once again:


table {
border-collapse:collapse;
cellspacing:0;
}

This will give you the ability to better track how things behave within the Joomla “Content” TABLE. As various components, plugins and modules are calling content up into the TABLE, it’s important to know you have a clean slate to start with. With borders collapsed and cell spacing at zero, let’s move on.

FIY: to get around tables as the platform for display, set aside some time and read Understanding Output Overrides.

Joomla Component Headings and Content Headings

  • in Joomla, certain content has been conceived as being of of the “Heading” type in nature. This content is generated into <table> <td> in the “context” of headings.
  • These Headings ”in context only” appear
    • inside the Joomla contentpane
    • outside the Joomla contentpane
  • the headings can be hooked onto using a Joomla class
    • .componentheading (for components)
    • .contentheading (for content)

Now because the “context” of these classes is to style in the “context of a Heading”, I’m going to match the style of .componentheading and .contentheading to my H1 and H3 CSS TYPOGRAPHY

  • .componentheading = h1 (matched to my h1 style elswhere in the template)
  • .contentheading = h2 (matched to my h2 style elsewhere in the template)

This way… if not a single Header element was ever used by someone writing articles, the .componentheading and .contentheading could still appear in the Joomla context appearing as “Headings” even though symantically  they are not <Header> elements. I’ve made this choice on a “style basis” only.

Tables and Forms “inside” the Joomla contentpane

Because the <table> element is the home for much of the content seen in Joomla (without template Overrides), we must define the font size in a fixed manner here as well. The reason is because Joomla at times nests <<<tables <<inside of tables> inside of tables>>>. This nexting would cause a variable font size assigned to a <TABLE> or possibly table data <TD> elements to become progressively larger or smaller based on the number of nested tables around the text.

So, using a fixed size for font’s in tis context is a better choice :)  (i.e. pixels or some other fixed form – pt, pc, in, cm, etc…)

Examples of defining font-size for your text:

  • http://sureshjain.wordpress.com/2007/07/06/53/
  • http://www.bigbaer.com/css_tutorials/css_font_size.htm
  • http://www.thesug.org/blogs/kyles/Lists/Posts/Post.aspx?ID=22
  • The key here will be using CSS specificity. Hopefully we’ll find the classes quickly and keep things rendering agreeably inside the Joomla tables, forms and so on

    TABLES and FORMS …. we’ll add more .classes in this article.

    table.contentpane

    Joomla uses a class on the main Joomla table. It also nests tables inside the main table so we use a fixed size so nesting does not continously adjust size indefinitly on nested elements:


    table.contentpane form, table.contentpaneopen table, table.contentpaneopen form {
    font-size: 12px;
    }

    DIVs in Joomla  

    - – - - ADDING MORE (will add NOTES later) - – -

    .moduletable (we’re not styling this element as it would cascade through to many instances) However, we ill style children of .moduletable

     

    div.moduletable form

    div.moduletable form {
    font-size: 12px;
    margin:0;
    padding:0;
    border-collapse:collapse;
    }

    div.moduletable form table

    div.moduletable form table {
    font-size: 12px;
    margin:0;
    padding:0;
    border-collapse:collapse;
    }

    div.moduletable h3

    div.moduletable h3 {
    font-size:.92em;
    }

    div.moduletable_text

    div.moduletable_text {
    font-size:.72em;
    }

    div.moduletable_text h3

    div.moduletable_text h3 {
    font-size:.92em;
    }

    div.bannergroup_text (we’re not styling this element as it would cascade through to many instances) However, we ill style children of .moduletable

    div.moduletable_text div.bannergroup_text {
    }
    div.moduletable_text div.bannergroup_text div.bannerheader {
    }
    div.moduletable_text div.bannergroup_text div.banneritem_text {
    }

     

    div.blog_more

    div.blog_more {
    font-size:.72em;
    }

    .pagenav

    .pagenav {
    font-size: .72em;
    }

    Joomla OL and UL inside tables

    The next Joomla specific need is to address lists. Usually lists can be addressed in the same manner as paragraphs, definition terms, definition descriptions, etc… Often times this is done by applying a “default” font size to the body element (as shown) and then applying variances to that “default” more specifically throughout the CSS


    body {
    font-size:medium; /* size for current browsers */
    }

    An example would be to set a %percentage or em from the default here for OL and UL (such as font-size:80% or font-size:.72em etc…) .

    While this works outside the contentpane table in Joomla applying a variable font size to OL and UL elements inside the Joomla contentpane, causes the list items <li> to progressively shrink in size…. like so:

    ululul

    This of course is NOT GOOD :( for a consistent TYPOGRAPHY. So, we’ve got to keep our eyes open for how OL and UL are affected in the template. While the OL & UL <li> elements inside the MENUS do not change (because they are outside the contentpane), those inside the .contentpane (or .contentpaneopen) most definitely do.

    So we will assign a fixed font-size to UL and OL elements of 12px . TO BE VERY CLEAR, this is styling UL and OL elements inside the contentpane.

    The two forms of the .class we are looking for are (“NOT-OPEN” and OPEN) which are assigned a to  .contentpane AND .contentpaneopen in Joomla by default. The classes:

    • .contentpane (NOT OPEN)
    • .contentpaneopen (OPEN)

    Which leads us to write CSS for OL and UL with the syntax of


    table.contentpane ol, table.contentpane ul, table.contentpaneopen ol, table.contentpaneopen ul {  
    font-size: 12px;
    }
     

    Blog specific classes in Joomla

    .blog_more strong {
    }
    .blog_more ul {
    }
    .blog_more ul li {
    }

    .blog_more .blogsection {
    }

    .blog_more a.blogsection {
    font-size:.72em;
    }

     

    Joomla Footer DIV has does not have a default class

    The last item (pun intended) is the footer. The default TEXT rendered by Joomla that is pushed into the footer is echo’d into a <DIV>. The <DIV> in this case does not have a .class assigned to it by default. This means that FOOTER text is not affected by the default size applied to other Joomla elements, etc… So to get a hold on the footer we will edit the index.php file and wrap the footer inside a container <DIV> . We can then #id the div and subsequently globally size and style anything inside of it.

     

    <!-- FOOTER -->
      <div id="footer">
        <jdoc:include type="modules" name="footer" style="xhtml" />
      </div>
     
     
    NOTE. .. Article remaing in progress as of 2009-03-19

     

    That’s it for now.  Thanks for reading.
    Mark Raborn
    WIGITAL

     

    NOTES FOR LATER:

    http://v1.reinspire.net/blog/2005/09/15/css_font_styling/

    , , , ,

    No Comments

    creating a Joomla Site Template – building index.php, mod_mainmenu and Modules

    Please note: this article is a personal notepad and not a walkthrough. Although I’m linking what I feel is worth readingregarding Joomla template design, the article is not a walkthrough. A TON OF HOW I’M MAKING THE TEMPLATE is left unsaid. I am primarily tossing breadcrumbs so I can find my way through. You will be able to view the finished product at http://www.wigital.net by June of 2009. Thanks

    also… I like the sites at att.com and apple.com/server . I may borrow from them :)

    The first step in creating a site template is to simplify what I see in the Joomla installation. When I initially installed Joomla, I installed the default content into our site. This means there are lots of articles, menu items and components active, not all of which we’ll need. Let’s disable and unpublish EVERYTHING :)

    In the Admin Panel

    • GO TO Content | scroll to the bottom of the page | look for the Display drop down menu at the bottom of the table | select All

    this will display ALL of the articles

    • scroll back to the top of the Articles table | check the box above the columns that selects ALL of the articles | click Unpublish | in the headers at the top of the table, click on the FrontPage header (this will sort the FrontPage articles to the top) | select as many FrontPage articles as you want and click Publish (this will put a few articles on the Front Page)

    I don’t need to see anything but the FrontPage for a while.

    Using my web editor (you can download Nyu or Amaya for free).

    • Navigate to the Templates folder
    • create a new Folder inside the templates folder (and name it for your template)
    • MyTemplateFolder
    • create four subfolders inside your “newly named” MyTemplateFolder
      • css (styles)
      • html (template overrides)
      • images (images for the template)
      • javascript (scripts)
    • more

    Build a Template based on XHTML and CSS. Borrow from the free template tutorial made available by Barrie North as well as the Joomla 1.5 Template Tutorials, Articles and HowTo’s here

    JOOMLA TEMPLATE ARTICLES AND TEMPLATE TUTORIALS

    http://www.m65.net/article-chapter-joomla!-joomla-template-kits-tutorials-the-joomla-template-structure-76-201.html#1_1

    http://docs.joomla.org/Joomla!_1.5_Template_Tutorials_Project

    http://docs.joomla.org/New_features_introduced_in_Joomla!_1.5_templates

    Since I’m trying to get a basic sketch up today, I will skip the Template Overrides feature. However, I will bookmark it for later and get back to transitioning components/com_content_views/ defaults for Article and Frontpage content to tableless CSS when I have time.

    Template Overrides of Tables in Joomla (for future reference)

    http://developer.joomla.org/tutorials/165-understanding-output-overrides-in-joomla.html

    http://www.m65.net/article-chapter-pages-joomla!-joomla-template-kits-tutorials-layout-76-205.html

    http://www.scribd.com/doc/2300107/Joomla-v-1-5-Getting-Started-with-Template-Overrides

    OK.. So I’ve laid out the following “basic” index.php file according to the guides above

    <?php defined( '_JEXEC' ) or die( 'Restricted access' ); ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"  lang="<?php echo $this->language; ?>" xml:lang="<?php echo $this->language ?>" >
    
    <head>
    <jdoc:include type="head" />
    
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/template.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/print.css" type="text/css" />
    
    <script type="text/javascript" src="media/system/js/mootools.js"></script>
    <script type="text/javascript" src="media/system/js/caption.js"></script>
    </head>
    
    <body
    	<div id="wrapper">
    
    		<?php echo $mainframe->getCfg('sitename'); ?>
    		<jdoc:include type="modules" name="top" style="xhtml" />
    		<jdoc:include type="modules" name="left" style="xhtml" />
    		<jdoc:include type="component" />
    		<jdoc:include type="modules" name="right" style="xhtml" />
    		<jdoc:include type="modules" name="bottom" style="xhtml" />
    
    	</div>
    </body>
    
    </html>

    NOTE: The jdoc:include type=”component” is the TABLE based component. This is acceptable for now and will be “hopefully” gotten to later.

    Now… next comes the layout as I intend to achieve it.

    LOGON (inactive on most pages/menus)
    TOP NAV (3 tabs only of key links)
    SITE NAME & SEARCH
    TOP NAV MAIN (main top navigation)
    LEFT NAV MAIN & COMPONENT (contained in same div)
    RIGHT NAV
    BOTTOM (MODULE-User11 | MODULE-User12 | MODULE-User13 | MODULE-User14)
    a little breathing space
    BOTTOM INDEX NAV (MODULE -a form of NAV indexing the site contents – “will figure this out“)
    FOOTER

    Now the big deal at this point is figuring out what modules go into where ??? and What Includes and <div> containers to make.

    Joomla Modules

    Joomla start with User1, User2, User3, User4 modules loaded as defaults. Adding additional modules gives me a launch pad to customize my content in Modules a bit more (as well as what I am able to do functionally with the modules given the broad array of Joomla extensions).  Here is my initial idea for modules:

    • User1 = Latest News
    • User2 = Popular
    • User3 = Top Menu
    • User4 = Search
    • User11 = Module? (TBD)
    • User12 = Module? (TBD)
    • User13 = Module? (TBD)
    • User14 = Module? (TBD)
    • User20 = Logon (mod_login styled to display horizontally)
    • User21 = TopNav
    • User22 = TopNavMain
    • User23 = BannerNav
    • User24 = BottomIndexNav

    Now this alters our BODY

    <body>
    	<div id="wrapper">
    		<jdoc:include type="modules" name="user20" style="xhtml" />
    		<jdoc:include type="modules" name="user21" style="xhtml" />
    		<?php echo $mainframe->getCfg('sitename'); ?>
    		<jdoc:include type="modules" name="top" style="xhtml" />
    		<jdoc:include type="modules" name="user22" style="xhtml" />
    		<jdoc:include type="modules" name="left" style="xhtml" />
    		<jdoc:include type="component" />
    		<jdoc:include type="modules" name="right" style="xhtml" />
    		<jdoc:include type="modules" name="user11" style="xhtml" />
    		<jdoc:include type="modules" name="user12" style="xhtml" />
    		<jdoc:include type="modules" name="user13" style="xhtml" />
    		<jdoc:include type="modules" name="user14" style="xhtml" />
    		<jdoc:include type="modules" name="bottom" style="xhtml" />
    		<jdoc:include type="modules" name="user24" style="xhtml" />
    		<jdoc:include type="modules" name="footer" style="xhtml" />
    
    	</div>
    </body>

    Now I can move on to adding <div> tags and IDs and using CSS to position these modules and componets where I want to in my Template.

    OK… now all of thos modules have been created in the Index.php file and they’ve been contained in <div> tags and ID. The next thing is to actually create the User11 through User24 modules and then assign the actual Joomla MODULES (or copy existing ones) to them. This is achieved using Modules in the Admin Panel .

    Navigation

    The mod_mainmenu module is the NAVIGATION of Joomla. ”By default” it is assigned to Main Menu (left nav in default template RhukMilkyway) and Top Menu (top pillbox nav in default template RhukMilkyway) . To make multiples of a Top Navigation (nav designed to display horizontally) we are going to copy the Top Menu mod_mainmenu module 3 times and the Main Menu mod_mainmenu once.

    The fastest way to do this is to go to the Menu Manager and copy the Top Menu OR Main Menu there. Copying in the Menu Manager automatically creates a copy of the mod_mainmenu mode in the Modules . This method saves a couple of steps.

    Now prior to setting these up, we still need to create Positions for each of the copied Navigation modules.

    This article explains how to create Positions (they need to be added to your templateDetails.xml file)

    http://www.dart-creations.com/joomla/joomla-tutorials/joomla-1.5-template-positions.html

    As soon as these <position>userValue</position> are added as children of the <positions> element, we are ready to assign our copied modules to the new positions we’ve created.

    Once the menus have been copied in the Menus | Menu Manager, then go to Extension | Modules Manager and confirm your Module Parameters, Advanced Parameters, and Other Paramters are set according to your planning:

    • User21 = TopNav mod_mainmenu module
    • User22 = TopNavMain mod_mainmenu module
    • User23 = BannerNav mod_mainmenu module
    • User24 = BottomIndexNav mod_mainmenu module

    AGAIN!!! REPEATING !!!  – -In the Extension | Modules Manager ,  review the Module Parameters, Advanced Parameters, and Other Paramters for settings related to controlling the look and feel of the navigation modules.

    Our First Parameter is Menu Style:

    Module Parameters | Menu Style | Legacy – Flat List

    Vertical – The Vertical Menu Style Child Menu Items will be displayed in an extended form when the Parent Item is clicked upon. These will be presented with an indented offset Title that will distinguish them from the Parent. This is the type of Menu Style adopted for the Main Menu in the standard Template installed with Joomla!. However, alternative Templates may treat this differently.
    * Horizontal – The Horizontal Menu displays the Menu Items one above the other in a tabular layout. Child Menu Items are not displayed. The appearance is similar to the Vertical Menu Style.
    * Flat List – The Flat List Menu displays Menu Items in list format (<li> tags). Depending on the CSS settings of the active template, the Menu may display horizontally or vertically. This option does not display Child Menu Items. This is the Style used for the Menu Bar at the top of the standard Template installed with Joomla!. However, alternative Templates may treat this differently.

    We use the Flat List here because it gives us a very high degree of control of the <li> elements using CSS. The only mod_mainmenu that we will define as something else is the Main Menu which we define as vertical in order to use the automated indentation and the extension of the Menu using Joomla’s code.

    Joomla Modules and Module Types

    Joomla has more than a few accolades as a Content Management System. This is in large part due to the success Joomla has had in establishing an outstanding Open Source Community. It is also due to the flexibility of Joomla to be customized and the power of the components and modules that are available.

    The modules aspect of Joomla is very cool because you can just grap something, plug it in somewhere and whalla !!! a new cool feature in your site. Even by default, Joomla has a flexible array of functionality in it’s Modules. To learn about Modules and Module Types, please read:

    http://docs.joomla.org/Modules_Administrator

    For now… we are going to create for mod_custom modules. mod_custom allows us to type in some custom HTML into the module and publish it like a article or web page. This gives us the ability to type HTML directly (with CSS ID’s, selectors, classes) into the module for the purposes of playing around with and fine tuning our CSS design. As soon as the design is ”stylin”, we’ll be able to substitute other module types when the time comes to have a more focused approach based on the “purpose” those module positions will eventually play in our layout.

    Remember earlier we wanted to create the following:

  • User11 = Module? (TBD)
  • User12 = Module? (TBD)
  • User13 = Module? (TBD)
  • User14 = Module? (TBD)
  • We’re now going to crate Four mod_custom modules and assign them to those User positions. We’ll name them and assign them to the appropriate position.

    4x User11 > User11 = Module? (TBD)
    4x User12 > User12 = Module? (TBD)
    4x User13 > User13 = Module? (TBD)
    4x User14 > User14 = Module? (TBD)

    more…

    text :)

    , , , , ,

    4 Comments

    creating a Joomla site – discovering Joomla SEO Settings

    Joomla SEO

    In our first article ____ we downloaded and installed Joomla as well as acquired some tools to work with our Joomla site. Today, we’re going to check out Joomla SEO Settings.

    First, let’s login to the Admin Panel and set some the native SEO configuration settings.

    Joomla SEO Requirements

    Requirements needed for SEO friendly URLS in Joomla

    • must be running Apache Web Server
    • mod_rewrite module must be enabled
    • .htaccess must be allowed in Apache configuration

    We’d like to compliment our host Dreamhost and link to their WIKI as helpful guide to .htaccess and mod_rewrite

    .htaccess in Joomla

    To prepare for Joomla SEO, we must first make the htaccess file included in Joomla active by renaming it from htaccess.txt to ( .htacess ). We can get a hand from the Joomla community about setting up Global Configuration and htaccess here:

    The Joomla Documentation Wiki – in the future the WIKI should also provide good content (wiki Global Configuration article currently incomplete as of 2009-03-16) http://docs.joomla.org/Global_configuration

    Joomla SEO Global Configuration

    Setting SEO Friendly settings

    • Search Engine Friendly URLs = YES (your ISP’s server must support this)
    • User Apache mod_rewrite = YES (your ISP’s server must support this)
    • Add suffix to URLs = YES (your ISP’s server must support this)

     

    Joomla 1.5 SEO Patch

    Alledia.com is a great resource for Joomla SEO information. Their site is here: http://www.alledia.com One Alledia.com recent post mentions the Joomla SEO Patch. Joomla 1.5 SEO Patch is available for download from oomlaAtWork and helps with METADATA and title settings in the HTML header. The extension can be viewed here

    http://extensions.joomla.org/extensions/3778/details

    and support from JoomlaAtWork is here

    http://www.joomlatwork.com/support.html

    SEO How To Articles, Tools and Practical Improvements

    Alledia.com

    A great search to enter at Alledia are the words global configuration which yield results like:

    SEO ARTICLES

    JOOMLA URLs and ITEM IDs

    GOOGLE ANALYTICS ARTICLES

    FIREFOX SEO PLUGIN

    JOOMLA CACHE PLUGIN & SITE SPEED IMPROVEMENTS

    JoomlaSEO.net

    JoomlaSEO.net also has a series of good articles here

    CompassDesigns.net

    CompassDesigns is another well know Joomla blog to review. Check them out here

    will add more soon….

    , ,

    No Comments

    creating a Joomla site – Installation Day

    today we’re going to create a Joomla site

    We’ll need some tools first. We’re only installing Joomla in this article but since our article series will continue, let’s get our Web Editor and Image editor as well as the File Transfer and Compression Tools we’ll need to get our site up and running. Since I’m using Windows let’s download the following:

    Next we need to download Joomla to our hard drive. We can download the files here

    http://www.joomla.org/download.html

    It’s available in .zip, tar.giz, and tar.bz2

    Next, we must unpack the compressed Joomla files using our .zip utility (7zip). We can then upload them to our site using Filezilla via FTP . Uploading “uncompressed” Joomla files will take some. Please note there are ways of uploading the files in a compressed statle and then unpacking them on your ISP’s server however for simplicities sake right now, we’ll simply unpack them locally and use FTP to upload.

    Next, we need to confirm we have an FTP account with our webhost. This may be the same username and password you use to access your ISP account. Many webhost provide tools to create additional FTP usernames which is good for keeping credentials seperate for the different web sites you create.

    Now we need to create a database to use with Joomla. Joomla uses MySQL Community Edition which is free and available here http://dev.mysql.com/downloads/ . Many webhosts provide MySQL services and data storage for free. Check with your host and learn more and how to use MySQL tools using their ControlPanel.

    Next, using MySQL, create a database for Joomla. You will need to log the following:

    • SQL HOSTNAME (the name of the database host at your ISP)
    • SQL DATABASE NAME (the name of the new database you created for Joomla)
    • SQL USERNAME (your database username)
    • SQL PASSWORD (your database password)

    Now we should have the following:

    1. a directory on our webserver with the Joomla files uploaded an unpacked
    2. and FTP username and password to upload and work with files in Joomla
    3. a database at our webhost
    4. the MySQL hostname, database name and user credentials to begin installation

    Once these items are in place, we can begin installation of Joomla. Simply go to your web browswer and type the URL (web address) of the location at which you uploaded your Joomla installation files. Once you’ve typed the web address, press enter and the Joomla installation wizard will begin.

    To view Joomla’s online installation manual please read http://docs.joomla.org/Beginners#Installation

    You can read more about installation and Joomla basics and advanced topics here http://docs.joomla.org

    Next article, well take a look at Joomla templates :)

    , ,

    No Comments