我想将Salesforce VisualForce页面转换为我公司网站的小部件.我想使用服务器端代码和服务帐户访问小部件.我将在我的网页中缓存,设置和输出小部件html.我知道我可以用服务器端代码和几个API调用来重现小部件,但我喜欢能够在Salesforce中管理小部件并让小部件可以在Salesforce中的其他地方重用.
在这种情况下,小部件将报告我们在Salesforce中跟踪的竞赛中的当前领导者.我计划将这种方法重用于其他"迷你报告小部件".这是一个非常有用的模式.我相信那里的人已经优雅地解决了它.到目前为止,我的搜索空洞.
我试图避开网站,因为用户点击我们的公司网站在Salesforce中没有用户帐户(现在我正在考虑允许匿名访问的网站).
我的第一次尝试看起来像这样(受SSO到自助服务门户的启发):
var ws = new sfapi.SforceService();
var lr = ws.login(Secrets.salesforce_user_name, Secrets.salesforce_password);
string url = "https://na6.salesforce.com/apex/mywidget?sessionId=" + lr.sessionId;
Run Code Online (Sandbox Code Playgroud)
我也试过了?sid和?csssid,但是这些网址只是让我跳到Salesforce登录页面:
https://na6.salesforce.com/apex/mywidget?sessionId=00D3000000myorg!my-session-id-from-logging-in-with-the-api-8_i2fX_9wnYdwnwatGVuX6jGjmVmnv50j78yfGF1aKHdoDFtIx_J9
Run Code Online (Sandbox Code Playgroud)
我可以使用标准的屏幕抓取技术,使用用户名和密码发布到标准的Salesforce登录表单,然后拉/ apex/mywidget页面.但这感觉笨拙且没有支持.
现在我正在考虑制作一个公开可用的新网站来公开我的小部件.至少我可以放心地屏幕抓住那页.
任何帮助表示赞赏.我现在打算使用匿名网站方法.
我在控制器中有一个方法
public PageReference add() {
insert technology;
return null;
}
Run Code Online (Sandbox Code Playgroud)
technology 是一个自定义对象.它有自己的getter和setter.如何测试这个方法
我试图在VisualForce中格式化日期,使它看起来像这样:
Tuesday 02/22/11
Run Code Online (Sandbox Code Playgroud)
我在stackoverflow上找到了这个引用:
但我无法确定格式字符串中的内容.
我尝试使用e这里引用的:
http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html
但是当我这样做时:
<apex:outputText value="{0,date,MM'/'e'/'yy}">
<apex:param value="{!od.PriceBookEntry.Product2.Start__c}" />
</apex:outputText>
Run Code Online (Sandbox Code Playgroud)
我收到一个保存错误:
保存错误:日期格式模式无效
<apex:outputText value="{0,date,EEE MM'/'yy}">
<apex:param value="{!od.PriceBookEntry.Product2.Start__c}" />
</apex:outputText>
Run Code Online (Sandbox Code Playgroud) 我已将JavaScript文件存储到Salesforce的Static Resources中.但我不能从Visualfroce调用那些javascript文件.请给我任何解决方案如何从visualforce调用这些javascript文件.
谢谢
我有一个字符串List time1的值(00:00 AM,00:30 AM,01:00 AM,01:30 AM ...........所以一直到晚上11:30)
我还有一个自定义对象预约_c的列表appList.
此列表仅包含设定约会的记录
即如果预约设定为上午8点至上午8点30分和上午10点至上午11点,则只能保留这2条记录
我需要创建一个网格或表来显示从凌晨00:00到晚上11:30的当天约会.
我需要读通在该时间点的每一行,并检查是否有相应匹配的APPLIST那个时候,如果发现的话,我需要显示从APPLIST细节否则它应该显示对时间自由.我还需要将它存储在列表中,以便我可以在VF页面中使用它.我该怎么定义这个清单?我可以将列表存储在一列中,并在其他列中包含约会对象列表
有没有更好的方法来接近这个?
我想做类似下面的事情:
<form action=www.domain.com?retURL=www.domain2.com?parameter=a method="POST">
Run Code Online (Sandbox Code Playgroud)
但这是不可能的.
我想要做的是我有一个联系我们表格.当用户点击提交到此表单时,它会被重定向到一个页面(我在此页面中无法控制 - domain.com),该页面提交此数据,然后将其重定向到retURL(我在此页面中有控制权).在这个retURL中,我想显示提交的数据.
我怎样才能做到这一点?
长话短说,我正在为SalesForce做一个感谢页面.
我非常感谢你的推荐.
我在这里坚持我的渲染论点 - 我非常积极地从记录本身而不是从visualforce页面中提取值.当我将值(are_you_kp__c)从记录更改为"否"时 - 页面块部分应该呈现,但由于某种原因它不会.有人知道为什么吗?
我想我需要一些控制器工作 - 但不知道从哪里开始......
<apex:pageBlock title="New Bid" mode="maindetail" tabStyle="Proposal__c">
<apex:messages/>
<apex:actionRegion>
<apex:pageBlockSection columns="2" title="Bid Information" collapsible="false" showHeader="true">
<apex:inputField value="{!rfp.Bid_Amount__c}"/>
<apex:outputField value="{!rfp.Bid_Date__c}"/>
<apex:inputField value="{!rfp.Bid_Deliver_By__c}"/>
<apex:inputField value="{!rfp.Bid_Comments__c}"/>
<apex:pageBlockSectionItem>
<apex:outputLabel value="Are you the Key Appraiser?"/>
<apex:outputPanel>
<apex:inputField value="{!rfp.are_you_kp__c}" required="true">
<apex:actionSupport status="StatusChange" event="onchange" rerender="PageErrors, appraiserInfo"/>
<apex:actionStatus startText="Updating page ..." id="StatusChange"/>
</apex:inputField>
</apex:outputPanel>
</apex:pageBlockSectionItem>
</apex:pageBlockSection>
</apex:actionRegion>
<apex:pageBlockSection title="Testing" columns="2" rendered="{!rfp.are_you_kp__c == 'No'}" id="appraiserInfo">
<apex:pageBlockSectionItem>
<apex:outputLabel value="Single Point of Contact" for="spoc"/>
<apex:selectList id="spoc" value="{!rfp.SPOCL__c}" size="1" title="Single Point of Contact Select">
<apex:selectOptions value="{!SPOCS}"></apex:selectOptions> …Run Code Online (Sandbox Code Playgroud) 我有需要检查是否需要检查apex:inputCheckbox是否被检查,如果没有,则提出一个警告,说明它未被检查.
<apex:inputCheckbox value="{!check}"/>
Run Code Online (Sandbox Code Playgroud)
我正在从java脚本中提出警报.警报提出后,我正在使用actionfunction来调用apex方法.
我需要的是一种检查是否在javascript中选中复选框的方法
谢谢
Prady
所以我注意到我的VisualForce页面上的一段Javascript在某些情况下正在运行,而在其他情况下却没有.JS正在从我们拥有的一个自定义对象的textArea字段上执行一些操作.我意识到只要textArea字段中有一个新的行或回车字符(\n和\ r),JS就会破坏.
所以我最终在页面控制器中使用了replaceAll()方法,并在页面加载时从该textArea字段中删除了所有这些字符.当它到达JS时,它是一个合法的字符串.
在VF PAGE上:
<script language="JavaScript">
function someFunction() {
var leftOver = 220;
if('{!shippingAddress.Delivery_Requirements__c}'.length > 0){
leftOver -= '{!shippingAddress.Delivery_Requirements__c}'.length;
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
在控制器中:
//a fix for the text area field - '\n' and '\r' breaks JS on the VF page
shippingAddress.Delivery_Requirements__c = shippingAddress.Delivery_Requirements__c.replaceAll('\r\n', ' ');
Run Code Online (Sandbox Code Playgroud)
发布此信息是为了遇到JS工作某些记录而不是其他人的人.
如果您对它破裂的原因有所了解,请告诉我们.
这更像是一个最佳实践问题.我们的组织目前对我们的自定义对象的组织默认值具有"公共读取"权限.我们不能把这个私有化,因为它现在为内部员工工作的方式,或者我们试图避免这种情况.
我还创建了一个带有自定义可视化强制页面的客户门户...我使用SOQL查询显示数据.
在SOQL查询上添加一个子句以仅返回帐户ID与登录用户的帐户ID匹配的记录是一个好主意吗?
我做到了,它工作得很好......但是我忽略了这种方法的任何陷阱吗?
谢谢你,凯文
salesforce ×10
visualforce ×10
apex-code ×6
datetime ×1
force.com ×1
html ×1
javascript ×1
rerender ×1
testing ×1