Sitemap\Module::removeElement PHP Method

removeElement() public method

Remove element on delete
public removeElement ( Zend\EventManager\EventInterface $event ) : void
$event Zend\EventManager\EventInterface Event
return void
    public function removeElement(Event $event)
    {
        $sitemap = new Sitemap();
        $xml = $this->getXml($sitemap);
        if ($xml !== null) {
            $request = $this->serviceManager->get('Request');
            $document = $event->getTarget();
            $oldUrlKey = $document->getUrlKey();
            $document->setUrlKey($document->getOrigData('url_key'));
            $obj = $this->getDoc($xml, $request->getBasePath(), $document->getUrl());
            if (!empty($obj)) {
                unset($obj);
                $xml->asXml($sitemap->getFilePath());
            }
            $document->setUrlKey($oldUrlKey);
        }
    }

Usage Example

Example #1
0
 /**
  * Test
  *
  * @return void
  */
 public function testRemoveElement()
 {
     $mvcEvent = Registry::get('Application')->getMvcEvent();
     $mvcEvent->setTarget($this->document);
     //Create xml
     $this->assertNull($this->object->addElement($mvcEvent));
     //Delete Element
     $this->assertNull($this->object->removeElement($mvcEvent));
 }