OpenCMS - как развернуть плоскую структуру вместо структуры папок/древовидных

Я хотел бы иметь структуру дерева/папок для своего контента, но хотел бы, чтобы все страницы обслуживались в виде простого URL-адреса. Например.

страница, расположенная по адресу /cat1/subcat2/tulips.html, будет обслуживаться по адресу:

http://example.com/tulips.html

а страница, расположенная по адресу /cat5/roses.html, будет обслуживаться по адресу:

http://example.com/roses.html

Мне нужно, чтобы все ссылки автоматически вычислялись и гарантировали отсутствие конфликтов.

Возможно ли это с opencms?

Спасибо,

Асаф


person Assafn    schedule 20.04.2011    source источник


Ответы (1)


Грубый план, как я бы подошел к этому:

Сначала вы получите список всех ресурсов через <cms:contentload> (http://www.bng-galiza.org/opencms/opencms/alkacon-documentation/documentation_taglib/docu_tag_contentload.html), taglib или соответствующий java API в java-коде, так как вам все равно нужно кодирование, а затем создайте новые ресурсы типа «внешняя ссылка» в корневой папке OpenCms, указывающие на ваши цели; вероятно, используя что-то вроде

getCms().createResource(newFileName, templateFile.getTypeId());

или аналогичный метод (поскольку внешняя ссылка не является структурированным контентом) для него.

Вы можете обернуть эту логику в класс java и запланировать ее как запланированное задание, я думаю, этого достаточно, если вам это не нужно сразу и некоторая задержка приемлема. В противном случае вам нужно будет подключить его к потоку публикации.

person Mathias Conradt    schedule 21.04.2011