Как убрать приоритет с sitemap.xml в UMI.CMS
Для того, чтобы убрать приоритет в sitemap.xml UMI.CMS, нужно открыть файл umiHierarchyElement.php, который расположен в папке /classes/system/subsystems/models/hierarchy и найти функцию updateSiteMap и заменить код функции на:
public function updateSiteMap($ignoreChilds = false) { $hierarchy = umiHierarchy::getInstance(); if(!$ignoreChilds) { $childs = $hierarchy->getChilds($this->id, true, true, 1); if (is_array($childs)){ foreach ($childs as $childId => $value) { $child = $hierarchy->getElement($childId)->updateSiteMap($ignoreChilds); } } } $oldForce = $hierarchy->forceAbsolutePath(); $link = $hierarchy->getPathById($this->id, false, false, true); $update_time = date('c', $this->update_time); $sql = "SELECT level FROM cms3_hierarchy_relations WHERE (rel_id = '' or rel_id is null) and child_id={$this->id}"; $result = l_mysql_query($sql); $dirName = CURRENT_WORKING_DIR . "/sys-temp/sitemap/{$this->domain_id}/"; if (!is_dir($dirName)) mkdir($dirName, 0777, true); $xml = $dirName . "{$this->id}.xml"; if(file_exists($xml)) unlink($xml); if ($this->is_active && !$this->robots_deny && !$this->is_deleted) { $dom = new DOMDocument(); $url = $dom->createElement('url'); $loc = $dom->createElement('loc', $link); $lastmod = $dom->createElement('lastmod', $update_time); $dom->appendChild($url); $url->appendChild($loc); $url->appendChild($lastmod); file_put_contents($xml, $dom->saveXML($url)); } $hierarchy->forceAbsolutePath($oldForce); }
После того, как это сделано, нужно перейти в папку /sys-temp/sitemap и удалить папку с id вашего домена.
Далее зайти в модуль «Конфигурация», вкладка «Домены» (/admin/config/domains/) и нажать на кнопку «Обновить» в колонке «Обновить sitemap.xml».
На этом все 🙂 Удачи в проектах.
P.S. После обновления система затрет данные изменения и нужно будет повторно вносить изменения.