АРХИВ ПО ТЭГУ "ПРОГРАММИРОВАНИЕ"
ЯНВАРЬ 4, 2009

Как реализовать динамические мета тэги keywords и description для любой страницы.

Сейчас я пишу небольшой проектик на Cakephp 1.2 и у меня возник вопрос, как мне генерировать мета тэги для разных страниц свои, чтобы оптимизировать сайт под поисковые запросы. Я нашел несколько статей, описывающих как это сделать, и в итоге я поступил так:

1) Нужно сделать Helper класс, например, MetaHelper. И поместить в него следующий код:

<?php
	class MetaHelper extends AppHelper {
		var $keywords = 'TODO Default keywords';
		var $description = 'TODO Default description';

		function afterRender() {
			$view = ClassRegistry::getObject('view');
			$view->set('keywords_for_layout', $this->keywords);
			$view->set('description_for_layout', $this->description);
		}

		function setKeywords($s) {
			if (!empty($s)) {
				$this->keywords = $s;
			}
		}

		function setDescription($s) {
			if (!empty($s)) {
				$this->description = $s;
			}
		}
	}
?>

2) Добавить этот хелпер в AppController.

3) В layout’е в <head> прописать:

    <meta name="description" content="<? echo $description_for_layout ?>" />
    <meta name="keywords" content="<? echo $keywords_for_layout ?>" />

Итог: Все очень просто. На самом деле этот подход можно использовать для установки любых других значений layout’а не доступных напрямую из view’хи.

Вот и все.

Страницы:1...7891011