Search

Been searching for the proper answer but I’ve been at a lost to find a solution.

I have made a front end page that adds an entry to the system. But how can I edit that entry in the front end using the same or similar form to edit?

You should see instructions in the event editor for passing the system id along with the rest of the data.

What you’ll need to do is create a data source that returns the individual entry, then use its XML to populate the fields in your form, including a hidden field for its ID.

I’ll look at adding this info to the docs somewhere as soon as possible.

Thanks Craig I’m sure I’ll post back when I can’t get it working properly ;)

It works like a charm! Just to elaborate on what Craig mentioned.

  1. First, create a new data-source and make sure to filter results by the System ID value of {$entry}
  2. Second, make sure you have a Event that will add the data back into symphony.
  3. Lastly, in your form page xsl parse the xml for the entry to populate the input fields and make sure to include the hidden field with the proper ID.

Hopefully this will help another newcomer until Craig updates the documentation.

<xsl:template match="data/edit">
<form action="" method="post" enctype="multipart/form-data">

<input name="MAX_FILE_SIZE" type="hidden" value="5242880" />
<!-- ///// This is the key ID to post back to the proper entry ///// -->
<input name="id" type="hidden" value="{$entry}" />

<fieldset>

<label>Post title</label>
<input type="text" name="{entry/@id}" value="{entry/title}"/>

</fieldset>

<input name="action[edit]" type="submit" value="Submit" />
</form>
</xsl:template>

Thanks Again!

Slight edit to Carlos’ post above. Just moved the code sample to the bottom since it was getting borked by markdown following the OL.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details