當前位置: 首頁>>代碼示例>>PHP>>正文


PHP AdminInterface::hasRequest方法代碼示例

本文整理匯總了PHP中Sonata\AdminBundle\Admin\AdminInterface::hasRequest方法的典型用法代碼示例。如果您正苦於以下問題:PHP AdminInterface::hasRequest方法的具體用法?PHP AdminInterface::hasRequest怎麽用?PHP AdminInterface::hasRequest使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Sonata\AdminBundle\Admin\AdminInterface的用法示例。


在下文中一共展示了AdminInterface::hasRequest方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: generateMenuUrl

 /**
  * {@inheritdoc}
  */
 public function generateMenuUrl(AdminInterface $admin, $name, array $parameters = array(), $absolute = false)
 {
     // if the admin is a child we automatically append the parent's id
     if ($admin->isChild() && $admin->hasRequest() && $admin->getRequest()->attributes->has($admin->getParent()->getIdParameter())) {
         // twig template does not accept variable hash key ... so cannot use admin.idparameter ...
         // switch value
         if (isset($parameters['id'])) {
             $parameters[$admin->getIdParameter()] = $parameters['id'];
             unset($parameters['id']);
         }
         $parameters[$admin->getParent()->getIdParameter()] = $admin->getRequest()->attributes->get($admin->getParent()->getIdParameter());
     }
     // if the admin is linked to a parent FieldDescription (ie, embedded widget)
     if ($admin->hasParentFieldDescription()) {
         // merge link parameter if any provided by the parent field
         $parameters = array_merge($parameters, $admin->getParentFieldDescription()->getOption('link_parameters', array()));
         $parameters['uniqid'] = $admin->getUniqid();
         $parameters['code'] = $admin->getCode();
         $parameters['pcode'] = $admin->getParentFieldDescription()->getAdmin()->getCode();
         $parameters['puniqid'] = $admin->getParentFieldDescription()->getAdmin()->getUniqid();
     }
     if ($name == 'update' || substr($name, -7) == '|update') {
         $parameters['uniqid'] = $admin->getUniqid();
         $parameters['code'] = $admin->getCode();
     }
     // allows to define persistent parameters
     if ($admin->hasRequest()) {
         $parameters = array_merge($admin->getPersistentParameters(), $parameters);
     }
     $code = $this->getCode($admin, $name);
     if (!array_key_exists($code, $this->caches)) {
         throw new \RuntimeException(sprintf('unable to find the route `%s`', $code));
     }
     return array('route' => $this->caches[$code], 'routeParameters' => $parameters, 'routeAbsolute' => $absolute);
 }
開發者ID:nfouka,項目名稱:jobbet_sf2.5,代碼行數:38,代碼來源:DefaultRouteGenerator.php

示例2: alterNewInstance

 /**
  * Sanity check and default locale to request locale.
  *
  * {@inheritdoc}
  */
 public function alterNewInstance(AdminInterface $admin, $object)
 {
     if (!$object instanceof TranslatableInterface) {
         throw new \InvalidArgumentException('Expected TranslatableInterface, got ' . get_class($object));
     }
     if ($admin->hasRequest()) {
         $currentLocale = $admin->getRequest()->getLocale();
         if (in_array($currentLocale, $this->locales)) {
             $object->setLocale($currentLocale);
         }
     }
 }
開發者ID:frogriotcom,項目名稱:CoreBundle,代碼行數:17,代碼來源:TranslatableExtension.php

示例3: preUpdate

 /**
  * {@inheritdoc}
  */
 public function preUpdate(AdminInterface $admin, $object)
 {
     if (!$admin->hasRequest() || !($data = $admin->getRequest()->get($admin->getUniqid()))) {
         return;
     }
     if (!isset($data[$this->fieldName])) {
         return;
     }
     $modelManager = $admin->getModelManager();
     if (!$modelManager instanceof LockInterface) {
         return;
     }
     $modelManager->lock($object, $data[$this->fieldName]);
 }
開發者ID:clavier-souris,項目名稱:SonataAdminBundle,代碼行數:17,代碼來源:LockExtension.php

