Documentation > CMS Template API Library > Asset > CreateNewAsset(String,Asset,Asset,Dictionary[String,String],Boolean)
CreateNewAsset
Creates an asset in the given folder using a given model.
public CrownPeak.CMSAPI.Asset CreateNewAsset(String,Asset,Asset,Dictionary[String,String],Boolean)
Returns
The newly created asset. If model is a folder, it will create a folder. If model is a file it will create a file. If it fails an unloaded asset is returned, use IsLoaded to check
Parameters
| Name | Description | Type |
|---|---|---|
| label | The name of the asset. | System.String |
| saveLocation | The folder to save this asset. | CrownPeak.CMSAPI.Asset |
| model | The model for this asset. | CrownPeak.CMSAPI.Asset |
| contentFields | The content fields for this asset. | Dictionary<String,String> |
| createModelChildren | if set to true will also create the model's children if the model is of type Folder. | System.Boolean |
Code Example
C#
Sample:
Asset folderAsset = Asset.Load("/Site/myFolder");
// Use Asset.LoadDirect() to load the model because models are usually in "Draft".
Asset modelAsset = Asset.LoadDirect("/System/Models/MyModel");
// Some properties that will be added to the new assets content when we call CreateNewAsset
Dictionary<string, string> contentFields = new Dictionary<string, string> { {"key1", "toy 1"}, {"key2", "toy 2"} };
//Create the asset.
Asset newAsset = Asset.CreateNewAsset("newname", folderAsset, modelAsset, contentFields);
if (!newAsset.IsLoaded)
Out.WriteLine("Create Failed: " + context.Error);