...
Like we do when creating a new Content item, we need to get a new LocationCreateStruct
. We will use it to set our new Location
's properties. The new Location's parent ID is provided as a parameter to
.LocationService::newLocationCreateStruct
In this example, we use the default values for the various LocationCreateStruct
properties. We could of course have set custom values, like setting the Location as hidden ($location->hidden = true), or changed the remoteId ($location->remoteId = $myRemoteId
).
Code Block | ||
---|---|---|
| ||
$contentInfo = $contentService->loadContentInfo( $contentId ); |
...
Code Block | ||
---|---|---|
| ||
$newLocation = $locationService->createLocation( $contentInfo, $locationCreateStruct ); |
We finally use LocationService::createLocation()
, providing the ContentInfo
obtained above, together with our LocationCreateStruct
. The method returns the newly created Location Value Object.
...
We mentioned earlier that a Location's visibility could be set while creating the Location, using the hidden property of the LocationCreateStruct. Changing a Location's visibility may have a large impact in the Repository: doing so will affect the Location's subtree visibility. For this reason, a LocationUpdateStruct
doesn't let you toggle this property. You need to use the LocationService
to do so.
Code Block | ||
---|---|---|
| ||
$hiddenLocation = $locationService->hideLocation( $location ); $unhiddenLocation = $locationService->unhideLocation( $hiddenLocation ); |
There are two methods for this: LocationService::hideLocation
, and LocationService::unhideLocation()
. Both expect the LocationInfo
as their argument, and return the modified Location Value Object.
Note |
---|
The explanation above is valid for most Repository objects. Modification of properties that affect other parts of the system will require that you use a custom service method. |
Deleting a
...
Location
Deleting Locations can be done in two ways: delete, or trash.
...
Note |
---|
The |
Setting a content item's main Location
This is done using the ContentService
, by updating the ContentInfo
with a ContentUpdateStruct
that sets the new main location:
...