loadUrlField($entity); } public function loadAdditionalFieldsForList(Entity $entity) { parent::loadAdditionalFieldsForList($entity); $this->loadUrlField($entity); } protected function afterUpdate(Entity $entity, array $data = array()) { parent::afterUpdate($entity, $data); $this->loadUrlField($entity); } protected function loadUrlField(Entity $entity) { if ($entity->get('customUrl')) { $entity->set('url', $entity->get('customUrl')); return; } $siteUrl = $this->getConfig()->get('siteUrl'); $siteUrl = rtrim($siteUrl , '/') . '/'; $url = $siteUrl . 'portal/'; if ($entity->id === $this->getConfig()->get('defaultPortalId')) { $entity->set('isDefault', true); $entity->setFetched('isDefault', true); } else { if ($entity->get('customId')) { $url .= $entity->get('customId') . '/'; } else { $url .= $entity->id . '/'; } $entity->setFetched('isDefault', false); } $entity->set('url', $url); } }