New Installment

Dear Kevin,

I'm installing the form plugin under elgg v1.7. Then I tried to create a new form, when I want to add new field it always send me to the dashboard page and then nothing added, such seems I cant add new fields. Did I do anything wrong at the installment?

  • The only example I have is for a client and it is a little complex as they had a fancy form. But here you are:

    <p>{@on_plugin:registration:introduction}</p>
    <div id="registration_section1">
        <h3>{@on_plugin:registration:header1}</h3>
        <p>{@on_plugin:registration:description1}</p>
        <div class="registration_item">
            <div class="registration_item_label">
                {$voorletters:t}
            </div> <!-- registration_item_label -->
            <div class="registration_item_input short">
                {$voorletters:i}
            </div> <!-- registration_item_input -->
            <div class="registration_item_description appended">
                {$voorletters:d}
            </div> <!-- registration_item_description -->
        </div> <!-- registration_item_item -->
        <div class="registration_item">
            <div class="registration_item_label">
                {$voornaam:t}
            </div> <!-- registration_item_label -->
            <div class="registration_item_input">
                {$voornaam:i}
            </div> <!-- registration_item_input -->
        </div> <!-- registration_item_item -->
        <div class="registration_item">
            <div class="registration_item_label">
                {$tussenvoegsel:t}
            </div> <!-- registration_item_label -->
            <div class="registration_item_input short">
                {$tussenvoegsel:i}
            </div> <!-- registration_item_input -->
        </div> <!-- registration_item_item -->
        <div class="registration_item">
            <div class="registration_item_label">
                {$achternaam:t}
            </div> <!-- registration_item_label -->
            <div class="registration_item_input">
                {$achternaam:i}
            </div> <!-- registration_item_input -->
        </div> <!-- registration_item_item -->
        <div class="registration_item">
            <div class="registration_item_label">
                {$geboortedatum:t}
            </div> <!-- registration_item_label -->
            <div class="registration_item_input medium">
                {$geboortedatum:i}
            </div> <!-- registration_item_input -->
            <div class="registration_item_description appended">
                {$geboortedatum:d}
            </div> <!-- registration_item_description -->
        </div> <!-- registration_item_item -->
        <div class="registration_item">
            <div class="registration_item_label">
                {$geslacht:t}
            </div> <!-- registration_item_label -->
            <div class="registration_item_input">
                {$geslacht:i}
            </div> <!-- registration_item_input -->
        </div> <!-- registration_item_item -->
    </div> <!-- registration_item_section1 -->
    <div id="registration_section2">
        <h3>{@on_plugin:registration:header2}</h3>
        <div class="registration_item">
            <div class="registration_item_label">
                {$_name:t}
            </div> <!-- registration_item_label -->
            <div class="registration_item_input">
                {$_name:i}
            </div> <!-- registration_item_input -->
            <div class="registration_item_description after">
                {@on_plugin:registration:name:description}
            </div> <!-- registration_item_description -->
        </div> <!-- registration_item_item -->
        <div class="registration_item">
            <div class="registration_item_label">
                {$_password:t}
            </div> <!-- registration_item_label -->
            <div class="registration_item_input">
                {$_password:i}
            </div> <!-- registration_item_input -->
        </div> <!-- registration_item_item -->
        <div class="registration_item">
            <div class="registration_item_label">
                {$_password2:t}
            </div> <!-- registration_item_label -->
            <div class="registration_item_input">
                {$_password2:i}
            </div> <!-- registration_item_input -->
        </div> <!-- registration_item_item -->
    </div> <!-- registration_item_section2 -->
    <div id="registration_section3">
        <h3>{@on_plugin:registration:header3}</h3>
        <p>{@on_plugin:registration:description3}</p>
        <div class="registration_item">
            <div class="registration_item_label">
                {$adres:t}
            </div> <!-- registration_item_label -->
            <div class="registration_item_input">
                {$adres:i}
            </div> <!-- registration_item_input -->
        </div> <!-- registration_item_item -->
        <div class="registration_item">
            <div class="registration_item_label">
                {@on_plugin:registration:huisnr_toevoeging}
            </div> <!-- registration_item_label -->
            <div class="registration_item_input short">
                {$huisnummer:i} {$huisnr_toevoeging:i}
            </div> <!-- registration_item_input -->
        </div> <!-- registration_item_item -->
        <div class="registration_item">
            <div class="registration_item_label">
                {$postcode:t}
            </div> <!-- registration_item_label -->
            <div class="registration_item_input">
                {$postcode:i}
            </div> <!-- registration_item_input -->
        </div> <!-- registration_item_item -->
        <div class="registration_item">
            <div class="registration_item_label">
                {$woonplaats:t}
            </div> <!-- registration_item_label -->
            <div class="registration_item_input">
                {$woonplaats:i}
            </div> <!-- registration_item_input -->
        </div> <!-- registration_item_item -->
        <div class="registration_item">
            <div class="registration_item_label">
                {$telefoonnummer:t}
            </div> <!-- registration_item_label -->
            <div class="registration_item_input medium">
                {$telefoonnummer:i}
            </div> <!-- registration_item_input -->
            <div class="registration_item_description after">
                {$telefoonnummer:d}
            </div> <!-- registration_item_description -->
        </div> <!-- registration_item_item -->
        <div class="registration_item">
            <div class="registration_item_label">
                {$_email:t}
            </div> <!-- registration_item_label -->
            <div class="registration_item_input">
                {$_email:i}
            </div> <!-- registration_item_input -->
        </div> <!-- registration_item_item -->
    </div> <!-- registration_item_section3 -->
    <div id="registration_section4">
        <div class="registration_item">
            <div class="registration_item_label">
                {$doenersnet:t}
            </div> <!-- registration_item_label -->
            <div class="registration_item_input">
                {$doenersnet:i}
            </div> <!-- registration_item_input -->
        </div> <!-- registration_item_item -->
    </div> <!-- registration_item_section4 -->
    <div id="registration_section5">
    <div class="registration_item">
            <div class="registration_item_label">
                {$gebruiksvoorwaarden:t}
            </div> <!-- registration_item_label -->
            <div class="registration_item_input">
                {$gebruiksvoorwaarden:i}
            </div> <!-- registration_item_input -->
            <div class="registration_item_description appended-dark">
                {@on_plugin:registration:gebruiksvoorwaarden_text} <a class="gebruiksvoorwaarden_popup">{@on_plugin:registration:gebruiksvoorwaarden}</a>
            </div> <!-- registration_item_description -->
        </div> <!-- registration_item_item -->
    </div> <!-- registration_item_section5 -->

  • By the way, it appears that the standard Elgg captcha plugin redirects to the front page if the wrong answer is given and loses all the registration information. So I wouldn't use that.

    At some point I will probably create a captcha field for the form plugins that handles validation properly and redisplays the form.

  • Thanks Kevin, where should the styling (css) be placed ? 

    Can we add the css from the template field ?

     

  • You can.

    My clients usually create a full blown theme plugin and so we place the registration form CSS there along with everything else.

    I have turned input filtering off for the form template fields as they are only used by site admins so you should be able to put anything in there you like.

  • Great. Perfecto. Thanks again.

     

     

  • I'm also having this problem on WAMP.
    In the apache_error log i find: ID for field Adresgegevens is 0, ....

    This means that get_entity in manage_form.php is not returning anything ($form = get_entity($form_id);)

    Any ideas?

  • Nope, as stated above, so far as I know this is a server related problem affecting a small number of people and the only known solution currently is to move to another server.

    I assume that you are using only ASCII characters in your internal field names, correct?

    If you have any new insights, please share them here.

  • Solved (at least this did it for me): I altered the following setting in the php.ini file and now it works on my WAMP testing environment :-)

    output_buffering = 4096
    (default it was: output_buffering = on)

  • Kevin, one more thing. The error i mentioned earlier (comes from form/models/model.php) is not really an error if the field is new ( so in that case it shouln't be logged ).

  • Ruben, do you have any theories for why making this change to output_buffering has solved your problem?

    A quick google finds this suggestion:

    http://jlcoady.net/tips/tip-turn-php-outputbuffering-elgg

    to turn output buffering off all together when using Elgg.

Form and related plugins

Form and related plugins

User-generated content, flexible user and group profiles, registration forms, custom file forms