/**
  * {@inheritdoc}
  */
 public static function byId(IMetaModel $objMetaModel, $intId = 0)
 {
     if (self::$arrInstances[$intId]) {
         return self::$arrInstances[$intId];
     }
     $objDB = Database::getInstance();
     $objView = null;
     $objView = Database::getInstance()->prepare('SELECT * FROM tl_metamodel_rendersettings WHERE pid=? AND (id=? OR isdefault=1) ORDER BY isdefault ASC')->limit(1)->execute($objMetaModel->get('id'), $intId);
     if (!$objView->numRows) {
         $intId = 0;
         $objView = NULL;
     }
     $objRenderSetting = new MetaModelRenderSettings($objView ? $objView->row() : array());
     self::collectAttributeSettings($objMetaModel, $objRenderSetting);
     return $objRenderSetting;
 }
예제 #2
0
 /**
  * Check if the item is published.
  * 
  * @param IMetaModel $objMetaModel Current metamodels.
  * @param int        $intItemId    Id of the item.
  * 
  * @return boolean True => Published | False => Not published
  */
 protected function isPublishedItem($objMetaModel, $intItemId)
 {
     // Check publish state of an item.
     $objAttrCheckPublish = Database::getInstance()->prepare('SELECT colname FROM tl_metamodel_attribute WHERE pid=? AND check_publish=1')->limit(1)->execute($objMetaModel->get('id'));
     if ($objAttrCheckPublish->numRows > 0) {
         $objItem = $objMetaModel->findById($intItemId);
         if (!$objItem->get($objAttrCheckPublish->colname)) {
             return false;
         }
     }
     return true;
 }