Bilişim dünyasına kaliteli, özgün ve Türkçe içerikler kazandırmayı hedefleyen bir platform..

friends friends friends

Yii2 Framework Dynamic sitemap.xml⛱

Öncelikle backend/components/MyComponents.php sayfasına aiağıda ki fonksiyonları ekliyoruz. Blog adlı tablomuzda bulunan postTitle, postTitleSeo ve created_at adlı kolonlarımızı çekerek sitemap.xml oluşturuyoruz.

public function datetime($time){
		/*
			unix formatında ki veriyi sitemap e göre yazacak
		*/
		return isset($time)? date('Y-m-d\TH:i:s+00:00',$time):\Yii::t('app','Unspecified');
	}
	
	function createSitemap(){
		$xml = new \DomDocument('1.0', 'UTF-8');
		$example_element = $xml->createElement('urlset');
        $example_element->setAttribute("xmlns","http://www.sitemaps.org/schemas/sitemap/0.9");
		
		/*Makalelerden önce anasayfa eklensin*/
		$node1_element = $xml->createElement('url');
		$example_element->appendChild($node1_element);


		$subnode2_element = $xml->createElement('loc','https://www.sitename.com/');
		$node1_element->appendChild($subnode2_element);
		
		$subnode2_element = $xml->createElement('lastmod',Yii::$app->MyComponents->datetime(time()));
		$node1_element->appendChild($subnode2_element);
		
		$subnode2_element = $xml->createElement('priority','1.0');
		$node1_element->appendChild($subnode2_element);
		/*Makalelerden önce anasayfa eklensin*/

		$posts=\backend\models\Blog::find()->all();
		foreach($posts as $p=>$post){
			$node1_element = $xml->createElement('url');
			//$node1_element->setAttribute('id', '1');
			//$node1_element->setAttribute('name', 'node 1');
			$example_element->appendChild($node1_element);

	
			$subnode2_element = $xml->createElement('loc','https://www.sitename.com/blog/'.$post->postTitleSeo.'?language='.$post->dil->dilKisaAd);
			$node1_element->appendChild($subnode2_element);
			
			$subnode2_element = $xml->createElement('lastmod',Yii::$app->MyComponents->datetime($post->created_at));
			$node1_element->appendChild($subnode2_element);
			
			$subnode2_element = $xml->createElement('priority','0.80');
			$node1_element->appendChild($subnode2_element);
		}

		

		$xml->appendChild($example_element);
		$xml->formatOutput = TRUE;
		//echo $xml->saveXML();
		$xml->save( Yii::getAlias('@frontend').'/web/sitemap.xml');
	}
Yii2 Framework sitemap.xml
0 Beğeni
Yii2 Framework
Önceki Yazı

Yerli ve Yabancı Shopping Cartlar⚡

07 Nis. 2021 tarihinde yayınlandı.
Sonraki Yazı

"" nasıl silinir?

07 Nis. 2021 tarihinde yayınlandı.
arrow