2016-07-05 58 views
-1

我安裝了StofDoctrineExtensionsBundlelink相同。 相反,頁面渲染非常緩慢,因爲大約5分鐘。我只需要用戶實體(FOSUSERBUNDLE)中的slugable funcionality。我認爲沒有某些元素,它會更快地工作。SYMFONY2易損最小配置

什麼是最低配置只能用此軟件包運行sluggable。是否需要所有映射(請參閱link)?我想要config.yml的例子。

編輯 添加監聽後,我config.yml樣子:

... 
    orm: 
     default_entity_manager: default 
     auto_generate_proxy_classes: "%kernel.debug%" 
     entity_managers: 
      default: 
       connection: default 
       mappings: 
        AppBundle: ~ 
        gedmo_translatable: 
         type: annotation 
         prefix: Gedmo\Translatable\Entity 
         dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Translatable/Entity" 
         alias: GedmoTranslatable # (optional) it will default to the name set for the mapping 
         is_bundle: false 
        gedmo_translator: 
         type: annotation 
         prefix: Gedmo\Translator\Entity 
         dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Translator/Entity" 
         alias: GedmoTranslator # (optional) it will default to the name set for the mapping 
         is_bundle: false 
        gedmo_loggable: 
         type: annotation 
         prefix: Gedmo\Loggable\Entity 
         dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Loggable/Entity" 
         alias: GedmoLoggable # (optional) it will default to the name set for the mappingmapping 
         is_bundle: false 
        gedmo_tree: 
         type: annotation 
         prefix: Gedmo\Tree\Entity 
         dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Tree/Entity" 
         alias: GedmoTree # (optional) it will default to the name set for the mapping 
         is_bundle: false 

... 
stof_doctrine_extensions: 
    class: 
     sluggable:  ~ 
... 

我的實體與slugg:

namespace AppBundle\Entity; 
use Gedmo\Mapping\Annotation as Gedmo; 
use Doctrine\ORM\Mapping as ORM; 

/** 
* Profile 
* 
* @ORM\Table(name="profile") 
* @ORM\Entity(repositoryClass="AppBundle\Repository\ProfileRepository") 
*/ 
class Profile 
{ 
    /** 
    * @var int 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="name", type="string", length=150, nullable=true) 
    */ 
    private $name; 
    /** 
    * @Gedmo\Slug(fields={"title", "name"}) 
    * @ORM\Column(length=128, unique=true) 
    */ 
    private $slug; 
    /** 
    * @var string 
    * 
    * @ORM\Column(name="city", type="string", length=150, nullable=true) 
    */ 
    private $city; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="voivodeship", type="string", length=50, nullable=true) 
    */ 
    private $voivodeship; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="description", type="text", nullable=true) 
    */ 
    private $description; 

    /** 
    * @var string 
    * 
    * @ORM\Column(name="category", type="string", length=100, nullable=true) 
    */ 
    private $category; 


    /** 
    * 
    * @ORM\OneToOne(targetEntity="User", cascade={"persist"}) 
    * @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=true) 
    */ 
    protected $user; 
    /** 
    * Get id 
    * 
    * @return int 
    */ 
    public function getId() 
    { 
     return $this->id; 
    } 

    /** 
    * Set name 
    * 
    * @param string $name 
    * 
    * @return Profile 
    */ 
    public function setName($name) 
    { 
     $this->name = $name; 

     return $this; 
    } 

    /** 
    * Get name 
    * 
    * @return string 
    */ 
    public function getName() 
    { 
     return $this->name; 
    } 

    /** 
    * Set city 
    * 
    * @param string $city 
    * 
    * @return Profile 
    */ 
    public function setCity($city) 
    { 
     $this->city = $city; 

     return $this; 
    } 

    /** 
    * Get city 
    * 
    * @return string 
    */ 
    public function getCity() 
    { 
     return $this->city; 
    } 

    /** 
    * Set voivodeship 
    * 
    * @param string $voivodeship 
    * 
    * @return Profile 
    */ 
    public function setVoivodeship($voivodeship) 
    { 
     $this->voivodeship = $voivodeship; 

     return $this; 
    } 

    /** 
    * Get voivodeship 
    * 
    * @return string 
    */ 
    public function getVoivodeship() 
    { 
     return $this->voivodeship; 
    } 

    /** 
    * Set description 
    * 
    * @param string $description 
    * 
    * @return Profile 
    */ 
    public function setDescription($description) 
    { 
     $this->description = $description; 

     return $this; 
    } 

    /** 
    * Get description 
    * 
    * @return string 
    */ 
    public function getDescription() 
    { 
     return $this->description; 
    } 

    /** 
    * Set category 
    * 
    * @param string $category 
    * 
    * @return Profile 
    */ 
    public function setCategory($category) 
    { 
     $this->category = $category; 

     return $this; 
    } 

    /** 
    * Get category 
    * 
    * @return string 
    */ 
    public function getCategory() 
    { 
     return $this->category; 
    } 

    /** 
    * Set user 
    * 
    * @param \AppBundle\Entity\User $user 
    * 
    * @return Profile 
    */ 
    public function setUser(\AppBundle\Entity\User $user = null) 
    { 
     $this->user = $user; 

     return $this; 
    } 

    /** 
    * Get user 
    * 
    * @return \AppBundle\Entity\User 
    */ 
    public function getUser() 
    { 
     return $this->user; 
    } 
    /** 
    * Get slug 
    * 
    * @return string 
    */ 
    public function getSlug() 
    { 
     return $this->slug; 
    } 
} 

現在現場沒有產生。裝修一新的數據庫,並沒有任何幫助

回答

1

我已經修改偵聽器定義來自阿爾薩斯的答案,它的工作現在。

# app/config/config.yml 
stof_doctrine_extensions: 
default_locale: en 
orm: 
    default: 
     tree: false 
     timestampable: false 
     sluggable: true 
     translatable: false 
1

你只需要激活sluggable聽衆:

# app/config/config.yml 
stof_doctrine_extensions: 
    class: 
     sluggable:  ~ 

並創建蛞蝓屬性:

<?php 
namespace Entity; 

use Gedmo\Mapping\Annotation as Gedmo; 
use Doctrine\ORM\Mapping as ORM; 

/** 
* @ORM\Table(name="articles") 
* @ORM\Entity 
*/ 
class Entity 
{ 
    ... 

    /** 
    * @Gedmo\Slug(fields={"username"}) 
    * @ORM\Column(length=128, unique=true) 
    */ 
    private $slug; 

    ... 
} 
+0

添加監聽器後沒有任何改變。我完成了我的文件的問題 –

+0

你只需要我寫的東西。請刪除映射中的每個偵聽器... – Alsatian

+0

並且不要忘記刪除所有不想使用的錯誤配置(常規4)創建的SQL表。 – Alsatian