|
|
- <?php
- /*
- * This class is INTENDED to be modified. Please define any custom "Render"-based methods
- * to handle custom global rendering functionality for all your controls.
- *
- * As an EXAMPLE, a RenderWithName method is included for you. Feel free to modify this method,
- * or to add as many of your own as you wish.
- *
- * Please note: All custom render methods should start with a RenderHelper call and end with a RenderOUtput call.
- */
- abstract class QControl extends QControlBase {
- // This will call GetControlHtml() for the bulk of the work, but will add layout html as well. It will include
- // the rendering of the Controls' name label, any errors or warnings, instructions, and html before/after (if specified).
- //
- // This one method can define how ALL controls should be rendered when "Rendered with Name" throughout the entire site.
- // For example:
- // <Name> <HTML Before><Control><HTML After>
- // <Instructions> <Error> or <warning>
- //
- // REMEMBER: THIS IS JUST AN EXAMPLE!!! Feel free to modify.
- public function RenderWithName($blnDisplayOutput = true) {
- ////////////////////
- // Call RenderHelper
- $this->RenderHelper(func_get_args(), __FUNCTION__);
- ////////////////////
-
- // Custom Render Functionality Here
-
- // Because this example RenderWithName will render a block-based element (e.g. a DIV), let's ensure
- // that IsBlockElement is set to true
- $this->blnIsBlockElement = true;
-
- // Render the Control's Dressing
- $strToReturn = '<div class="renderWithName">';
-
- // Render the Left side
- $strLeftClass = "left";
- if ($this->blnRequired)
- $strLeftClass .= ' required';
- if (!$this->blnEnabled)
- $strLeftClass .= ' disabled';
-
- if ($this->strInstructions)
- $strInstructions = '<br/><span class="instructions">' . $this->strInstructions . '</span>';
- else
- $strInstructions = '';
-
- $strToReturn .= sprintf('<div class="%s"><label for="%s">%s</label>%s</div>' , $strLeftClass, $this->strControlId, $this->strName, $strInstructions);
-
- // Render the Right side
- if ($this->strValidationError)
- $strMessage = sprintf('<span class="error">%s</span>', $this->strValidationError);
- else if ($this->strWarning)
- $strMessage = sprintf('<span class="error">%s</span>', $this->strWarning);
- else
- $strMessage = '';
-
- try {
- $strToReturn .= sprintf('<div class="right">%s%s%s%s</div>',
- $this->strHtmlBefore, $this->GetControlHtml(), $this->strHtmlAfter, $strMessage);
- } catch (QCallerException $objExc) {
- $objExc->IncrementOffset();
- throw $objExc;
- }
-
- $strToReturn .= '</div>';
-
- ////////////////////////////////////////////
- // Call RenderOutput, Returning its Contents
- return $this->RenderOutput($strToReturn, $blnDisplayOutput);
- ////////////////////////////////////////////
- }
- }
- ?>
|