function ctools_context_info
Provide a list of the ways contexts can be embedded.
This provides a full list of context types that the tool understands and can let modules utilize.
10 calls to ctools_context_info()
- ctools_context_add_item_table in includes/
context-admin.inc - Add the context table to the page.
- ctools_context_add_item_table_buttons in includes/
context-admin.inc - ctools_context_add_item_to_form in includes/
context-admin.inc - Add a row to the form. Used both in the main form and by the ajax to add an item.
- ctools_context_ajax_item_add in includes/
context-admin.inc - Ajax entry point to add an context
- ctools_context_ajax_item_delete in includes/
context-admin.inc - Ajax entry point to edit an item
File
-
includes/
context-admin.inc, line 18
Code
function ctools_context_info($type = NULL) {
static $info = NULL;
// static doesn't work with functions like t().
if (empty($info)) {
$info = array(
'argument' => array(
'title' => t('Arguments'),
'singular title' => t('argument'),
'description' => '',
// t("Arguments are parsed from the URL and translated into contexts that may be added to the display via the 'content' tab. These arguments are parsed in the order received, and you may use % in your URL to hold the place of an object; the rest of the arguments will come after the URL. For example, if the URL is node/%/panel and your user visits node/1/panel/foo, the first argument will be 1, and the second argument will be foo."),
'add button' => t('Add argument'),
'context function' => 'ctools_get_argument',
'key' => 'arguments',
// the key that data will be stored on an object, eg $panel_page
'sortable' => TRUE,
'settings' => 'argument_settings',
),
'relationship' => array(
'title' => t('Relationships'),
'singular title' => t('relationship'),
'description' => '',
// t('Relationships are contexts that are created from already existing contexts; the add relationship button will only appear once there is another context available. Relationships can load objects based upon how they are related to each other; for example, the author of a node, or a taxonomy term attached to a node, or the vocabulary of a taxonomy term.'),
'add button' => t('Add relationship'),
'context function' => 'ctools_get_relationship',
'key' => 'relationships',
'sortable' => FALSE,
'settings' => 'relationship_settings',
),
'context' => array(
'title' => t('Contexts'),
'singular title' => t('context'),
'description' => '',
// t('Contexts are embedded directly into the panel; you generally must select an object in the panel. For example, you could select node 5, or the term "animals" or the user "administrator"'),
'add button' => t('Add context'),
'context function' => 'ctools_get_context',
'key' => 'contexts',
'sortable' => FALSE,
'settings' => 'context_settings',
),
'requiredcontext' => array(
'title' => t('Required contexts'),
'singular title' => t('required context'),
'description' => '',
// t('Required contexts are passed in from some external source, such as a containing panel. If a mini panel has required contexts, it can only appear when that context is available, and therefore will not show up as a standard Drupal block.'),
'add button' => t('Add required context'),
'context function' => 'ctools_get_context',
'key' => 'requiredcontexts',
'sortable' => FALSE,
),
);
}
if ($type === NULL) {
return $info;
}
return $info[$type];
}