2016-07-06 6 views
6

मुझे पता चला है कि journalContentUtil.getContent विधि का उपयोग कर Liferay 6.2 थीम में वेबकंटेंट को कैसे एम्बेड किया जाए। मेरा सवाल यह है कि लिफ़ेरे 7 में एक ही चीज़ कैसे करें?फ्रीमार्कर Liferay 7 थीम में WebContent को कैसे एम्बेड करें?

उत्तर

1

journalContentUtil का सबसे नज़दीकी वर्ग JournalContentImpl है और इसमें getContent से संबंधित लगभग समान विधियां हैं। आप यहां कोड देख सकते हैं JournalContentImpl

+0

'जर्नलकंटेंटआईएमएलएल' फ्रीमार्कर/वेग संदर्भ में एक एक्सेसिबिल सेवा में नहीं –

+0

आपने अपनी सेवा कक्षा 'जर्नलकंटेंट' के साथ प्रयास किया, है ना? – KLajdPaja

1

Liferay 7 में वेबकंटेंट एम्बेड करने के लिए, सबसे पहले, आपको नियंत्रण कक्ष -> कॉन्फ़िगरेशन -> सिस्टम सेटिंग्स -> फाउंडेशन -> फ्रीमार्कर इंजन -> प्रतिबंधित चर में सेवा लोकेटर को सक्षम करना होगा। वहाँ आप निकाल सकते हैं serviceLocator

अब आप आवेदन प्रदर्शन खाके में उदाहरण के लिए उपयोग कर सकते हैं (Freemarker):

<#assign liferay_ui = taglibLiferayHash["/META-INF/liferay-ui.tld"] /> 

<#assign journalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService") /> 

और फिर WebContent कर

getArticleContent(long groupId, String articleId, double version, String viewMode, String ddmTemplateKey, String languageId, ThemeDisplay themeDisplay) 
+0

तकनीकी रूप से, मुझे लगता है कि यह उत्तर अधिक सटीक है, हालांकि मुझे @ अभिषेक-सुथार का उत्तर पसंद है क्योंकि सामग्री को पोर्टलेट नियंत्रणों के साथ जोड़ा जाएगा और व्यवस्थापक को संपादित करने के लिए यह आसान है। अगर आप एचटीएमएल जोड़ना चाहते हैं, तो यह विधि सबसे अच्छा काम करती है। कोड की आखिरी पंक्ति को पूरक करने के लिए, यह एक उदाहरण है कि विधि ''' <#assign article = journalArticleLocalService.fetchArticle (group_id, "foter")> '' '' '' $ {journalArticleLocalService.getArticleContent (आलेख, article.getDDMTemplateKey(), "देखें", लोकेल, थीम डिस्प्ले)} '' – gus3001

4

मैं पुनः प्राप्त करने के journalArticleLocalService का उपयोग Liferay 7/DXP में कस्टम ftl टेम्पलेट के माध्यम से वेब सामग्री को ठीक करने का तरीका मिला है।

नीचे, नमूना कोड है

<#assign VOID = freeMarkerPortletPreferences.setValue("portletSetupPortletDecoratorId", "barebone") /> 
<#assign theme_groupID = htmlUtil.escape(theme_display.getCompanyGroupId()?string) /> 
<#assign VOID = freeMarkerPortletPreferences.setValue("groupId", '${group_id}') /> 
<#assign VOID = freeMarkerPortletPreferences.setValue("articleId", "yourarticleid") /> 



     <@liferay_portlet["runtime"] 
     defaultPreferences="${freeMarkerPortletPreferences}" 
     portletProviderAction=portletProviderAction.VIEW 
     instanceId="footercontent" 
     portletName="com_liferay_journal_content_web_portlet_JournalContentPortlet" /> 
     ${freeMarkerPortletPreferences.reset()} 

यकीन articleId जो आप वरीयताओं में प्रदान कर रहे हैं groupId.Means समूह/साइट चाहिए webcontent शामिल किया जा रहा है सुनिश्चित करें।

+0

यह बहुत अच्छा है, मेरे लिए काम करें! मेरा सवाल यह है कि, आप यह कैसे पता लगाते हैं कि यह कैसे करें? @liferay_portlet ["रनटाइम"] का उपयोग करने के तरीके पर मुझे कोई दस्तावेज नहीं मिला – gus3001

संबंधित मुद्दे