+ Start a Discussion

Fields Wont Show On Sites but show fine when creating the pages

Hi Al,


I am trying to make my first very simple sites page. The page will be used to enter information into a custom object.


I have build in the page and everything looks fine when viewing the page inside on Salesforce, the Inputfield fields bind back to the fields in the object and the custom controller I have built to re-direct the user once they have submitted the data works fine.


In fact, while logged in to Salesforce, everything is perfect.


However, when I try and put this visualforce page on Force.com Sites, the fields are not shown. Save buttons and text will show fine but I can not seem to find away to get the <Apex:Inpuntfields> to show.


I assumed that this was something to be with the security and public access settings on the site I had created. I have however played around with these setting a lot and have granted the highest level of Create, Edit and Read access to all objects in order to try and get around this issue.


Below is the stripped back page code , however, I doubt this is a code issue , as I asl get this problem when try to use only two fields off a  standard object and these fields still dont show. 



================== CODE ========================



<apex:page standardController="Ravs__c"
           title="Contact Us" showHeader="false"
    <apex:form >
        <apex:pageBlock title="">
            <apex:pageMessages />
            <apex:pageBlockButtons >
                              <apex:commandButton value="Submit"
                              action="{!saveLead}" />
            <apex:pageBlockSection columns="1">
<apex:inputField value="{!Ravs__c.Name}"/>
<apex:inputField value="{!Ravs__c.Additional_information__c}"/>
<apex:inputField value="{!Ravs__c.Area__c}"/>
<apex:inputField value="{!Ravs__c.Contract_Type__c}"/>
<apex:inputField value="{!Ravs__c.Corrected_Date_to_Pub_Vac__c}"/>
<apex:inputField value="{!Ravs__c.Date_Time_Entered_Onto_MSN__c}"/>
<apex:inputField value="{!Ravs__c.Date_Time_Raised_By_RSC__c}"/>
<apex:inputField value="{!Ravs__c.Time_email_sent_to_HRA__c}"/>
<apex:inputField value="{!Ravs__c.Date_to_publish_vacancy__c}"/>
<apex:inputField value="{!Ravs__c.Division__c}"/>
<apex:inputField value="{!Ravs__c.Email_address_of_practice_manager__c}"/>
<apex:inputField value="{!Ravs__c.Email_of_clinical_support_colleague__c}"/>
<apex:inputField value="{!Ravs__c.Email_Requestor__c}"/>
<apex:inputField value="{!Ravs__c.External_e_mail_address__c}"/>
<apex:inputField value="{!Ravs__c.Full_Time_Part_Time__c}"/>
<apex:inputField value="{!Ravs__c.Group_Type__c}"/>
<apex:inputField value="{!Ravs__c.HRA_Email__c}"/>
<apex:inputField value="{!Ravs__c.HRA_For_This_Store__c}"/>
<apex:inputField value="{!Ravs__c.HRA_Name__c}"/>
<apex:inputField value="{!Ravs__c.HRC_for_This_RAV__c}"/>
<apex:inputField value="{!Ravs__c.I_Grasp_Store_Name__c}"/>
<apex:inputField value="{!Ravs__c.Interviewer_1_Date_and_Time__c}"/>
<apex:inputField value="{!Ravs__c.Interviewer_2_Date_and_Time__c}"/>
<apex:inputField value="{!Ravs__c.Interviewer_3_Date_and_Time__c}"/>
<apex:inputField value="{!Ravs__c.Interviewer_availability_dates_and_time__c}"/>
<apex:inputField value="{!Ravs__c.Interviewer_Name_1__c}"/>
<apex:inputField value="{!Ravs__c.Interviewer_Name_2__c}"/>
<apex:inputField value="{!Ravs__c.Interviewer_Name_3__c}"/>
<apex:inputField value="{!Ravs__c.Is_this_a_Management_role__c}"/>
<apex:inputField value="{!Ravs__c.Job_title_Of_Requestor__c}"/>
<apex:inputField value="{!Ravs__c.Location_supplement_to_be_advertised__c}"/>



I hope someone can help with this ..



You mentioned CRUD, but have you also checked field level security?


Yeah - for the Public Site, Field Level Security has to be set for the profile for that site - got to the site, click public access settings, and a regular profile will appear. Check the field level security for the object you are exposing - chances are, most or none of the fields are visible to the public profile, even if they are visible to every other profile...