Will you post a link to your site when the solution is finished? I'd
love to see how this ends up.

On May 18, 5:55 pm, The Editor <[email protected]> wrote:
> You got this just about right. Two things...  I use title instead of name
> because it shows up in special cases, like [[some.page|+]] and breadcrumbs,
> etc.
> Second thing is title, price, and size are stored as DATA vars. Categories
> is stored as an INFO var. Data vars are stored on the same page as the
> content, but it is invisible when editing. When doing a long search though,
> it requires BoltWire to open and parse large amounts of data (in the index,
> actually, but it's still a lot...). Info vars are special info pages (in
> this case info.categories) and the data is store as simple text vars (like
> PmWiki's PTV's). It's great for data you need to retrieve quickly and search
> or sort. Because only one relatively small page needs to be read and
> retrieved. More notes below...
>
> On Mon, May 18, 2009 at 4:39 AM, Allister Jenks <[email protected]>wrote:
>
>
>
> > OK, this gives me a lot to get going with!  Should take me a while.
>
> > As a first step, I'm looking at the below with a coder's eye and have added
> > where I think I see what it's doing. This without looking at much
> > documentation yet to fully understand the syntax.
>
> > On Mon, May 18, 2009 at 04:01, The Editor <[email protected]> wrote:
>
> >> 1) Create a page called action.storeitem with content like this:
>
> >> [if equal {p1} item] > if the first element of the page name is "item".
> >> [form]
> >> name: [text title "{:title}"] > "title" is the field on this page,
> >> ":title" is the infovar, which populates the field here.
>
> (data vars, not info vars)
>
> > price: [text price "{:price}"] > ditto.
> >> size: [text size "{:size}"] > ditto.
> >> categories: [text categories "{info.categories::{p}}"] > I can't figure
> >> this one out.
>
> This retrieves the text var (PTV) on page info.categories that corresponds
> with the current page. Essentially the list of categories.
>
> > description:
> >> [box content][(source {p})][box] > gets the description from the page
> >> content.
> >> [submit] > button.
> >> [session savedata name,price,size] > saves the three fields as info vars.
>
> Data vars...
>
> > [session edit {=content}] > sets the page text to the value of the content
> >> box, so it shows when viewing page.
> >> [session info "field={p} value='{=categories}' target=info.categories"] >
> >> this is the other half of the bit I don't get.
>
> This saves the value you entered into the category field {=categories) onto
> page info.categories, with the label of the current page. That is, it adds a
> new line, or updates an existing line on that page something like:
>
> item.12321: my,categories,here
>
> > [form]
> >> [else]
> >> <(search group=item template=[[{+p}&action=storeitem|{+:name}]])> > lists
> >> valid pages to run storeitem against if this isn't one.
>
> Right, so go to action.storeitem, and it will list all item. Click one, and
> then it brings up the action form for that page. Kind of cool...  The idea
> came to me as I was typing up the email. I'll need to remember that trick.
> Double use for an action.
>
> [if]
>
>
>
> >> 2) Put this on item.footer:
>
> >> [if admin][[{p}&action=storeitem|EDIT]][if] > put storeitem action on
> >> page for admins.
>
> >> To create a new item, just create a blank page item.1231231
>
> >> > 2) How to deal with multiple categories?
>
> >> 3) Put this on categories.header (or footer).
>
> >> [(search group=item if="inlist {p2} {info.categories::{+p}}"
> >> template="title")] > searches item.* pages using that syntax I don't get
> >> again. Looks for second part of page name (category name) in each
> >> item.page's categories.
>
> This generates a list of all the pages in group item. To get grandchild
> pages, etc., change it to item*, otherwise it's just second level kids. Then
> it runs each of those pages through a quick check using the conditional
> engine.  Remember, you are on page  categories.clothes. So it checks to see
> if clothes {p2} is in the info var (PTV) on info vars for the current page
> in the pagelist {+p}. If it is it returns the title of the page. You'll
> change the template of course.
>
> Read the documentation tutorial page on var's for details about the
> distinctions between the syntax of system, data, and info vars.  (On the
> BoltWire site). The + in the {var} mean it's relative to the current page in
> the search list, rather than the actual page the search function is on.  I
> can't remember the exact parallels in PmWiki.
>
>
>
>
>
> >> This will generate a list of all the pages that have the category.
> >> Note your categories should be saved as a csv list, if there are more
> >> than one, like
> >> cars,clothes,food. You will also want to create a custom template
> >> based on how you want to display the pages.  You will want to also
>
> >> 4) Create a blank page for each category (categories.car,
> >> categories.clothes).  To generate a list of all available categories,
> >> just do [(search group=categories)]
>
> > So there's predominantly one bit I don't get:
>
> > info.cateogories in three of the lines above, plus the other syntax used
> > around it.
>
> > Yeah, it's pretty easy to get the hang of things. The syntax is generally
>
> simpler than PmWiki. Just get a grasp of the different kinds of variables
> and your all set to go.
>
> Cheers,
> Dan
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"BoltWire" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/boltwire?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to