class FacebookCommentsBlock in Facebook Comments Block 8.2
Same name and namespace in other branches
- 8 src/Plugin/Block/FacebookCommentsBlock.php \Drupal\facebook_comments_block\Plugin\Block\FacebookCommentsBlock
Provides a 'Facebook Comments Block' block.
Drupal\Core\Block\BlockBase gives us a very useful set of basic functionality for this configurable block. We can just fill in a few of the blanks with defaultConfiguration(), blockForm(), blockSubmit(), and build().
Plugin annotation
@Block(
id = "facebook_comments_block",
admin_label = @Translation("Facebook Comments Block"),
category = @Translation("Social")
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Component\Plugin\ContextAwarePluginBase implements ContextAwarePluginInterface
- class \Drupal\Core\Plugin\ContextAwarePluginBase implements CacheableDependencyInterface, ContextAwarePluginInterface uses DependencySerializationTrait, StringTranslationTrait, TypedDataTrait
- class \Drupal\Core\Block\BlockBase implements BlockPluginInterface, PluginWithFormsInterface, PreviewFallbackInterface uses BlockPluginTrait, ContextAwarePluginAssignmentTrait
- class \Drupal\facebook_comments_block\Plugin\Block\FacebookCommentsBlock
- class \Drupal\Core\Block\BlockBase implements BlockPluginInterface, PluginWithFormsInterface, PreviewFallbackInterface uses BlockPluginTrait, ContextAwarePluginAssignmentTrait
- class \Drupal\Core\Plugin\ContextAwarePluginBase implements CacheableDependencyInterface, ContextAwarePluginInterface uses DependencySerializationTrait, StringTranslationTrait, TypedDataTrait
- class \Drupal\Component\Plugin\ContextAwarePluginBase implements ContextAwarePluginInterface
Expanded class hierarchy of FacebookCommentsBlock
File
- src/
Plugin/ Block/ FacebookCommentsBlock.php, line 23
Namespace
Drupal\facebook_comments_block\Plugin\BlockView source
class FacebookCommentsBlock extends BlockBase {
/**
* {@inheritdoc}
*/
public function blockForm($form, FormStateInterface $form_state) {
$form = parent::blockForm($form, $form_state);
$config = $this
->getConfiguration();
$form['facebook_comments_settings'] = array(
'#type' => 'fieldset',
'#title' => $this
->t('Facebook comments box settings'),
'#description' => $this
->t('Configure facebook comments box.'),
'#collapsible' => FALSE,
);
$form['facebook_comments_settings']['facebook_comments_block_settings_app_id'] = array(
'#type' => 'textfield',
'#title' => $this
->t('Facebook Application ID'),
'#default_value' => isset($config['facebook_comments_block_settings_app_id']) ? $config['facebook_comments_block_settings_app_id'] : '',
'#maxlength' => 20,
'#description' => $this
->t('Optional: Enter Facebook App ID.'),
);
$form['facebook_comments_settings']['facebook_comments_block_settings_domain'] = array(
'#type' => 'textfield',
'#title' => $this
->t('Main domain'),
'#default_value' => isset($config['facebook_comments_block_settings_domain']) ? $config['facebook_comments_block_settings_domain'] : '',
'#maxlength' => 75,
'#description' => $this
->t('Optional: If you have more than one domain you can set the main domain for facebook comments box to use the same commenting widget across all other domains.<br />ex: <i>http://www.mysite.com</i>'),
'#required' => FALSE,
);
$form['facebook_comments_settings']['facebook_comments_block_settings_lang'] = array(
'#type' => 'select',
'#title' => $this
->t('Language'),
'#options' => array(
'af_ZA' => $this
->t('Afrikaans'),
'ak_GH' => $this
->t('Akan'),
'am_ET' => $this
->t('Amharic'),
'ar_AR' => $this
->t('Arabic'),
'as_IN' => $this
->t('Assamese'),
'ay_BO' => $this
->t('Aymara'),
'az_AZ' => $this
->t('Azerbaijani'),
'be_BY' => $this
->t('Belarusian'),
'bg_BG' => $this
->t('Bulgarian'),
'bn_IN' => $this
->t('Bengali'),
'br_FR' => $this
->t('Breton'),
'bs_BA' => $this
->t('Bosnian'),
'ca_ES' => $this
->t('Catalan'),
'cb_IQ' => $this
->t('Sorani Kurdish'),
'ck_US' => $this
->t('Cherokee'),
'co_FR' => $this
->t('Corsican'),
'cs_CZ' => $this
->t('Czech'),
'cx_PH' => $this
->t('Cebuano'),
'cy_GB' => $this
->t('Welsh'),
'da_DK' => $this
->t('Danish'),
'de_DE' => $this
->t('German'),
'el_GR' => $this
->t('Greek'),
'en_GB' => $this
->t('English - UK'),
'en_IN' => $this
->t('English - India'),
'en_PI' => $this
->t('English - Pirate'),
'en_UD' => $this
->t('English - Upside Down'),
'en_US' => $this
->t('English - US'),
'eo_EO' => $this
->t('Esperanto'),
'es_CL' => $this
->t('Spanish - Chile'),
'es_CO' => $this
->t('Spanish - Colombia'),
'es_ES' => $this
->t('Spanish - Spain'),
'es_LA' => $this
->t('Spanish'),
'es_MX' => $this
->t('Spanish - Mexico'),
'es_VE' => $this
->t('Spanish - Venezuela'),
'et_EE' => $this
->t('Estonian'),
'eu_ES' => $this
->t('Basque'),
'fa_IR' => $this
->t('Persian'),
'fb_LT' => $this
->t('Leet Speak'),
'ff_NG' => $this
->t('Fulah'),
'fi_FI' => $this
->t('Finnish'),
'fo_FO' => $this
->t('Faroese'),
'fr_CA' => $this
->t('French - Canada'),
'fr_FR' => $this
->t('French - France'),
'fy_NL' => $this
->t('Frisian'),
'ga_IE' => $this
->t('Irish'),
'gl_ES' => $this
->t('Galician'),
'gn_PY' => $this
->t('Guarani'),
'gu_IN' => $this
->t('Gujarati'),
'gx_GR' => $this
->t('Classical Greek'),
'ha_NG' => $this
->t('Hausa'),
'he_IL' => $this
->t('Hebrew'),
'hi_IN' => $this
->t('Hindi'),
'hr_HR' => $this
->t('Croatian'),
'ht_HT' => $this
->t('Haitian Creole'),
'hu_HU' => $this
->t('Hungarian'),
'hy_AM' => $this
->t('Armenian'),
'id_ID' => $this
->t('Indonesian'),
'ig_NG' => $this
->t('Igbo'),
'is_IS' => $this
->t('Icelandic'),
'it_IT' => $this
->t('Italian'),
'ja_JP' => $this
->t('Japanese'),
'ja_KS' => $this
->t('Japanese - Kansai'),
'jv_ID' => $this
->t('Javanese'),
'ka_GE' => $this
->t('Georgian'),
'kk_KZ' => $this
->t('Kazakh'),
'km_KH' => $this
->t('Khmer'),
'kn_IN' => $this
->t('Kannada'),
'ko_KR' => $this
->t('Korean'),
'ku_TR' => $this
->t('Kurdish - Kurmanji'),
'ky_KG' => $this
->t('Kyrgyz'),
'la_VA' => $this
->t('Latin'),
'lg_UG' => $this
->t('Ganda'),
'li_NL' => $this
->t('Limburgish'),
'ln_CD' => $this
->t('Lingala'),
'lo_LA' => $this
->t('Lao'),
'lt_LT' => $this
->t('Lithuanian'),
'lv_LV' => $this
->t('Latvian'),
'mg_MG' => $this
->t('Malagasy'),
'mi_NZ' => $this
->t('Māori'),
'mk_MK' => $this
->t('Macedonian'),
'ml_IN' => $this
->t('Malayalam'),
'mn_MN' => $this
->t('Mongolian'),
'mr_IN' => $this
->t('Marathi'),
'ms_MY' => $this
->t('Malay'),
'mt_MT' => $this
->t('Maltese'),
'my_MM' => $this
->t('Burmese'),
'nb_NO' => $this
->t('Norwegian - bokmal'),
'nd_ZW' => $this
->t('Ndebele'),
'ne_NP' => $this
->t('Nepali'),
'nl_BE' => $this
->t('Dutch - België'),
'nl_NL' => $this
->t('Dutch'),
'nn_NO' => $this
->t('Norwegian - nynorsk'),
'ny_MW' => $this
->t('Chewa'),
'or_IN' => $this
->t('Oriya'),
'pa_IN' => $this
->t('Punjabi'),
'pl_PL' => $this
->t('Polish'),
'ps_AF' => $this
->t('Pashto'),
'pt_BR' => $this
->t('Portuguese - Brazil'),
'pt_PT' => $this
->t('Portuguese - Portugal'),
'qc_GT' => $this
->t('Quiché'),
'qu_PE' => $this
->t('Quechua'),
'rm_CH' => $this
->t('Romansh'),
'ro_RO' => $this
->t('Romanian'),
'ru_RU' => $this
->t('Russian'),
'rw_RW' => $this
->t('Kinyarwanda'),
'sa_IN' => $this
->t('Sanskrit'),
'sc_IT' => $this
->t('Sardinian'),
'se_NO' => $this
->t('Northern Sámi'),
'si_LK' => $this
->t('Sinhala'),
'sk_SK' => $this
->t('Slovak'),
'sl_SI' => $this
->t('Slovenian'),
'sn_ZW' => $this
->t('Shona'),
'so_SO' => $this
->t('Somali'),
'sq_AL' => $this
->t('Albanian'),
'sr_RS' => $this
->t('Serbian'),
'sv_SE' => $this
->t('Swedish'),
'sw_KE' => $this
->t('Swahili'),
'sy_SY' => $this
->t('Syriac'),
'sz_PL' => $this
->t('Silesian'),
'ta_IN' => $this
->t('Tamil'),
'te_IN' => $this
->t('Telugu'),
'tg_TJ' => $this
->t('Tajik'),
'th_TH' => $this
->t('Thai'),
'tk_TM' => $this
->t('Turkmen'),
'tl_PH' => $this
->t('Filipino'),
'tl_ST' => $this
->t('Klingon'),
'tr_TR' => $this
->t('Turkish'),
'tt_RU' => $this
->t('Tatar'),
'tz_MA' => $this
->t('Tamazight'),
'uk_UA' => $this
->t('Ukrainian'),
'ur_PK' => $this
->t('Urdu'),
'uz_UZ' => $this
->t('Uzbek'),
'vi_VN' => $this
->t('Vietnamese'),
'wo_SN' => $this
->t('Wolof'),
'xh_ZA' => $this
->t('Xhosa'),
'yi_DE' => $this
->t('Yiddish'),
'yo_NG' => $this
->t('Yoruba'),
'zh_CN' => $this
->t('Simplified Chinese - China'),
'zh_HK' => $this
->t('Traditional Chinese - Hong Kong'),
'zh_TW' => $this
->t('Traditional Chinese - Taiwan'),
'zu_ZA' => $this
->t('Zulu'),
'zz_TR' => $this
->t('Zazaki'),
),
'#default_value' => isset($config['facebook_comments_block_settings_lang']) ? $config['facebook_comments_block_settings_lang'] : 'en_US',
'#description' => $this
->t('Select the default language of the comments plugin.'),
'#required' => TRUE,
);
$form['facebook_comments_settings']['facebook_comments_block_settings_color_schema'] = array(
'#type' => 'select',
'#title' => $this
->t('Color scheme'),
'#options' => array(
'light' => $this
->t('Light'),
'dark' => $this
->t('Dark'),
),
'#default_value' => isset($config['facebook_comments_block_settings_color_schema']) ? $config['facebook_comments_block_settings_color_schema'] : 'light',
'#description' => $this
->t('Set the color schema of facebook comments box.'),
'#required' => TRUE,
);
$form['facebook_comments_settings']['facebook_comments_block_settings_order'] = array(
'#type' => 'select',
'#title' => $this
->t('Order of comments'),
'#options' => array(
'social' => $this
->t('Top'),
'reverse_time' => $this
->t('Newest'),
'time' => $this
->t('Oldest'),
),
'#default_value' => isset($config['facebook_comments_block_settings_order']) ? $config['facebook_comments_block_settings_order'] : 'social',
'#description' => $this
->t('Set the order of comments.'),
'#required' => TRUE,
);
$form['facebook_comments_settings']['facebook_comments_block_settings_number_of_posts'] = array(
'#type' => 'textfield',
'#title' => $this
->t('Number of posts'),
'#default_value' => isset($config['facebook_comments_block_settings_number_of_posts']) ? $config['facebook_comments_block_settings_number_of_posts'] : '5',
'#maxlength' => 3,
'#description' => $this
->t('Select how many posts you want to display by default.'),
);
$form['facebook_comments_settings']['facebook_comments_block_settings_width_unit'] = array(
'#type' => 'select',
'#title' => $this
->t('Width'),
'#options' => array(
'percentage' => $this
->t('100%'),
'pixel' => $this
->t('Pixels'),
),
'#default_value' => isset($config['facebook_comments_block_settings_width_unit']) ? $config['facebook_comments_block_settings_width_unit'] : 'percentage',
'#description' => $this
->t('Set width of facebook comments box.'),
'#required' => TRUE,
);
$form['facebook_comments_settings']['facebook_comments_block_settings_width'] = array(
'#type' => 'textfield',
'#default_value' => isset($config['facebook_comments_block_settings_width']) ? $config['facebook_comments_block_settings_width'] : '500',
'#maxlength' => 4,
'#description' => $this
->t('Enter the with in <em>px</em>.'),
'#required' => TRUE,
'#states' => array(
'visible' => array(
':input[id="edit-settings-facebook-comments-settings-facebook-comments-block-settings-width-unit"]' => array(
'value' => 'pixel',
),
),
'required' => array(
':input[id="edit-settings-facebook-comments-settings-facebook-comments-block-settings-width-unit"]' => array(
'value' => 'pixel',
),
),
),
);
return $form;
}
/**
* {@inheritdoc}
*/
public function blockSubmit($form, FormStateInterface $form_state) {
$this
->setConfigurationValue('facebook_comments_block_settings_app_id', $form_state
->getValue(array(
'facebook_comments_settings',
'facebook_comments_block_settings_app_id',
)));
$this
->setConfigurationValue('facebook_comments_block_settings_domain', rtrim(rtrim($form_state
->getValue(array(
'facebook_comments_settings',
'facebook_comments_block_settings_domain',
))), '/'));
$this
->setConfigurationValue('facebook_comments_block_settings_lang', $form_state
->getValue(array(
'facebook_comments_settings',
'facebook_comments_block_settings_lang',
)));
$this
->setConfigurationValue('facebook_comments_block_settings_color_schema', $form_state
->getValue(array(
'facebook_comments_settings',
'facebook_comments_block_settings_color_schema',
)));
$this
->setConfigurationValue('facebook_comments_block_settings_order', $form_state
->getValue(array(
'facebook_comments_settings',
'facebook_comments_block_settings_order',
)));
$this
->setConfigurationValue('facebook_comments_block_settings_number_of_posts', $form_state
->getValue(array(
'facebook_comments_settings',
'facebook_comments_block_settings_number_of_posts',
)));
$this
->setConfigurationValue('facebook_comments_block_settings_width_unit', $form_state
->getValue(array(
'facebook_comments_settings',
'facebook_comments_block_settings_width_unit',
)));
$this
->setConfigurationValue('facebook_comments_block_settings_width', $form_state
->getValue(array(
'facebook_comments_settings',
'facebook_comments_block_settings_width',
)));
}
/**
* {@inheritdoc}
*/
public function blockValidate($form, FormStateInterface $form_state) {
$main_domain = $form_state
->getValue(array(
'facebook_comments_settings',
'facebook_comments_block_settings_domain',
));
if ($main_domain !== '' && !UrlHelper::isValid($main_domain, TRUE)) {
$this
->messenger()
->addError($this
->t('Main domain must be a valid absolute URL.'));
$form_state
->setErrorByName('facebook_comments_block_settings_domain', $this
->t('Main domain must be a valid absolute URL.'));
}
$number_of_posts = $form_state
->getValue(array(
'facebook_comments_settings',
'facebook_comments_block_settings_number_of_posts',
));
if (!is_numeric($number_of_posts)) {
$this
->messenger()
->addError($this
->t('Number of posts must be a valid number.'));
$form_state
->setErrorByName('facebook_comments_block_settings_number_of_posts', $this
->t('Number of posts must be a valid number.'));
}
$width = $form_state
->getValue(array(
'facebook_comments_settings',
'facebook_comments_block_settings_width',
));
if (!is_numeric($width)) {
$this
->messenger()
->addError($this
->t('Width must be a valid number.'));
$form_state
->setErrorByName('facebook_comments_block_settings_width', $this
->t('Width must be a valid number.'));
}
}
/**
* {@inheritdoc}
*/
public function build() {
global $base_url;
$config = $this
->getConfiguration();
$current_unaliased_path = \Drupal::service('path.current')
->getPath();
$current_aliased_path = \Drupal::service('path_alias.manager')
->getAliasByPath($current_unaliased_path);
$main_domain = $base_url;
if ($config['facebook_comments_block_settings_domain'] !== '') {
$main_domain = $config['facebook_comments_block_settings_domain'];
}
$url = $main_domain . $current_aliased_path;
$facebook_app_id = $config['facebook_comments_block_settings_app_id'];
$facebook_app_id_script = $facebook_app_id != '' ? "&appId={$facebook_app_id}" : '';
$facebook_app_lang = $config['facebook_comments_block_settings_lang'];
$facebook_app_width_unit = $config['facebook_comments_block_settings_width_unit'];
$facebook_app_width = '';
if ($facebook_app_width_unit == 'percentage') {
$facebook_app_width = '100%';
}
else {
$facebook_app_width = $config['facebook_comments_block_settings_width'];
}
$theme_vars = array(
'data_attributes' => array(
'href' => $url,
'data-href' => $url,
'data-width' => $facebook_app_width,
'data-numposts' => $config['facebook_comments_block_settings_number_of_posts'],
'data-colorscheme' => $config['facebook_comments_block_settings_color_schema'],
'data-order-by' => $config['facebook_comments_block_settings_order'],
),
'facebook_app_id' => $facebook_app_id_script,
'facebook_app_lang' => $facebook_app_lang,
);
return array(
'#cache' => array(
'contexts' => array(
'url',
),
),
'#theme' => 'facebook_comments_block_block',
'#data_attributes' => new Attribute($theme_vars['data_attributes']),
'#facebook_app_id' => $theme_vars['facebook_app_id'],
'#facebook_app_lang' => $theme_vars['facebook_app_lang'],
);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
BlockPluginInterface:: |
constant | Indicates the block label (title) should be displayed to end users. | ||
BlockPluginTrait:: |
protected | property | The transliteration service. | |
BlockPluginTrait:: |
public | function | ||
BlockPluginTrait:: |
protected | function | Returns generic default configuration for block plugins. | |
BlockPluginTrait:: |
protected | function | Indicates whether the block should be shown. | 16 |
BlockPluginTrait:: |
public | function | Creates a generic configuration form for all block types. Individual block plugins can add elements to this form by overriding BlockBase::blockForm(). Most block plugins should not override this method unless they need to alter the generic form elements. | 2 |
BlockPluginTrait:: |
public | function | ||
BlockPluginTrait:: |
public | function | 19 | |
BlockPluginTrait:: |
public | function | 1 | |
BlockPluginTrait:: |
public | function | 1 | |
BlockPluginTrait:: |
public | function | 3 | |
BlockPluginTrait:: |
public | function | ||
BlockPluginTrait:: |
public | function | ||
BlockPluginTrait:: |
public | function | ||
BlockPluginTrait:: |
public | function | Sets the transliteration service. | |
BlockPluginTrait:: |
public | function | Most block plugins should not override this method. To add submission handling for a specific block type, override BlockBase::blockSubmit(). | |
BlockPluginTrait:: |
protected | function | Wraps the transliteration service. | |
BlockPluginTrait:: |
public | function | Most block plugins should not override this method. To add validation for a specific block type, override BlockBase::blockValidate(). | 1 |
BlockPluginTrait:: |
public | function | 22 | |
ContextAwarePluginAssignmentTrait:: |
protected | function | Builds a form element for assigning a context to a given slot. | |
ContextAwarePluginAssignmentTrait:: |
protected | function | Wraps the context handler. | |
ContextAwarePluginBase:: |
protected | property | The data objects representing the context of this plugin. | |
ContextAwarePluginBase:: |
private | property | Data objects representing the contexts passed in the plugin configuration. | |
ContextAwarePluginBase:: |
protected | function |
Overrides ContextAwarePluginBase:: |
|
ContextAwarePluginBase:: |
public | function |
The cache contexts associated with this object. Overrides CacheableDependencyInterface:: |
9 |
ContextAwarePluginBase:: |
public | function |
The maximum age for which this object may be cached. Overrides CacheableDependencyInterface:: |
7 |
ContextAwarePluginBase:: |
public | function |
The cache tags associated with this object. Overrides CacheableDependencyInterface:: |
4 |
ContextAwarePluginBase:: |
public | function |
This code is identical to the Component in order to pick up a different
Context class. Overrides ContextAwarePluginBase:: |
|
ContextAwarePluginBase:: |
public | function |
Overrides ContextAwarePluginBase:: |
|
ContextAwarePluginBase:: |
public | function |
Overrides ContextAwarePluginBase:: |
|
ContextAwarePluginBase:: |
public | function |
Gets a mapping of the expected assignment names to their context names. Overrides ContextAwarePluginInterface:: |
|
ContextAwarePluginBase:: |
public | function |
Gets the defined contexts. Overrides ContextAwarePluginInterface:: |
|
ContextAwarePluginBase:: |
public | function |
Gets the value for a defined context. Overrides ContextAwarePluginInterface:: |
|
ContextAwarePluginBase:: |
public | function |
Gets the values for all defined contexts. Overrides ContextAwarePluginInterface:: |
|
ContextAwarePluginBase:: |
public | function |
Set a context on this plugin. Overrides ContextAwarePluginBase:: |
|
ContextAwarePluginBase:: |
public | function |
Sets a mapping of the expected assignment names to their context names. Overrides ContextAwarePluginInterface:: |
|
ContextAwarePluginBase:: |
public | function |
Sets the value for a defined context. Overrides ContextAwarePluginBase:: |
|
ContextAwarePluginBase:: |
public | function |
Validates the set values for the defined contexts. Overrides ContextAwarePluginInterface:: |
|
ContextAwarePluginBase:: |
public | function | Implements magic __get() method. | |
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
FacebookCommentsBlock:: |
public | function |
Overrides BlockPluginTrait:: |
|
FacebookCommentsBlock:: |
public | function |
Overrides BlockPluginTrait:: |
|
FacebookCommentsBlock:: |
public | function |
Overrides BlockPluginTrait:: |
|
FacebookCommentsBlock:: |
public | function |
Builds and returns the renderable array for this block plugin. Overrides BlockPluginInterface:: |
|
MessengerTrait:: |
protected | property | The messenger. | 29 |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
MessengerTrait:: |
public | function | Sets the messenger. | |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
PluginWithFormsTrait:: |
public | function | ||
PluginWithFormsTrait:: |
public | function | ||
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
TypedDataTrait:: |
protected | property | The typed data manager used for creating the data types. | |
TypedDataTrait:: |
public | function | Gets the typed data manager. | 2 |
TypedDataTrait:: |
public | function | Sets the typed data manager. | 2 |