Home » Documentation » Themes

Themes

PeoplePods themes are sets of template files that define the look and feel of your site. The template files are designed to be modular and reusable.

Each object outputs itself, using a template of your choosing. For example, if you have a piece of $content, and you call $content->output('short'), PeoplePods will use the template called '/readme/themes/short.html' to output the data contained inside $content. See $Person->output(), $Content->output() for more details on the output() functions and their options.

From inside any template, you can always access the $POD object, so you can do anything you can normally do with PeoplePods, including loading content and outputing it using more templates! In this way, a theme can define a lot of special functionality without mucking about in the underlying pods.

You can create new templates for any of the object types simply by creating a file in the right place, and then referencing it when calling the output() function. For example, if you want to create a special template for a new content type called 'event', you would create event.php in theme/content folder. Then, you'd call $content->output('event')

Themes contain a LOT of files in several sub directories. The best way to create a new theme is to copy the default theme folder included with PeoplePods, and to then modify the files inside.

You can name your theme folder whatever you want. After you've copied it, make sure to update the information in theme.info.

Below is a list of all the files contained in the default theme, and used by the core pods. The documentation found here is also found inside each one of these documents!

theme/

theme/theme.info

3 simple lines that define this Theme.

name=Display Name of Theme
description = Description of Theme
version = Version

theme/header.php

Defines what is in the header of every page, used by $POD->header()

Special variables in this file are:

$pagetitle

$feedurl

Define $subject as a variable

The output of this template is otherwise used as the body of the email

theme/footer.php

Defines what is in the footer of every page, used by $POD->footer()

Define $subject as a variable

The output of this template is otherwise used as the body of the email

theme/content

theme/content/comment.php

Default output template for comments

Used by core_usercontent

theme/content/editform.php

Default content add/edit form used by the core_usercontent module

Customizing the fields in this form will alter the information stored!

Use this file as the basis for new content type forms

theme/content/list_item.php

Display a piece of content as a list item

Used by sidebars

theme/content/new_comments.php

Display a summary of the content and any new comments that were posted since

the last time this user commented

used by dashboard pod

theme/content/output.php

Default output template for a piece of content

Use this file as a basis for your custom content templates

theme/content/search_results.php

Default display for search results in core_search

theme/content/short.php

Default short template for content.

Used by core_usercontent/list.php

theme/content/short_body.php

Defines the body output as included by short.php

theme/content/tag.php

Default output template for tags

theme/emails

theme/emails/addFriend.php

Defines the email that is sent when one user adds another as a friend

This email is sent to the new friend

Define $subject as a variable

The output of this template is otherwise used as the body of the email

theme/emails/contact.php

This email is sent when a member sends another member a private message

This email is sent to the member who receives the message

Define $subject as a variable

The output of this template is otherwise used as the body of the email

theme/emails/invite.php

This email is sent when a member sends an invite

This email takes several forms:

Email to non-member inviting to join the site

Email to non-member inviting to join a group

Email to member inviting to join a group

(Emails to members inviting to join the site are converted to friend-adds)

Define $subject as a variable

The output of this template is otherwise used as the body of the email

theme/emails/passwordReset.php

sent to a person who has requested a password reset.

Define $subject as a variable

The output of this template is otherwise used as the body of the email

theme/emails/welcome.php

sent to members when they create their accounts.

this template needs to include logic to check if a verification is required.

This can be done by checking the verificationKey field on $sender

Define $subject as a variable

The output of this template is otherwise used as the body of the email

theme/groups

theme/groups/edit_group.php

Defines the group edit page

theme/groups/group_navigator.php

Used by the groups output.php and the core_groups/index.php fil

Creates the intra-group navigation on the dashboard

theme/groups/member_manager.php

Defines the group member manager page

theme/groups/output.php

Default output page for a group object

theme/groups/recent_list.php

Used by core_groups/index.php to output a list of recent groups

theme/groups/short.php

Default short output template for group objects

Used in lists of groups

theme/messages

theme/messages/message.php

Default output template for a single private message

theme/messages/thread.php

Default output template for a thread page

theme/messages/thread_short.php

Default output template for a thread in the inbox

theme/people

theme/people/avatar.php

Default avatar template for a person

Used in various places where only the user's picture is needed

theme/people/dashboard.php

Used by the dashboard module to create homepage of the site for members

Displays a list of content the current user has created,

and content from the user's friends and groups

theme/people/dashboard_replies.php

Used by the dashboard module to create /replies

Displays a list of content the current user has in his watched() list

using the theme/content/new_comments template

theme/people/editprofile.php

used by core_authentication

defines the edit profile page at /editprofile

theme/people/join.php

Used by the core_authentication pod to create the /join page

theme/people/list_item.php

Used to create lists of people, mostly in sidebars

theme/people/login.php

Used by the core_authentication pod to create the /login page

theme/people/member_friends.php

Creates a summary of the users friends and followers.

theme/people/member_info.php

Creates a little member info box

theme/people/output.php

Default output template for a person object.

Defines what a user profile looks like

theme/people/password_reset.php

Used by the core_authentication pod to create the /password_reset page

theme/people/search_result.php

Used by the core_search pod for each search result

theme/people/short.php

Default tempalte for short output of person object

Used to create lists of people

theme/people/verify.php

Used by the core_authentication pod to create the /verify page

theme/people/welcome.php

Used by the dashboard pod to create the homepage of the site for non-members

theme/sidebars

theme/sidebars/ad_unit.php

Place your ad code here!

Use this in other templates:

$POD->output('sidebars/ad_unit');

theme/sidebars/create_group.php

Sidebar box to create a group

Used in core_groups/index.php

theme/sidebars/group_search.php

Sidebar box to create a group

Used in core_groups/index.php

theme/sidebars/login.php

Simple login sidebar

Use this in other templates:

$POD->output('sidebars/login');

theme/sidebars/recent_posts.php

Displays last 5 posts of any type

Use this in other templates:

$POD->output('sidebars/recent_posts');

theme/sidebars/recent_visitors.php

Displays last 5 visitors

Use this in other templates:

$POD->output('sidebars/recent_visitors');

theme/sidebars/search.php

Simple search sidebar with content and person search

Use this in other templates:

$POD->output('sidebars/search');

theme/stacks

theme/stacks/footer.php

Default header used by $stack->output()

theme/stacks/groups_footer.php

Header used in core_groups to create the /groups page

theme/stacks/groups_header.php

Header used in core_groups to create the /groups page

theme/stacks/header.php

Default header used by $stack->output()

theme/stacks/pager.php

Footer template which includes next/previous navigation

theme/stacks/ul_footer.php

Footer used to create lists

(Used in connection with the content/list_item.php and people/list_item.php

theme/stacks/ul_footer.php

Header used to create lists

(Used in connection with the content/list_item.php and people/list_item.php

  • Discuss This Document

No comments have been posted yet.

Download Download the latest version of PeoplePods!

0.7 Latest Version:
Release Notes

A free membership is required to download PeoplePods.

  Already Registered? Login

Recent Posts from Our Blog

Version 0.7 Now Available

Last night, I uploaded a new release of PeoplePods: version 0.7. The most exciting new features in this version are: new dynamic image resizing options, a faster comment polling system, new ways...

Developer Preview Launch!

I am very excited to announce the launch of PeoplePods version 0.666, THE DEVELOPER PREVIEW! After tons of hacking, I have tweaked the last line of code, and I am finally ready for a wider audience...