Gaining basic data

How to get data to work with in your plugin

Argument

Every plugin-function can get data from the argument. There is only one argument for every function! It contains the full string from "<lb:yourfunctionname>... until ...</lb:yourfunctionname>"

Have a look at the following statement in the template:

<ul>
<li>
<lb:link_momsblog>
Go to Mom’s Blog
</lb:link_momsblog>
</li>
</ul>

And now the appropriate function:

function link_momsblog ($content) { }

The variable $content is a string that contains <lb:link_momsblog>Go to Mom’s Blog</lb:link_momsblog>

Attributes

I’ve wrote a nice script that is meant to parse $content and put all attributes of the plugin into a handy array.

<lb:loop_mybooks author="Dan Brown" number="5"> ... </lb:loop_mybooks>

Here we have two attributes, author and number . Let’s see how we manage this in our function!

function loop_mybooks ($content) {
$att = getattributes($content);
}

Ah! getattributes() does the trick. $att is now an array with two fields. $att['author'] = "Dan Brown" and $att['number'] = "10"

Now you may use this attributes in your function. Don’t forget to define default values, if the user missed an important attribute!

Stripping Loudblog-Tags from $content

Now that we got the attributes out of our argument, we can kill those surrounding Loudblog-Tags. I’ve written a little function that does exactly this. It’s calles stripcontainer

Your $content might be:
<lb:link_momsblog>Go to Mom’s Blog</lb:link_momsblog>

Use this:
$content = stripcontainer($content);

Now your $content is:
Go to Mom’s Blog