0

Anyone know if there's a way to get a list of the page layouts for an sObject type from a VF page? The API docs say there is a property called namedLayoutInfos. But javascript trying to reference that gave me undefined.

<apex:page >
 <script src="../../soap/ajax/40.0/connection.js"
      type="text/javascript"></script>

<script>

sforce.connection.sessionId = "{!$Api.Session_ID}";
var testMe = sforce.connection.describeSObjects(["Account"]);
var accountMetadata = testMe[0];
var layoutInfos = accountMetadata.namedLayoutInfos;

</script>

1 Answer 1

0

Salesforce has api describeLayout which returns the page layouts. See below example (from here)

var result = sforce.connection.describeLayout("Account");

var layouts = result.getArray("layouts");

for (var i=0; i<layouts.length; i++) {
  var layout = layouts[0];
  detailLayoutSections(layout.detailLayoutSections);
}

 function detailLayoutSections(sections) {
  for (var i=0; i<sections.length; i++) {
    var section = sections[i];
    log(section.columns + ":" + section.heading + ":");
    layoutRows(section.getArray("layoutRows"));
  }
}

function layoutRows(rows) {
  for (var i=0; i<rows.length; i++) {
    var row = rows[i];
    layoutItems(row.getArray("layoutItems"));
  }
}

function layoutItems(items) {
  for (var i=0; i<items.length; i++) {
    var item = items[i];
    log("  " + item.label);
  }
}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .