I assume you are talking about this view
if that is the case then the linking between a catalog items and an asset is not automatically deleted when you delete that asset. You would have to do that yourself (or make your PIM do it)
Hi Quan,
That is the view! It wouldnt let me upload a picture.
I am aware it does not get automatically deleted and that I have to add something to make it do it. But am new to Epi so am unsure how I go about this. I have found a few similar posts online but none have helped so far.
Have you got any pointers on this?
Thanks, James
If people are going to downvote please say why. Otherwise I will not learn from whatever mistake I made ;)
The standard way is to upload the picture in the assets pane on the right of the cms/episerver first. Then you can select it in the assets area.
Also I imagine someone downvoted it due to the lack of information. I would read https://world.episerver.com/blogs/scott-reed/dates/2018/7/tips-for-posting-on-the-forums/ and https://vimvq1987.com/the-art-of-asking-questions/ and try to make any questions as thorough as possible as although there are episerver employees in here answering questions there's also a lot of normal developers and it can be quite frustrating when there's not a lot of info if you're just trying to help.
@james: you can try to remove the asset from the entry.CommerceMediaCollection.
var clone = currentContent.CreateWritableClone<EntryContentBase>();
var itemToRemove = clone.CommerceMediaCollection.FirstOrDefault(x => x.AssetLink.Equals(contentLink));
clone.CommerceMediaCollection.Remove(itemToRemove);
contentRepo.Save(clone, SaveAction.Publish, AccessLevel.NoAccess);
copied from Felicia
Regarding the down vote, yes I did down vote you - but don't worry it will not hurt your point. I should have said that the information you provided is not enough to guess (the most important part was PIM which I guess this is a Commerce question). As Scott pointed out we aim to improve quality of questions and answers and being voted down here implies that the question is not clear enough. But I should have said that.
When you have improved your question I will remove the down vote or even vote it up.
Hi Scott,
I know that is a way to do it but unfortunately the company I am working for are using a tool from inRiver to provide the CMS with product information.
I did try to add a screenshot of what I was talking about but a message popped up telling me I am not allowed to do so. But thanks for your post in future I will also post code examples of what I have tried.
What is the standard way of finding a product and getting a list of assets that belong to it?
Thanks, James
Hi Quan,
I will leave the post how it is so others can learn from my mistake. I post regulary to Stackoverflow so I should have known better! I was in abit of rush this morning and should have spent more time adding information to my post.
I will try and implement the code you have posted now and will let you know how it goes.
Thanks again for the help
Morning Quan,
You were correct it needed removing from the CommerceMediaCollection but wasnt as simple as using :
var clone = currentContent.CreateWritableClone<EntryContentBase>();
I needed to use the ReferenceConverter to get the root link and then use the ContentLoader to get the descendents using the root link as a parameter. That gave me the child collection of the catalog which I could then loop through to find the Product which had the media associated to it. I had to use the ContentLoaders TryGet method to set the Product. I then used the GetAssets method of Product to get the list of IContentMedia. I could then loop through this list and find the media using the medias ContentLink. I could then do the following:
var data = product.CreateWritableClone<GlobalProduct>();
var itemtoremove = data.CommerceMediaCollection.FirstOrDefault(x => x.AssetLink.Equals(existingMediaData.ContentLink));
data.CommerceMediaCollection.Remove(itemtoremove);
contentRepository.Save(data, SaveAction.Publish, AccessLevel.NoAccess);
Of course, I was not showing the complete code, I was showing only example of how to remove a media from an entry CommerceMediaCollection.
If you want to find where an asset is used, I have something better for you - use ContentProvider.GetReferencesToContentItems(mediaContentLink) would return you list of contents (cms and catalog) that are using that asset
Hi there,
Adding images and deleting images works fine in PIM. But when I go back to the item the media belongs to in the CMS I can see the image is no longer there but the row for it is still there with 'media not found'. I have tried a few things but none have helped so far. Anyone know how to get around this?
Thanks, James