|
|
| (5 intermediate revisions by 2 users not shown) |
| Line 1: |
Line 1: |
| − | '''JNode''' is a class that allows you to create nodes, normaly used as "leaves" of object-trees. Often used in conjunction with the [[JTree]] class.
| + | This class is available in the following Joomla versions:- |
| − | | + | <splist showpath=notparent /> |
| − | ===Availability===
| + | <noinclude>[[Category:Platform JClasses]][[Category:JNode]]</noinclude> |
| − | {{JVer|1.5|From Joomla 1.5}} {{JVer|1.6|Joomla 1.6}}
| + | |
| − | | + | |
| − | ===Defined in===
| + | |
| − | /libraries/joomla/base/tree.php
| + | |
| − | | + | |
| − | ===Extends===
| + | |
| − | * [[JObject]]
| + | |
| − | | + | |
| − | | + | |
| − | ===Get and Set Methods===
| + | |
| − | Properties which do not have specific get or set methods listed here can be retrieved or set using the inherited [[JObject/get|JObject->get]] method.
| + | |
| − | {| class="wikitable"
| + | |
| − | |-
| + | |
| − | !Get method
| + | |
| − | !Set method
| + | |
| − | !Description
| + | |
| − | !Property
| + | |
| − | |-
| + | |
| − | |[[JNode/getParent|getParent]]
| + | |
| − | |[[JNode/setParent|setParent]]
| + | |
| − | |Gets/Sets the parent of the Node. The parent should also be a JNode object.
| + | |
| − | |<code>$_parent</code>
| + | |
| − | |}
| + | |
| − | | + | |
| − | ===Other Methods=== | + | |
| − | {| class="wikitable"
| + | |
| − | |-
| + | |
| − | !Method name
| + | |
| − | !Description
| + | |
| − | |-
| + | |
| − | |[[JNode/__construct|__construct]]
| + | |
| − | |Constructor
| + | |
| − | |-
| + | |
| − | |[[JNode/addChild|addChild]]
| + | |
| − | |Adds a child to the node. Should also be a JNode object.
| + | |
| − | |-
| + | |
| − | |[[JNode/getChildren|getChildren]]
| + | |
| − | |Returns array of all Child-Nodes of this node
| + | |
| − | |-
| + | |
| − | |[[JNode/hasChildren|hasChildren]]
| + | |
| − | |Returns true, if this node has children
| + | |
| − | |}
| + | |
| − | | + | |
| − | ===Importing===
| + | |
| − | <source lang="php">jimport( 'joomla.base.tree' );</source>
| + | |
| − | | + | |
| − | ===See also===
| + | |
| − | * [http://api.joomla.org/Joomla-Framework/Base/JNode.html JNode on api.joomla.org]
| + | |
| − | * [[JTree]]
| + | |
| − | <noinclude>[[Category:Development]][[Category:Framework]][[Category:JNode]]</noinclude> | + | |
| − | | + | |
| − | ==Examples ==
| + | |
| − | | + | |
| − | JTree and JNode can be used to create and process simple tree structures. Let's see how this works for JNode with a simple example.
| + | |
| − | | + | |
| − | We want to create the Family Tree of the Smiths. Granny Barbara has two daughters. Stefanie and Aunti Sue. Stefanie has two children, Peter and Stewie. Auntie Sue doesn't have children.
| + | |
| − | | + | |
| − | Let's take a look how we can represent this familiy in an object tree.
| + | |
| − | <source lang="php">
| + | |
| − | $barbara = new JNode();
| + | |
| − | $stefanie = new JNode();
| + | |
| − | $sue = new JNode();
| + | |
| − | $peter = new JNode();
| + | |
| − | $stewie = new JNode();
| + | |
| − | | + | |
| − | //Granny Barbara has two children, stefanie, and sue
| + | |
| − | $barbara->addChild($stefanie);
| + | |
| − | $barbara->addChild($sue);
| + | |
| − | | + | |
| − | /*
| + | |
| − | * Sometimes we want declare parent-child relationships the other way around.
| + | |
| − | * We can also do that
| + | |
| − | */
| + | |
| − | | + | |
| − | $peter->setParent($stefanie);
| + | |
| − | $stewie->setParent($stefanie);
| + | |
| − | </source>
| + | |