Skip to main content

Referencing Embedded Uploads In Another Asset

This breaks the methodology of embedded uploads in that embedded uploads are only supposed to be used by the asset it is embedded in. If you want many assets to be able to use an upload, you should store that upload in say the /Asset/ Directory.

However, there is a way around this, but this is based on one assumption. That embedded uploads get stored in the same directory on the live site as the asset itself. Given this, you can do the following.


fileName = list.item("the_upload")
// This will return the path and filename to the CMS where the upload is stored.
// ie. '/Myhorse/01/02/abc.gif'
liveSitePath = asset.getLink(list.item("_cmsId"))
// This will return the path and filname to the live site where the asset is stored
// With the assumption that uploads get saved in the same directory, just do a
// little string manipulation and you got it.

Comments

Popular posts from this blog

Parsing XML Documents in the CMS: 2 Methods

To start off with do this: Dim txt Dim fieldStart, fieldEnd Dim xml Dim fields Dim ltxt Dim key Dim value txt = trim(content.item("_cmsEmailBody")) ltxt = lcase(txt) fieldStart = inStr(ltxt, "<root>") fieldEnd = inStr(ltxt, "</root>") if fieldStart >= fieldEnd then content.add "_cmsError", "Invalid email format. No XML data detected." exit Sub end if ' skip the end /root fieldEnd = fieldEnd + 6 set xml = system.createXML() if not xml.loadXML(mid(txt, fieldStart, fieldEnd)) then content.add "_cmsError", "Invalid XML format." exit Sub end if Now there are two ways to parse it. Method 1: set fields = xml.selectSingleNodeAsContent("root") Method 2: set fields = xml.selectSingleNodeAsDic("root") Check to make sure we have the root node: if not isObject(fields) then content.add "_cmsError", "Invalid xml format. Missing root /root node." exit Sub end if If Method 1 ...

Thumbnails from Images that are linked already uploaded to the CMS

' make sure WYSIWYG images don't get too wide using upload.asp value = content.item("_cmsUploadValue") debug.write(value) ext=filename.getextension(content.item("_cmsUploadValue")) ' create a medium size thumbnail if ext="gif" or ext="jpg" then res = image.thumbnail(value, "", 20, 20) if res = "" then content.add "_cmsError", image.errorMsg exit Sub end if content.add "upload#my_photo", res end if %> Then in the post_input.asp we would have the code that would be used to create thumbnails from images that are linked: value = asset.getAbsoluteName(content.item("my_photo")) debug.write(value) 'Process only if selected asset has been uploaded to the /Assets/ folder in the CMS if instr(value, "/Assets/") > 0 then value = "/ChemicalHeritage/ftproot" & value ih = image.load(value) if ih content.add "_cmsError", image.errorMsg exit Sub end if image....

document.getElementByName()

<input type="text" name="somename" value="somevalue1" /> <input type="text" name="somename" value="somevalue2" /> <input type="text" name="somename" value="somevalue3" /> <script type="text/javascript"> var x = document.getElementByName('somename'); // document.getElementByName() returns an array where //x[0].value == "somevalue1"; //x[1].value == "somevalue2" </script> Note: getElementByName() only works for form elemnts if you need other elements a workaround would be to use var element = getElementByTagName() and assign a class to each element then you could look for that class using if element[index].className == "somename".