...
Code Block |
---|
language | php |
---|
title | /components/messengers/my_messenger/my_messenger.php |
---|
|
<?php
class MyMessenger extends Messenger {
...
public function getConfigurationFields(&$vars = [])
{
// Create the label
$fields = new InputFields();
$my_label = $fields->label("'My Field Label"', "'my_field_label_id"');
$fields->setField($my_label);
return $fields;
}
}
?> |
...
Code Block |
---|
language | php |
---|
title | /components/messengers/my_messenger/my_messenger.php |
---|
|
<?php
class MyMessenger extends Messenger {
...
public function getConfigurationFields(&$vars = [])
{
// Create the label
$fields = new InputFields();
$my_label = $fields->label("'My Field Label"', "'my_field_id"');
// Create the field
$my_field = $fields->fieldText("'my_field_name"', "'default value"', array(['id' => "my_field_id"]));
$fields->setField($my_label);
return $fields;
}
}
?> |
Attaching a Fields to a Label
...
Code Block |
---|
language | php |
---|
title | /components/messengers/my_messenger/my_messenger.php |
---|
|
<?php
class MyMessenger extends Messenger {
...
public function getConfigurationFields(&$vars = [])
{
// Create the label
$fields = new InputFields();
$my_label = $fields->label("'My Field Label"', "'my_field_id"');
// Create the field
$my_field = $fields->fieldText("'my_field_name"', "'default value"', array(['id' => "my_field_id"]));
// Attach the field to the label
$my_label->attach($my_field);
// OR, attach the label to the field, instead
// $my_field->setLabel($my_label);
$fields->setField($my_label);
return $fields;
}
}
?> |
...
Code Block |
---|
language | php |
---|
title | /components/modulesmessengers/my_modulemessenger/my_modulemessenger.php |
---|
|
<?php
class MyMessenger extends Messenger {
...
public function getConfigurationFields(&$vars = [])
{
// Create the label
$fields = new InputFields();
$my_label = $fields->label("'My Field Label"', "'my_field_id"');
// Create and attach the field to the label
$my_label->attach($fields->fieldText("'my_field_name"', "'default value"', array(['id' => "my_field_id"])));
// Attach a tooltip to the label
$my_label->attach($fields->tooltip("'This is my tooltip"'));
$fields->setField($my_label);
return $fields;
}
}
?> |
Note |
---|
title | Tooltips may only be set on top level labels |
---|
|
A tooltip may not be attached to a label that is, itself, attached to a field. |
...
Code Block |
---|
language | php |
---|
title | /components/modulesmessengers/my_modulemessenger/my_modulemessenger.php |
---|
|
<?php
class MyMessenger extends Messenger {
...
public function getPackageFieldsgetConfigurationFields(&$vars =null) [])
{
// Create the label
$fields = new InputFields();
$my_label = $fields->label("'My Field Label"', "'my_field_id"');
// Create a field label displayed next to the checkbox
$field_label = $fields->label("'My Value"', "'my_field_my_value_id"');
// Create and attach the field to the label, set as checked (3rd param) if necessary
$my_label->attach(
$fields->fieldCheckbox("
'my_field_name", "',
'my_value", ',
(isset($vars->my['my_field_name']) && $vars->my['my_field_name'] == "'my_value"'), array(
['id' => "'my_field_my_value_id"), '],
$field_label
)
);
// Attach a tooltip to the label
$my_label->attach($fields->tooltip("'This is my tooltip"'));
$fields->setField($my_label);
return $fields;
}
}
?> |
Creating HTML content
...
Code Block |
---|
language | php |
---|
title | /components/modulesmessengers/my_modulemessenger/my_modulemessenger.php |
---|
|
<?php
class MyMessenger extends Messenger {
...
public function getPackageFieldsgetConfigurationFields(&$vars =null) [])
{
$fields = new InputFields();
$fields->setHtml("'
<script type=\"text/javascript\">alert(\'ok!\');</script>
");
}
}
?> |
Overriding Package/Service Fields
Generally it is a good idea to name your fields such that they work within the scope of your own messenger. For example, if your messenger requires a field named "term", naming it instead "my_messenger_term" will prevent conflicts with fields used by the system. However, in some cases you may want to allow your messenger to set a service field directly. One such example is the quantity field (qty). Here's how you can set a quantity field when creating a service.
Code Block |
---|
language | php |
---|
title | /components/modules/my_module/my_module.php |
---|
|
<?php
class MyMessenger extends Messenger {
...
public function getAdminAddFields($package, $vars=null) {
Loader::loadHelpers($this, array("Html"));
$fields = new InputFields();
// Create qty label
$qty = $fields->label("Quantity", "my_qty");
// Create qty field and attach to qty label
$qty->attach($fields->fieldText("qty", $this->Html->ifSet($vars->qty), array('id' => "my_qty")));
// Set the label as a field
$fields->setField($qty);
}
}
?> |