요구 사항은 다음과 같습니다.Asset Publisher 포틀릿에 나타나는 링크를 수정하는 방법은 무엇입니까?
새 웹 콘텐츠 (특정 구조에 해당)는 게시 될 때 Asset Publisher 포틀릿 (Asset Publisher의 기본 기능)에서 자동으로 업데이트되어야합니다.
기본적으로 웹 콘텐츠의 제목은 다른 웹 콘텐츠에 대한 애셋 게시자의 링크로 표시됩니다. 대신 구조 A의 요소 (이름)의 내용을 링크로 표시하려고합니다. 이 링크를 클릭하면 해당 웹 컨텐츠가 포함 된 합금 UI 팝업이 열립니다. 이를 위해
내가 새로운 '표시 스타일'후크를 사용하여 JSP를 만든 일이 ( abstracts.jsp 불통).<%
String personName=null;
JournalArticle journalArticle=null;
String myContent=null;
Document document = null;
Node node=null;
Node node1=null;
Node node2=null;
Node node3=null;
int noOfWords=0;
String pic=null;
String aboutMe=null;
double version=0;
try {
version=JournalArticleLocalServiceUtil.getLatestVersion(assetRenderer.getGroupId(), "14405");
journalArticle = JournalArticleLocalServiceUtil.getArticle(assetRenderer.getGroupId() , "14405",version);
myContent = journalArticle.getContent();
document = SAXReaderUtil.read(new StringReader(myContent));
node = document.selectSingleNode("/root/dynamic-element[@name='personName']/dynamic-content");
if (node.getText().length() > 0) {
personName = node.getText();
}
node1 = document.selectSingleNode("/root/dynamic-element[@name='pic']/dynamic-content");
if (node1.getText().length() > 0) {
pic = node1.getText();
}
node2 = document.selectSingleNode("/root/dynamic-element[@name='noOfWords']/dynamic-content");
if (node2.getText().length() > 0) {
noOfWords = Integer.parseInt(node2.getText());
}
node3 = document.selectSingleNode("/root/dynamic-element[@name='aboutMe']/dynamic-content");
if (node3.getText().length() > 0) {
aboutMe = node3.getText(). substring(0,noOfWords)+"....";
}
} catch (PortalException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
%>
그러나 여기 articleId
필요가 하드 코딩 할 :
.jsp
에서 스크립틀릿을 썼다. 여기에 articleId
을 가져오고 싶습니다. 새로운 웹 콘텐츠가 동적으로 게시 될 때입니다.
여기에 어떤 API를 사용해야합니까?
도움을 주시면 감사하겠습니다.
감사합니다.
정말 대단히 도움이되었습니다 ... 내 도움이되었지만 다른 목적은 여전히 해결되지 않았습니다. 링크를 클릭하면 열어야하는 웹 콘텐츠/기사가 필요합니다. url에서 나는 여전히 groupId, articleId, version이 필요할 것입니다. 어떻게해야합니까? – irene
JournalArticle의 인스턴스를 얻었 으면 필요한 모든 항목을 얻을 수 있습니다. journalArticle.getGroupId(), journalArticle.getArticleId(), journalArticle.getVersion(). 작업에 사용하십시오. 성공하지 못했다면 다른 구체적인 질문을 만들어주십시오. 의견에 대답하기가 어려울 것입니다. –
다시 고마워요. 그래.이게 또 다른 질문을 게시 할거야. 나 한테 도울 수 있으면 좋겠다. – irene