Доступ к companyhome в сustom control template

Нарисовала собственное поле myfield.ftl - список неких кодов, поместила в tomcat/shared/classes/alfresco/web-extension/site-webscripts. В share-config-custom.xml указала поле

<field id="my:field" >
 <control template="/myfield.ftl" />
</field>

Поле вырисовалось.

Теперь я хочу достать список кодов, пропарсив xml, что лежит в companyhome/XML/codes.xml

<#assign v = ["001", "002"] />

<#assign xmlName="XML/codes.xml" />
 <#if companyhome?exists>
	<#assign pdoc=companyhome.childByNamePath[xmlName]>
<#else>
	<#assign v = v + ["555"] >
</#if>
 
<#if pdoc??>
	<#assign dom=pdoc.xmlNodeModel />
	<#list dom.codes as code>
		<#assign v = v + [code.name] >
	</#list> 
</#if>

Поле вырисовывается. Но значения в списке 001, 002 и 555, хотя путь к codes.xml правильный.

Пытаюсь обратиться напрямую к companyhome, но падает уже на  "companyhome is undeined" Как решить эту проблему, как доступиться к companyhome?

Комментарии

fufler аватар

Шаблоны контролов обрабатываются Share (не Repository), поэтому в них нет доступа к объектам в хранилище. Если сильно хочется в контроле взаимодействовать с Repository, то придётся использовать клиентский js, который будет выполнять нужные действия через Remote API.

Angelina аватар

Спасибо!