Jump to content

Paragraph formatting when submitting from front-end

Recommended Posts


I have built a form that allows authenticated members to submit articles through a front-end form. I was under the impression that 2 newlines would automatically be converted to paragraph elements, but I'm pretty sure that's incorrect as I re-acquaint myself with this aspect of PW.**

Then I was thinking there was a TinyMCE configuration to convert newlines to paragraphs. There is, but I'm pretty sure that applies only during entry into the textarea, not when the text data is first loaded into the TinyMCE textarea.

First, is there a built-in PW paragraph formatting function that I'm missing/forgetting?

If not, would the "preferred" method to achieve this be using TinyMCE on the front-end form, so newlines are converted to paragraphs before the form is submitted and the page fields are stored? If so, can someone point me to an example of using the PW API to include a TinyMCE field input?

Or would the preferred method be to process the raw input to convert newlines to paragraphs (through another module, or custom code) before saving the page fields?

I'm aware there is an Auto Paragraph TextFormatter module, but I believe that only applies when the data is output — not when the data is shown in backend.

Thanks for any assistance!

** I have confirmed that the newlines are stored in the database, so I've confirmed they're neither being removed nor converted.

Share this post

Link to post
Share on other sites

Currently, I have chosen to set up a module based on the Auto Paragraph module linked above, except it's a general-use module that I load on demand and pass the text into. It seems to work well.

I'd still appreciate feedback if there is an easier / preferred method for doing this, though. Thanks!

Share this post

Link to post
Share on other sites

You could add a hook to FieldtypeTextarea::wakepValue() that is when loaded from db before rendered.

Or convert it before you save with sleepValue().

Or in when youre processing the form and store it to a page.

Share this post

Link to post
Share on other sites

If there is a AutoPargraph textformatter you could also remotely use its function to convert it.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Fran
      Is there any way to limit the text just to the first paragraph of the body lets say? Thanks very much guys. 
    • By hellomoto
      I have a Pages field with a PageListSelectMultiple input fieldtype, and I cannot limit it through the "custom PHP code" filter in its settings. I don't want hidden pages to be selectable, because the field is supposed to be to select pages to be included in a frontend menu. How can I do this? and it would be nice to be able to use the custom php code way to filter...
      Also, I cannot install, or activate, rather, TinyMCE. It's claimed to be compatible with 2.5... I install it, and when I try to activate it, without fail, it "activates" CKEditor, which is already activated by default, and installs its files into the /site/modules/ directory. TinyMCE is still in there, just inactivated and useless, being that there's no workaround to activating modules besides from the admin (that I know of, and it should work via the admin anyway). I also tried using BatchChildEditor (supposed to work with 2.5) -- don't seem to do anything when activated. I selected some settings and nada.
      Does anybody have any idea why I might be having these problems? I got all green for all the install compatibility checks...
    • By Thomas108
      Hi everybody,

      I am trying for a while now to display the alt tags as captions from images inserted via tinymce.
      I read this (and a few other) threads: https://processwire.com/talk/topic/1344-captions-for-images-in-tinymce/

      ... and I installed Adrian's tinymce-image-caption,
      but it didn't work at all for me.

      Then I installed Teppo's TextformatterImageWrapper,
      again no change in the frontend.

      Finally I tried Ryan's approach which is also mentioned in the linked thread above.
      and again no change in the frontend output.

      The last days I felt like I fell in love with processwire, everything went very smooth, but today seems to be not my day.
      I have no clue what's wrong, maybe some pw (2.4.7) or php (5.4.32) version  problem? My template is valid html5.

      I just made a fiddle with ryans approach: http://jsfiddle.net/wqo4fk8o/10/
      Maybe someone can have a look and point me in the right direction?

      Thanks in advance,

    • By enricob
      Hi all,
      I am building a page that contains a quite complex request form.
      To do this, I created a page based on a "contact-form" template, and inside this template I put all the code needed to display the form and manage the results.
      The form is built using PW API, the code is inspired from some examples I found here on the forum.
      My problem is that I don't know how to insert a text paragraph between the fields, anyone has idea on how to do this?
      Here's a very simplified version of my code (only two fields displayed), in this case I would like to append a custom paragraph (simple html) between Company and Name fields.
      The only solution I found is to use an additional field of Fieldset type, without content, and on the label I set the text I need to output. However in the label field I am not able to insert html tags...
      Any help is very appreciated... Thank you!
      // create a text input $field = $modules->get("InputfieldText"); $field->label = "Company"; $field->attr('id+name','company'); $field->required = 1; $form_fields[] = $field; // create a text input $field = $modules->get("InputfieldText"); $field->label = "Name"; $field->attr('id+name','name'); $field->required = 1; $form_fields[] = $field; // submit button $submit = $modules->get("InputfieldSubmit"); $submit->attr("value","Send"); $submit->attr("id+name","submit2"); $submit->skipLabel = '4'; // create the form field (also field wrapper) $form = $modules->get("InputfieldForm"); $form->action = "./"; $form->method = "post"; $form->attr("id+name",'contact-form'); foreach ($form_fields as $field) { $form->append($field); } $form->append($submit); // append the form in $out variable $out .= $form->render();
    • By Kae
      Hey, guys!!!
      I'm having a very big problem with Tinymce in processwire. I feel so stupid about it, but can't find the solution. Hope someone can help me.
      When I change to html and paste html tags inside a <code> tag, they get converted and disapear. How can I avoid this?
      All Iwanted was to show some code examples. I feel so noob right now '-'
      Thank you =)
  • Create New...