Skip to main content

Umbraco Forms - Basics

Umbraco Forms Introduction:


a) Stores the forms in the /App_Plugins/UmbracoForms/Data/forms/ folder
b)  Stores the forms in JSON format
c)  Gives each form a GUID, such as: ea-3e73-4b99-9d81-3055149e3c2e.json that can be used to reference the forms.



In the main umbraco template add links to, 

  • JQUERY, 
  • Jquery Validation
  • Jquery Unobtrusive Validation
EX:

   <!-- Javascripts -->
    <script src="/js/jquery.min.js"></script>
    <script src="/js/bootstrap.min.js"></script>
<script src="/scripts/fanoe.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.14.0/jquery.validate.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/mvc/5.2.3/jquery.validate.unobtrusive.js"></script>



Umbraco Forms, list Forms from Directory:

@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@using System.Xml.XPath
@using System.IO;

@{
    Layout = "Master.cshtml";

}

@{
var request = HttpContext.Current.Request;
string url = Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery,
                                             string.Empty);

<p>url: @url</p>

foreach(var fileName in Directory.GetFiles(Server.MapPath("~/App_Plugins/UmbracoForms/Data/forms/")))
    {
           <p>@fileName</p>
    }
}

Umbraco Forms,Render All Availble forms on to a Page:


@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@using System.Xml.XPath
@using System.IO;
@using System.Net; 
@using Newtonsoft.Json; 
@using Newtonsoft.Json.Linq;

@{
    Layout = "Master.cshtml";
}

@{
var request = HttpContext.Current.Request;
string url = Request.Url.AbsoluteUri.Replace(Request.Url.PathAndQuery, 
                                             string.Empty);
foreach(var fileName in Directory.GetFiles(Server.MapPath("~/App_Plugins/UmbracoForms/Data/forms/")))
    {
var jsonFileUrl = @fileName;
string extension = Path.GetExtension(@jsonFileUrl);
WebClient wc = new WebClient(); 
var json = (JObject)JsonConvert.DeserializeObject(wc.DownloadString(jsonFileUrl)); 
var formName = json["name"].ToString(); 
var formGuid = json["id"].ToString();
<p><a href="@jsonFileUrl">@formName</a></p>
<div>
@Umbraco.RenderMacro("FormsRenderForm", new {FormGuid= @formGuid})
</div>
      
    }
}
    



 

Comments

Popular posts from this blog

Umbraco 7 - C# Razor - Passing a parameter variable from a Template to a Partial View.

Passing a parameter variable from a Template to a Partial View Example - Passing a Page Id to a Partial View.
In the example below we are passing 3 page Ids (1090. 1091, 1092) to a partial view.  The Partial View will display the details for each of these nodes on a home page.  See final output below.


1) In your Template:
@Html.Partial("HomePageLinksToLandingPages", new ViewDataDictionary{{ "pageId", 1090}}) @Html.Partial("HomePageLinksToLandingPages", new ViewDataDictionary{{ "pageId", 1091}}) @Html.Partial("HomePageLinksToLandingPages", new ViewDataDictionary{{ "pageId", 1092}})

2) The Partial View:
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage @{ var thisPageId = 1090; var stringPage = @ViewData["pageId"]; thisPageId = Convert.ToInt32(stringPage); } <div class="col-md-4"> <article class="common-blog-pos…

Umbraco 7 Hide a page from Navigation or Sub Navigation with umbracoNaviHide using Razor in a template or partial view

How to Allow the user to Hide a Page from Navigation in Umbraco 7. By using a tick box:
This example shows hide the Search Results page from the main navigation in umbraco 7.


1)  In your Document Type add a property called "umbracoNaviHide", it must be called "umbracoNaviHide"

The property should be a tick box, so it should be a "True/False "



2) In your Navigation, add the highlighted code to your for each loop that writes out the navigation:

  @foreach(var p in homePage.Children().Where("visible"))
                        {
                            write out navigation

3) Now when the user ticks Hide from Nav in the backend, the page will not show in the navigation:


Create a .NET Contact Form that Gets the Last Url Visited in C# Can also be Used in Umbraco

This is a Simple Contact From done in C# .Net and also can be used in Umbraco.  Paste the code in to Visual Web Developer for a better view.

The important bits are coment in the second file.  One of the Commented out lines highlights how to get the mailto address from an Umbraco field.

The code Below includes the myContactForm.ascx.cs codebehind file and the myContactForm.ascx file.

1) The myContactForm.ascx file: 

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ContactFormforPublications.ascx.cs" Inherits="usercontrols_ContactFormPublications" %>
<div class="contact-form" id="contactForm" runat="server">
    <h3>Request a Publication</h3>
    <div class='int'>
        <form runat="server">
        <asp:Panel DefaultButton="contactFormSubmit" runat="server">
        <fieldset>
            <div class='element name-…