[英]Node Creation in Magnolia CMS
我正在一個已經啟動的Magnolia CMS項目中。 在開始的時候,我閱讀了文檔並遵循了他們在網絡上開設的學術課程。 之后,我被委托構建一個新模塊。 最簡單的方法是復制一個現有的。 我做到了,但是沒有按預期工作。 我修改了路徑,但仍無法按預期工作。 因此,我發現必須創建一個新模塊必須指向的節點。 我不知道如何創建[mgnl:content]
。 有人對此有經驗並可以幫我嗎? 提前謝謝!
要創建節點,您只需調用MgnlContext.getJCRSession("workspace name").getRootNode().addNode("path/to/my/node", "mgnl:content")
但這不是您想要在此處執行的操作。
您在這里需要做的就是正確編寫模塊描述符,並將其放置在模塊結構中的正確位置。 在文檔中閱讀有關它的更多信息。
您的帖子中的另一個誤解是認為復制模塊是最簡單的制作方法。 那是完全錯誤的。 制作模塊的最佳方法是使用maven原型mvn archetype:generate -DarchetypeCatalog=https://nexus.magnolia-cms.com/content/groups/public/
,在文檔中也有關於它的更多解釋。
您可以通過添加以下代碼來創建新的Node類型:
<?xml version="1.0" encoding="UTF-8"?>
<nodeTypes xmlns:mgnl="http://www.magnolia.info/jcr/mgnl">
<nodeType name="mgnl:navitem" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
<supertypes>
<supertype>mgnl:content</supertype>
</supertypes>
</nodeType>
</nodeTypes>
這應該放在下面:
{mgnl-root}/{mgnl-module-name}/resources/mgnl-nodetypes/navitem.xml
那是我對節點類型的定義:
<nodeTypes
xmlns:rep="internal"
xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
xmlns:mix="http://www.jcp.org/jcr/mix/1.0"
xmlns:mgnl="http://www.magnolia.info/jcr/mgnl"
xmlns:jcr="http://www.jcp.org/jcr/1.0">
<!-- custom node types -->
<nodeType name="mgnl:(YOUR NODETYPE´S NAME)" isMixin="false" hasOrderableChildNodes="true" primaryItemName="">
<supertypes>
<supertype>mgnl:content</supertype>
</supertypes>
</nodeType>
</nodeTypes>
您文件夾中的此定義:\\ src \\ main \\ resources \\ mgnl-nodetypes
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.