Never been to TextSnippets before?

Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world (or not, you can keep them private!)

« Newer Snippets
Older Snippets »
25 total  XML / RSS feed 

Fix for ExpressionEngine File Extension in PHP4

Find the following line (around 5388):

switch ($row['field_type'])

before that place this line:

$field_type = "";

So that switch should look like this:

$field_type = "";
switch ($row['field_type'])
    case 'text' :  $field_type = $LANG->line('text_input');
    case 'textarea' :  $field_type = $LANG->line('textarea');
    case 'select' :  $field_type = $LANG->line('select_list');
    case 'date' :  $field_type = $LANG->line('date_field');
    case 'rel' :  $field_type = $LANG->line('relationship');

Hack for the EE Extension: File

Try changing line 496 from this:

$target_path = preg_match("/^\//", $f['server_path']) ? $f['server_path'] : PATH.$f['server_path'];

to this:

$target_path = preg_match("/(^\/|^[a-z]:)/", $f['server_path']) ? $f['server_path'] : PATH.$f['server_path'];

Dynamic page titles in Expression Engine

// Puts the weblog name and entry title in the title tag in Expression Engine

<title>{exp:weblog:info weblog="name-of-weblog-here"}
{/exp:weblog:info} | {exp:weblog:entries}

Redirect after login

// This code allows you to use the free-standing login page to redirect members who login to individual start pages based on their group membership. Its use is explained in greater detail here:

// <?php global $SESS, $DB;

                $memid = $SESS->userdata['member_id'];
                $group_no = $DB->query("select group_id from exp_members where member_id='$memid'");
                $group_num = $group_no->row['group_id'];
$login_path = '';
                $group_name = '';
                if($group_num == 1) {
                        $group_name = 'consultants';
                } else if($group_num <= 4) {
                        $group_name = 'default';
                } else {
                        $group = $DB->query("select group_title from exp_member_groups where group_id='$group_num'");
                        $group_name = str_replace(" ", "", strtolower($group->row['group_title']));
                        $group_name = preg_replace("/(.*)_.*/", "\\1", $group_name);
                        $template = $DB->query("select group_name from exp_template_groups where group_name like '$group_name'");
                        if ($template->num_rows < 1)
                                $group_name = 'default';

header("location:$group_name/start"); exit();?>


Site map, based on sections (e.g. weblogs) and categories

This will generate a site map using nested lists and h3 & h4 tags. Fairly rough, but serviceable.

{exp:query sql="SELECT blog_name, blog_title, blog_description FROM exp_weblogs"}
<h3><a href="{path={blog_name}}" title="{blog_description}">{blog_title}a></h3>
{exp:weblog:category_archive weblog="{blog_name} "style="nested" orderby="title"}
 {categories}<h4 id="{category_id}"><a href="{path={blog_name}/articles}" title="{category_description}">{category_name}a></h4>{/categories}

Linking to Stylesheets

<link rel="stylesheet" type="text/css" media="all" href="{stylesheet=static/style}" />

<link media="screen" type="text/css" href="{stylesheet=static/style}" />

Using FlashObject and the miniFLV player to play videos from an entry

Ideally, at some point, I'll modify the plug-in for EE that shows Flash objects to use flashobject.js.

This code assumes custom fields in the blog.


Online Example.

{if project_video}
{if project_video_title}<h4>{project_video_title}: Video Cliph4>{/if}

<div id="videoClip">
<p style="margin: 10px 0; padding: 10px; border: 3px solid red;"><a href="" target="_blank" title="Get Flash Player"><img src="" alt="Get Flash Player" height="31" width="88" align="left" style="padding-right: 10px">a>Flash 7 or above and JavaScript are required to view the project video clip. Please download the //" target="_blank" title="Get Flash Player">latest Flash plug-in.

{if project_video_alt}



Snippets Plugin

Coding to use for the Expression Engine Snippets Plugin:

In the actual pages:
{exp:snippets template="static/index"}
{page_title}Site: {title}{/page_title}

In the header include (static/index in this case):


Define them as variables in PHP for easy if/else statements. :)

Total Number of Entries for one Weblog

{exp:stats weblog="weblog1"}{total_entries}{/exp:stats}

Entry Date

{entry_date format="%F %d, %Y"}
{edit_date format="%F %d, %Y"}

More formatting options:

Display In 2-Column Table

The below can be applied to MT, EE, etc, and will display the content in a 2 column table. The EE tags below are just an example, it will work equally well if you replace it with MT, Wordpress, etc, tags.

 $set_table="0"; ?>

<table cellpadding="5" border="0">
{exp:gallery:categories gallery="{gallery_name}"}
$fs_table = $set_table +1;
if ($set_table == "1") {echo"";} ?>

Insert other tags here.

 if ($set_table == "2") {echo"";  $set_table="0";} ?>

Use PHP Inside EE Entries

You'll need the following plugins:
Allow EE Code:
Allow PHP:

Set text formatting for the field you want to use this on to "None" (Admin > Weblog Administration > Custom Weblog Fields).

Change your template by adding the Allow EE tags around the field:


Now you can use PHP inside your entries like this:

<p>Bla bla regular entry textp>

echo "This will be processed as PHP.";

CSS Switcher Code

{exp:css_switcher}<link rel='stylesheet' type='text/css' media='all' href='{file}' />{/exp:css_switcher}

<form action="" method="post">
<select name="css_skin" id="css_skin">
<option value="1">Option 1option>

Code for using the CSS Switcher plugin. Insert this anywhere in a EE template where you want this to show.

Edit Link In An Entry

Without the Snippets plugin (ie, straight on the template itself):

{if member_group == "1"}
<a href="/system/index.php?C=edit&M=edit_entry&weblog_id={weblog_id}&entry_id={entry_id}" title="Edit Entry">Edit Thisa>

With the Snippets plugin (ie, included in a seperate template that gets pulled into all other templates):

{if member_group == "1"}
<a href="/system/index.php?C=edit&M=edit_entry&weblog_id=%editweblog%&entry_id=%editweblog2%" title="Edit Entry">Edit Thisa>

And use this to include the editlink template:

{exp:snippets template="static/editlink"}

Number of Entries in Galleries

All Galleries:
{exp:query sql="SELECT count(entry_id) AS count FROM exp_gallery_entries"}{count}{/exp:query}

One specific Gallery:
{exp:query sql="SELECT count(entry_id) AS count FROM exp_gallery_entries WHERE gallery_id=1"}{count}{/exp:query}

List of Stats

{exp:stats weblog="not 1|2"}
<li>Since 2001, I have posted <strong>{total_entries}strong> entries,</li>
<li>and received <strong>{total_comments}strong> comments.</li>
<li><strong>{total_guests}strong> people are currently browsing the site,</li>
<li>the most people online at the same time was <strong>{most_visitors}strong> on {most_visitor_date format="%M %d, %y"}</strong>.li>

Last Edited Entries

{exp:weblog:entries weblog="epguide" orderby="edit_date" limit="5"}

Categories For One Entry

{categories backspace="4"}<a href="{path=weblog/index}">{category_name}a> > {/categories}

List All Entries

{exp:weblog:entries weblog="weblog"}
<li><a href="{url_title_path=template/view}">{title}a></li>

Content-sensitive, so putting this on a main index page will list all entries there are, on a category page all entries in that category, and on a date archive page all entries for that month.

List All Categories

{exp:weblog:categories weblog="name" show_empty="no" id="left_nav"}
<a href="{path="template"}">{category_name}a>
« Newer Snippets
Older Snippets »
25 total  XML / RSS feed