示例4: generateUrl

 /**
  * @throws \RuntimeException
  * @param \Sonata\AdminBundle\Admin\AdminInterface $admin
  * @param $name
  * @param array $parameter
  * @param bool $absolute
  * @return string
  */
 public function generateUrl(AdminInterface $admin, $name, array $parameters = array(), $absolute = false)
 {
     if (!$admin->isChild()) {
         if (strpos($name, '.')) {
             $name = $admin->getCode() . '|' . $name;
         } else {
             $name = $admin->getCode() . '.' . $name;
         }
     } else {
         if ($admin->isChild()) {
             $name = $admin->getBaseCodeRoute() . '.' . $name;
             // twig template does not accept variable hash key ... so cannot use admin.idparameter ...
             // switch value
             if (isset($parameters['id'])) {
                 $parameters[$admin->getIdParameter()] = $parameters['id'];
                 unset($parameters['id']);
             }
             $parameters[$admin->getParent()->getIdParameter()] = $admin->getRequest()->get($admin->getParent()->getIdParameter());
         }
     }
     // if the admin is linked to a parent FieldDescription (ie, embedded widget)
     if ($admin->hasParentFieldDescription()) {
         // merge link parameter if any provided by the parent field
         $parameters = array_merge($parameters, $admin->getParentFieldDescription()->getOption('link_parameters', array()));
         $parameters['uniqid'] = $admin->getUniqid();
         $parameters['code'] = $admin->getCode();
         $parameters['pcode'] = $admin->getParentFieldDescription()->getAdmin()->getCode();
         $parameters['puniqid'] = $admin->getParentFieldDescription()->getAdmin()->getUniqid();
     }
     if ($name == 'update' || substr($name, -7) == '|update') {
         $parameters['uniqid'] = $admin->getUniqid();
         $parameters['code'] = $admin->getCode();
     }
     // allows to define persistent parameters
     if ($admin->hasRequest()) {
         $parameters = array_merge($admin->getPersistentParameters(), $parameters);
     }
     $route = $admin->getRoute($name);
     if (!$route) {
         throw new \RuntimeException(sprintf('unable to find the route `%s`', $name));
     }
     return $this->router->generate($route->getDefault('_sonata_name'), $parameters, $absolute);
 }
開發者ID:natxet,項目名稱:SonataAdminBundle,代碼行數:51,代碼來源:DefaultRouteGenerator.php

示例5: alterNewInstance

 /**
  * Set a default parent if defined in the request
  *
  * {@inheritDoc}
  */
 public function alterNewInstance(AdminInterface $admin, $object)
 {
     if (!$admin->hasRequest() || !($parentId = $admin->getRequest()->get('parent'))) {
         return;
     }
     $parent = $admin->getModelManager()->find(null, $parentId);
     if (!$parent) {
         return;
     }
     switch ($object) {
         case $object instanceof HierarchyInterface:
             $object->setParentDocument($parent);
             break;
         case $object instanceof ChildInterface:
             $object->setParentObject($parent);
             break;
         default:
             throw new \InvalidArgumentException(sprintf('Class %s is not supported', get_class($object)));
     }
 }
開發者ID:viral810,項目名稱:ngSimpleCMS,代碼行數:25,代碼來源:ChildExtension.php

示例6: getCurrentAdminLocale

 /**
  * returns the locale of the current admin user
  *
  * @param \Sonata\AdminBundle\Admin\AdminInterface $admin
  * @return mixed|string
  */
 public function getCurrentAdminLocale(\Sonata\AdminBundle\Admin\AdminInterface $admin)
 {
     $locale = '';
     if (!$admin->hasRequest()) {
         $admin->setRequest($this->getService('request'));
     }
     if ($subject = $admin->getSubject()) {
         return $this->getFieldValue($subject, 'locale');
     } elseif ($filter = $admin->getDatagrid()->getFilter('locale')) {
         /** @var \Sonata\AdminBundle\Filter\Filter $filter */
         $data = $filter->getValue();
         if (!$data || !is_array($data) || !array_key_exists('value', $data)) {
             $locale = $this->getCurrentLocale();
         }
         $data['value'] = trim($data['value']);
         if (strlen($data['value']) > 0) {
             $locale = $data['value'];
         }
         if (!$locale && method_exists($admin, 'getDefaultLocale')) {
             $locale = $admin->getDefaultLocale();
         }
     }
     return $locale;
 }
開發者ID:rapemer,項目名稱:init-cms-bundle,代碼行數:30,代碼來源:NetworkingHelperExtension.php


注:本文中的Sonata\AdminBundle\Admin\AdminInterface::hasRequest方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。