コード例 #1
0
ファイル: OrmJsonApi.php プロジェクト: all-ride/ride-wra-orm
 /**
  * Loads the mapping of the models with resource types
  * @return null
  */
 protected function loadModelMapping()
 {
     $modelTypesCacheItem = $this->cache->get(self::CACHE_TYPES);
     if ($modelTypesCacheItem->isValid()) {
         $this->modelTypes = $modelTypesCacheItem->getValue();
         return;
     }
     $this->modelTypes = array();
     $models = $this->orm->getModels();
     foreach ($models as $modelName => $model) {
         $type = $model->getMeta()->getOption('json.api');
         if (!$type) {
             continue;
         }
         $this->modelTypes[$modelName] = $type;
     }
     $modelTypesCacheItem->setValue($this->modelTypes);
     $this->cache->set($modelTypesCacheItem);
 }
コード例 #2
0
 public function prepareContentMenu(Event $event, OrmManager $ormManager)
 {
     $locale = $event->getArgument('locale');
     $menu = $event->getArgument('menu');
     $models = $ormManager->getModels();
     foreach ($models as $model) {
         $meta = $model->getMeta();
         $option = $meta->getOption('scaffold.expose');
         if (!$option) {
             continue;
         }
         $menuItem = new MenuItem();
         $title = $meta->getOption('scaffold.title');
         if ($title) {
             $menuItem->setTranslation($title);
         } else {
             $menuItem->setLabel($meta->getName());
         }
         $menuItem->setRoute('system.orm.scaffold.index', array('locale' => $locale, 'model' => $meta->getName()));
         $menu->addMenuItem($menuItem);
     }
 }
コード例 #3
0
 /**
  * Gets the options for the model field
  * @param \ride\library\orm\OrmManager $orm Instance of the ORM manager
  * @return array Array with the model names which are flagged to be a node
  */
 protected function getModelOptions(OrmManager $orm)
 {
     $translator = $this->getTranslator();
     $options = array('' => '---');
     $models = $orm->getModels(true);
     foreach ($models as $modelName => $model) {
         $meta = $model->getMeta();
         if (!$meta->getOption('cms.node')) {
             continue;
         }
         $title = $meta->getOption('scaffold.title');
         if ($title) {
             $title = $translator->translate($title);
         } else {
             $title = $modelName;
         }
         $options[$modelName] = $title;
     }
     return $options;
 }