class _nodereference_CrumbsPlugin in Crumbs, the Breadcrumbs suite 6.2
Same name and namespace in other branches
- 6 plugins/crumbs.nodereference.inc \_nodereference_CrumbsPlugin
Implementation of class hook CrumbsPlugin on the behalf of menu module.
Hierarchy
- class \_nodereference_CrumbsPlugin
Expanded class hierarchy of _nodereference_CrumbsPlugin
File
- plugins/
crumbs.nodereference.inc, line 19
View source
class _nodereference_CrumbsPlugin {
protected $_field_key;
protected $_field_info;
function __construct($field_key, $field_info) {
$this->_field_key = $field_key;
$this->_field_info = $field_info;
}
/**
* Tell crumbs that this object defines more than one rule.
* Each returned rule will be shown in the config form to move up and down.
*/
function define($h) {
$h
->enabledByDefault(FALSE);
foreach ($this
->_getReferenceableTypes() as $type_name) {
$h
->addRule($type_name);
}
}
function disabledByDefault() {
return array(
'*',
);
}
/**
* Match "node/%" router path
*/
function findParent__node_x($path, $item) {
$node = $item['map'][0];
$result = array();
if ($ref_nid = $this
->_readParentNodeReference($node)) {
$result[$node->type] = 'node/' . $ref_nid;
}
// return all candidates, so crumbs can sort them according to priority settings.
return $result;
}
protected function _getReferenceableTypes() {
$types = $this->_field_info['referenceable_types'];
return is_array($types) ? $types : array();
}
protected function _readParentNodeReference($node) {
$values = array();
$field_key = $this->_field_key;
$field = $node->{$field_key};
if (is_array($field) && !empty($field[0]['nid'])) {
return (int) $field[0]['nid'];
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
_nodereference_CrumbsPlugin:: |
protected | property | ||
_nodereference_CrumbsPlugin:: |
protected | property | ||
_nodereference_CrumbsPlugin:: |
function | Tell crumbs that this object defines more than one rule. Each returned rule will be shown in the config form to move up and down. | ||
_nodereference_CrumbsPlugin:: |
function | |||
_nodereference_CrumbsPlugin:: |
function | Match "node/%" router path | ||
_nodereference_CrumbsPlugin:: |
protected | function | ||
_nodereference_CrumbsPlugin:: |
protected | function | ||
_nodereference_CrumbsPlugin:: |
function |