Permalink
Browse files

MDL-34899 blocks/html: Allow instances to specify additional CSS classes

  • Loading branch information...
1 parent 87e9331 commit 14bcde673d35610dc2bb04486476f1f26e36eb05 Aaron Barnes committed Aug 15, 2012
Showing with 21 additions and 0 deletions.
  1. +15 −0 blocks/html/block_html.php
  2. +4 −0 blocks/html/edit_form.php
  3. +2 −0 blocks/html/lang/en/block_html.php
View
@@ -131,4 +131,19 @@ function content_is_trusted() {
public function instance_can_be_docked() {
return (!empty($this->config->title) && parent::instance_can_be_docked());
}
+
+ /*
+ * Add custom html attributes to aid with theming and styling
+ *
+ * @return array
+ */
+ function html_attributes() {
+ $attributes = parent::html_attributes();
+
+ if (!empty($this->config->classes)) {
+ $attributes['class'] .= ' '.$this->config->classes;
+ }
+
+ return $attributes;
+ }
}
@@ -41,6 +41,10 @@ protected function specific_definition($mform) {
$mform->addElement('editor', 'config_text', get_string('configcontent', 'block_html'), null, $editoroptions);
$mform->addRule('config_text', null, 'required', null, 'client');
$mform->setType('config_text', PARAM_RAW); // XSS is prevented when printing the block contents and serving files
+
+ $mform->addElement('text', 'config_classes', get_string('configclasses', 'block_html'));
+ $mform->setType('config_classes', PARAM_TEXT);
+ $mform->addHelpButton('config_classes', 'configclasses', 'block_html');
}
function set_data($defaults) {
@@ -23,6 +23,8 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
+$string['configclasses'] = 'Additional HTML classes';
+$string['configclasses_help'] = 'The purpose of this configuration is to aid with theming by helping distinguish HTML blocks from each other. Any CSS classes entered here (space delimited) will be appended to the block\'s default classes.';
$string['configcontent'] = 'Content';
$string['configtitle'] = 'Block title';
$string['leaveblanktohide'] = 'leave blank to hide the title';

0 comments on commit 14bcde6

Please sign in to comment.