Как убрать приоритет с sitemap.xml в UMI.CMS

Как убрать приоритет с 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. После обновления система затрет данные изменения и нужно будет повторно вносить изменения.

Bookmark the permalink.

Также может быть интересно: