Link to create a new Comment

Author Message

Michael Fürst

Wednesday 03 September 2008 4:08:37 am

Hi!

I'm using the Comment feature in my eZ Template. Normally the following submit form with a button is used, to redirect the user to the "Create a new Comment" form:

<form name="commentForm" method="post" action={"content/action"|ezurl}>
<input type="hidden" name="ClassIdentifier" value="comment" />
<input type="hidden" name="NodeID" value="{$node.object.main_node.node_id}" />
<input type="hidden" name="ContentLanguageCode" value="{ezini( 'RegionalSettings', 'Locale', 'site.ini')}" />
<input class="button new_comment" type="submit" name="NewButton" value="{'New comment'|i18n( 'design/ezwebin/full/article' )}" />
</form>

And this works really fine.
<b>But</b>: Now i tried to create a default <a href> link with a text like "Write the first comment" above the "New Comment" Button. I tried to submit the existing form with Javascript in the following way:

<form name="commentForm" method="post" action={"content/action"|ezurl}>
<input type="hidden" name="ClassIdentifier" value="comment" />
<input type="hidden" name="NodeID" value="{$node.object.main_node.node_id}" />
<input type="hidden" name="ContentLanguageCode" value="{ezini( 'RegionalSettings', 'Locale', 'site.ini')}" />
<a href="#" onclick="document.commentForm.submit(); return false;">Write the first comment!</a>
<input class="button new_comment" type="submit" name="NewButton" value="{'New comment'|i18n( 'design/ezwebin/full/article' )}" />
</form>

If i click on the <a href> link, the submit works fine (so it's not a JS problem).
But after the submit i recive the following kernel 3 Error:
<b>The requested object could not be found. The ID or name of the object is invalid.</b>

And i cannot find out, what's the problem here...

Has anyone an idea, what to do? I've already tried to create a Link with GET Parameters (hidden fields attached in the URL), but that's also not working.

It would be great if someone can give me a hint,

Thanks & regards,
Michael

Ivo Lukac

Wednesday 03 September 2008 4:20:09 am

Hello Mike,

I suggest you use ez js function for this. Didn't have any problems with it.

<a href="#" onclick="ezpopmenu_submitForm( 'create-comment ); return false;">{'New comment'|i18n( 'design/ezwebin/full/article' )}</a>
<form name="commentForm" method="post" action={"content/action"|ezurl} id="create-comment">
<input type="hidden" name="ClassIdentifier" value="comment" />
<input type="hidden" name="NodeID" value="{$node.object.main_node.node_id}" />
<input type="hidden" name="ContentLanguageCode" value="{ezini( 'RegionalSettings', 'Locale', 'site.ini')}" />
<input type="hidden" name="NewButton" value="" />
</form> 

Make sure to load design/standard/javascript/popupmenu/ezpopupmenu.js in pagelayout

http://www.linkedin.com/in/ivolukac
http://www.netgen.hr/eng/blog
http://twitter.com/ilukac

Xavier Serna

Wednesday 03 September 2008 4:26:54 am

The fact is that with the javascript used in your post

<a href="#" onclick="document.commentForm.submit(); return false;">Write the first comment!</a>

<input class="button new_comment" type="submit" name="NewButton" value="{'New comment'|i18n( 'design/ezwebin/full/article' )}" />

in the form submitted you don't have the "NewButton" post variable, have to be included as a hidden field to achieve this.

hth!

--
Xavier Serna
eZ Publish Certified Developer
Departament de Software
Microblau S.L. - http://www.microblau.net
+34 937 466 205

Michael Fürst

Wednesday 03 September 2008 4:54:04 am

Hi Xavier,

Yeah, that's the solution. Now i found it here:
http://ez.no/fr/developer/forum/setup_design/content_action_is_not_currently_available

Thanks a lot!
Mike

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.