Example #1
0
	public function load($manager)
	{
		$menuCnt = 0;
		for($p = 0; $p < 10; $p++)
		{
			$page = new Entity\Page();
			$page->setTitle("lôrém page #{$p}");
			$page->setContent("lorem page ipsum #{$p}");

			$manager->persist($page);	
			
			if(round(mt_rand(0, 1)) && $menuCnt < 3)
			{
				$item = new Entity\MenuItem();
				$item->setTitle($page->getTitle());
				$item->setRouting('page');
				$item->setArguments(array('slug' => $page->getSlug()));
				$item->setIdentifier($page->getMenuIdentifier());
	
				$manager->getRepository('GoGreat\CMSBaseBundle\Entity\MenuItem')->persist($item);
				$menuCnt++;
			}
					
		}

		$manager->flush();
	}
Example #2
0
	public function load($manager)
	{		
		
		foreach($this->menuItemData as $data)
		{		
			$item = new Entity\MenuItem();
			$item->setTitle($data['title']);
			$item->setRouting($data['routing']);
			$item->setIdentifier($data['identifier']);
			$item->setArguments($data['arguments']);
			if(isset($data['weight']))
				$item->setWeight($data['weight']);

			$manager->getRepository('GoGreat\CMSBaseBundle\Entity\MenuItem')->persist($item);
		}

		$manager->flush();
	}
	/**
	 * persist an instance of MenuItem with the entity_manager
	 * 
	 * @param MenuItem $item
	 */
	public function persist(MenuItem $item)
	{		
		$em = $this->getEntityManager();
		
		$identifier = $item->getIdentifier();
		$generated = (!$identifier);
		
		if($generated)				
			$identifier = $item->fixIdentifier();

		if(!$generated && ($found = $this->findOneByIdentifier($identifier)) && ($item != $found))
			return false;
		else if($generated)
			while($this->findOneByIdentifier($identifier))
				$identifier = $item->fixIdentifier(true);
				
		$item->setIdentifier($identifier);
		
		$em->persist($item);
	}