[pmwiki-users] including Wikiform issue in a page
John Rankin
john.rankin at affinity.co.nz
Mon Nov 14 19:45:51 CST 2005
On Thursday, 10 November 2005 3:40 AM, nexyufuli evo <noskule at gmx.net> wrote:
>Use wikiform as a contact form ( with name, adress, phone, ... . ) in
>the Profiles.UserName pages. There would be a template for the profiles
>page with (:includeform {$Name}:). So on one side, there is a formpage
>on the Profiles.Username and on the Profiles.HomePage where the
>(:wikilist:) table with all the entrys shows up.
>
>So every new user inserts his contact itms and gets automaticly updated
>in the wikilist on Profiles.HomePage.
>
> But there is a problem. New pages are generated manualy with the
>(:wikiform:) directive, and the name of the entry is a number. Could
>there be a configurable solution for using words for the entrys instead
>of numbers, or some complytly other solution to do it?
>
>
>
See the new version at http://www.pmwiki.org/wiki/Cookbook/WikiForms
First, note that a wikiform-i18n-xx.php file is now required, for
translations of display elements.
The script now supports ?action=editeform for any pagename, not
just pages it automatically numbers. To achieve the effect you
want, let's test the following:
1. Create a Profiles.GroupFooter page containing:
=>[[{$FullName}?action=editeform | Edit Form]]
2. Add (:nogroupfooter:) directives to the Profiles.FormTemplate,
Profiles.HomePage and Profiles.RecentChanges pages (and any other
profile pages that shouldn't use the form)
3. The problem is how to use the form when we create a person's
profile page. I suggest the following:
- for the Profiles group, set
$DefaultPageTextFmt = 'Describe [[$Name(?action=editeform)]] here.';
in config.php
this /should/ make the default text shown when the page doesn't
exist use the Profiles.FormTemplate if you click the link
- now we need to prevent links to profile pages from generating
action=edit if the page doesn't exist; set
Markup('[[~?','<[[~','/\[\[~(.*?)\]\]/','[[$1(?action=browse)]]');
in config.php
4. Unfortunately, we aren't quite there yet. The (:wikilist:)
directive looks for page names that are all digits, so it's
not going to find any of the pages created using the above
method! This ought to be possible, but I don't have an
answer at the moment.
So I think this should be part way to what you want. We need to
test that the above approach does, in fact, work as envisaged.
There are some other enhancements requested for this script:
- (:wikilist group=GroupName:) to generate a list of pages
from another group
- provide a way for wikilist to display the last modified date
- provide a way to associate 2 different forms with the same
page, with access to different fields
The first 2 look easy; the third looks hard.
--
JR
--
John Rankin
More information about the pmwiki-users
mailing list