public function indexAction(Param\AnyString $portfolioLink = null) { if (!is_null($portfolioLink)) { $this->_viewWork($portfolioLink->val()); return; } $mainXml = $this->root->appendChild($this->xml->createElement('PortfolioView')); $this->root->setAttribute('pageTitle', \Difra\Locales::getInstance()->getXPath('portfolio/adm/portfolio')); $search = new \Difra\Unify\Search('PortfolioEntry'); $search->setOrder('release', 'release'); $workList = $search->getList(); $idArray = []; $newYear = 0; foreach ($workList as $work) { $workNode = $mainXml->appendChild($this->xml->createElement('PortfolioEntry')); $work->getXML($workNode); if (!is_null($work->release)) { $xRelease = explode('-', $work->release); if ($newYear != $xRelease[0]) { $workNode->setAttribute('newYear', $xRelease[0]); $newYear = $xRelease[0]; } } $idArray[] = $work->id; } if (!empty($idArray)) { \Difra\Plugins\Portfolio::getMainImagesXML($idArray, $mainXml); } }
/** * Возвращает в xml все картинки работы по её id * @param $workId * @param \DOMNode $node */ public static function getWorkImagesXML($workId, \DOMNode $node) { $images = new \Difra\Unify\Search('PortfolioImages'); $images->addCondition('portfolio', $workId); $images->setOrder('position'); $images->getListXML($node); }
public function editAction(\Difra\Param\AnyInt $id) { $mainXml = $this->root->appendChild($this->xml->createElement('PortfolioEntryEdit')); $mainXml->setAttribute('edit', true); $entryNode = $mainXml->appendChild($this->xml->createElement('entry')); $entry = \Difra\Unify::getObj('PortfolioEntry', $id->val()); $entry->getXML($entryNode); $imagesNode = $entryNode->appendChild($this->xml->createElement('images')); $images = new \Difra\Unify\Search('PortfolioImages'); $images->addCondition('portfolio', $entry->id); $images->setOrder(['position']); $images->getListXML($imagesNode); }