Thanks, Martin.
I'm still hoping that I won't be the person putting it together.
On Feb 14, 2013 4:31 PM, "mz" <[email protected]> wrote:

> Hi Mika,
>
> for tagging and a tag cloud you can use the infotags plugin (it's good and
> should work with the latest v3.xxx).
> Download the plugin here:
> http://www.boltwire.com/index.php?p=solutions.links.infotags
> The description on the doc page is garbled. Find the original page content
> below. To use the script in v4 you need to adapt the forms to the new
> conventions.
>
> Function is like this:
> You use a form to set tags on a page. It sends the tags to another page
> info.tags that collects the tags with the links to the pages. You use a
> second script to fetch the tags from there and display or alter them on the
> tagged page.
> To use the tags as links you create an action page action.tags.missing.
> Since there is no page named "tag.xxx" anywhere, the system would display a
> 404 -not found page. This action overrides this behaviour. It creates a
> page that show the links to the pages with that tag ("xxx") on it. Clever,
> eh?
>
> I hope this helps.
>
> Greetings, Martin
>
> Infotags:
>
> This script contains a couple extensions to the info function/command to
> give you a very simple, easy to setup tagging system.
>
> To use it, enable the script as normal. Then, put code like the following
> on a group footer (like "dances"):
> Tags: [(list '{info.tags::{p}}' delimiter=' ' join=' | '
> fmt='[[?tag.{+p}|+]]')]   [ [[{p}&action=tags|Edit]] ]
>
> This will draw in any existing tags from the tags data value and display
> them.
> Tagging content
>
> If you want to set tags on pages that already exist, you create an action
> page. Name the page action.tags and put these lines in it:
>
> ! >>Tags<<
>
> >>Use this form to change the tags on this post:<<
>
> [[{p}|+]]
>
> [form]
> [text tags "{info.tags::{p}}" size=50] [submit SAVE]
> [session info "field='{p}' value='{=tags}' target='info.tags'"]
> [form]
>
> If you want to set tags in the form that initially creates the page, like
> a blog entry form or something, just add the two from lines above to your
> form. The first line won't have a default value of course.
>
> You can manually inspect and/or edit your tag values manually by going to
> info.tags.
>
> This script also comes with a tag cloud feature you can put in a sidebar,
> used like the following:
>
> [(info tagcloud target=info.tags)]
>
> To keep track of deleted pages/tags in your tagcloud you might add a line
> like this to action.delete:
>
> [session info "delete field='{p}' target='info.tags'"]
>
> This clears your info.tags out of the pages which exist no more.
>
> To use these links, create a page called action.tag.missing with content
> like the following:
>
> ! Tags
>
> Posts with Tag: //{{p2}:title}
>
> [(info tags "{p2}" target=info.tags template="title")]
>
> Then when you click on a link in the tag cloud (or any link to
> tag.whatever it will go to a search page that generates a list of all pages
> with that tag. Actually, you will want to do this even if you do not use
> the tag cloud. It will return any page with the string links somewhere in
> the tags (just using a simple strpos function).
>
> There are probably still a few more features to add to this, like a way to
> generate a list of links on a page to all tags. But we're on our way. I'm
> open to suggestions--as I'm developing this for my own blog right at the
> moment and would like to get it perfected.
> Note:
>
> If you care about consistent use of tags, you might get a list of all tags
> which are used. Put this at the end of infotags.php:
> function BOLTinfoTagList($info, $args) {
>      $tags = array();
>      foreach ($info as $f => $v) $tags = array_merge($tags, explode(',',
> $v));
>      foreach ($tags as $tag) $tagcount[$tag] = $tagcount[$tag] ;
>         ksort($tagcount);
>      foreach ($tagcount as $i => $ii) {
>           $out .= " [[?tag.$i|+]] ";
>           }
>      return $out;
>      }
> and call this on your page:
>
> [(info taglist target=info.tags)]
>
>
> Of course you can keep more than one tag list. You could have an
> additional list for categories too. Just use the scripts above and use them
> on a page action.categories.missing, action.categories and create a page
> info.categories. Replace tags with categories inside the forms.
>  Search for tags
>
> Some examples for searching single tags by using conditionals:
> Find all pages WITHOUT tag "this_not":
>
> [(info report target=info.tags if="!inlist 'this_not' '{info.tags::{+p}}'"
> template="{+p}")]
>
> Find all pages with tag "this" OR "that":
>
> [(info report target=info.tags if="inlist 'this'
> '{info.tags::{+p}}'||inlist 'that' '{info.tags::{+p}}' " template="{+p}")]
>
> Find all pages with tag "this" AND "that":
>
> [(info report target=info.tags if="inlist 'this'
> '{info.tags::{+p}}'&&inlist 'that' '{info.tags::{+p}}' " template="{+p}")]
>
> Find all pages with tag "this" AND "that" BUT NOT "this_not":
>
> [(info report target=info.tags if="(inlist 'this'
> '{info.tags::{+p}}'&&inlist 'that' '{info.tags::{+p}}')&&!inlist 'this_not'
> '{info.tags::{+p}}' " template="{+p}")]
>
> You could combine this with additional lists like a categories list. Just
> change the target expression from {info.tags::{+p}} to
> {info.categories::{+p}} or another page name starting with info
>
>  --
> You received this message because you are subscribed to the Google Groups
> "BoltWire" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/boltwire?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"BoltWire" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/boltwire?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to