/** * Initialize the object * * @param ContentModel|ModuleModel|FormModel $objElement * @param string $strColumn */ public function __construct($objElement, $strColumn = 'main') { parent::__construct(); // Store the parent element (see #4556) if ($objElement instanceof Model) { $this->objParent = $objElement; } elseif ($objElement instanceof Model\Collection) { $this->objParent = $objElement->current(); } if ($this->strKey == '' || $this->strTable == '') { return; } /** @var Model $strModelClass */ $strModelClass = \Model::getClassFromTable($this->strTable); // Load the model if (class_exists($strModelClass)) { $objHybrid = $strModelClass::findByPk($objElement->{$this->strKey}); if ($objHybrid === null) { return; } $this->objModel = $objHybrid; } else { $objHybrid = $this->Database->prepare("SELECT * FROM " . $this->strTable . " WHERE id=?")->limit(1)->execute($objElement->{$this->strKey}); if ($objHybrid->numRows < 1) { return; } } $cssID = array(); $this->arrData = $objHybrid->row(); // Get the CSS ID from the parent element (!) $this->cssID = deserialize($objElement->cssID, true); if (isset($objHybrid->attributes)) { $cssID = deserialize($objHybrid->attributes, true); } // Override the CSS ID (see #305) if (!empty($this->cssID[0])) { $cssID[0] = $this->cssID[0]; } // Merge the CSS classes (see #6011) if (!empty($this->cssID[1])) { $cssID[1] = trim($cssID[1] . ' ' . $this->cssID[1]); } $this->cssID = $cssID; $this->typePrefix = $objElement->typePrefix; $arrHeadline = deserialize($objElement->headline); $this->headline = is_array($arrHeadline) ? $arrHeadline['value'] : $arrHeadline; $this->hl = is_array($arrHeadline) ? $arrHeadline['unit'] : 'h1'; $this->strColumn = $strColumn; }
/** * Initialize the object * * @param ContentModel $objElement * @param string $strColumn */ public function __construct($objElement, $strColumn = 'main') { if ($objElement instanceof Model) { $this->objModel = $objElement; } elseif ($objElement instanceof Model\Collection) { $this->objModel = $objElement->current(); } parent::__construct(); $this->arrData = $objElement->row(); $this->cssID = deserialize($objElement->cssID, true); if ($this->customTpl != '' && TL_MODE == 'FE') { $this->strTemplate = $this->customTpl; } $arrHeadline = deserialize($objElement->headline); $this->headline = is_array($arrHeadline) ? $arrHeadline['value'] : $arrHeadline; $this->hl = is_array($arrHeadline) ? $arrHeadline['unit'] : 'h1'; $this->strColumn = $strColumn; }