Ordering attributes within a node: Difference between revisions
Appearance
Despam |
changed explanation, added reference to setOrder() |
||
| Line 3: | Line 3: | ||
==Ordering attributes within a node== | ==Ordering attributes within a node== | ||
By default, the order in which | By default, fields appear in the order in which they appear in the database. To control the order in which attributes appear within a node (i.e. on a "page"), use <tt>atkMetaPolicy::setOrder()</tt>, <tt>atkMetaPolicy::setIncludes()</tt> or the <tt>$order</tt> argument to either <tt>atkMetaNode::add()</tt> or <tt>atkMetaPolicy::add()</tt>. | ||
For example: | |||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
$ | public static function meta(atkMetaPolicy $policy) { | ||
$policy->add("invoice_start_date", "atkDateAttribute"); | |||
$policy->add("invoice_end_date", "atkDateAttribute"); | |||
$policy->setOrder(array( | |||
"invoice_start_date", | |||
"invoice_end_date" | |||
)); | |||
} | |||
</syntaxhighlight> | </syntaxhighlight> | ||
(The order in which fields are added has no effect because fields are added to nodes before both the settings from <tt>atkMetaNode::meta()</tt> are applied, and the <tt>atkMetaNode::postMeta()</tt> method is run--"adding" a field via either of these fields reconfigures an existing node.) | |||
Revision as of 11:05, 14 July 2008
|
ATK Howto: Ordering attributes within a node
|
Ordering attributes within a node
By default, fields appear in the order in which they appear in the database. To control the order in which attributes appear within a node (i.e. on a "page"), use atkMetaPolicy::setOrder(), atkMetaPolicy::setIncludes() or the $order argument to either atkMetaNode::add() or atkMetaPolicy::add().
For example:
public static function meta(atkMetaPolicy $policy) {
$policy->add("invoice_start_date", "atkDateAttribute");
$policy->add("invoice_end_date", "atkDateAttribute");
$policy->setOrder(array(
"invoice_start_date",
"invoice_end_date"
));
}
(The order in which fields are added has no effect because fields are added to nodes before both the settings from atkMetaNode::meta() are applied, and the atkMetaNode::postMeta() method is run--"adding" a field via either of these fields reconfigures an existing node.)