public function testComponentSet() { $c = new Compound([new Part(new Tag('div'), 'container'), new Part(new DataView('[1]'), '1', 'container'), new Part(new DataView('[2]'), '2', 'container')]); $c->setComponent($c3 = new DataView('[3]'), '3', 'container'); self::assertEquals('<div>[1][2][3]</div>', $c->render()); // @todo preserve component position when replacing // $c->setComponent($c2 = new DataView('[-2-]'), '2', 'container'); // self::assertEquals( // '<div>[1][-2-][3]</div>', // $c->render() // ); // self::assertTrue($c2 === $c->getComponent('2')); self::assertTrue($c3 === $c->getComponent('3')); $c->removeComponent('1'); $c->removeComponent('2'); self::assertEquals('<div>[3]</div>', $c->render()); $c->removeComponent('container'); self::assertEquals('', $c->render()); }
/** * Renders component and returns output. * * @return string */ public function render() { $this->prepare(); return parent::render(); }
/** * Renders layout. * * @return string rendered layout */ public function render() { $this->moveChildrenToMainSection(); $this->getTemplate()->mergeData($this->getData())->mergeData(['layout' => $this]); return parent::render(); }