Простые заголовки (метатеги) для DLE

Простые заголовки (метатеги)

Простые заголовки (метатеги)

Приветствую всех и с радостью спешу поделиться с вами простым, но невероятно удобным и полезным инструментом.
Ко мне часто обращались с просьбой сделать заголовок страницы, чтобы он был по шаблону: "Смотреть {title} онлайн", "Скачать торрент {title}" и т.д.
Часто еще нужно было чтобы для разных категорий формировался разный заголовок.
Понятное дело сам алгоритм прост и легко делается на PHP. Но ведь не все знакомы с PHP и смогут правильно и в нужное место прописать код.
Вот данный хак позволяет легко настроить любой заголовок по своему шаблону.
По умолчанию, если у новости не указан индивидуальный заголовок, то он будет сформирован по единому шаблону:
{title} » %Заголовок сайта%

где title - простой заголовок новости.
А что делать если хочется туда же вставить значение доп.поля. Или для разных категорий (фильмы, сериалы, ...) добавить разные шаблоны.
Вот для решения этой задачи я и написал этот хак (честно говоря случайно как-то вышло...)
С помощью хака можно менять title, description и keywords.

Вот простой пример того, что можно сделать, просто в шаблоне fullstory.tpl в самый верх вставить:
[title]
	{title}
	[if xfvalue_original] / [xfvalue_original][/if]
	[if xfvalue_year] ([xfvalue_year])[/if]
	- смотреть онлайн в хорошем качестве
[/title]
[description]
	[if short_story]
		{short-story limit="150"}
	[else]
		Смотреть 
		[catlist=2]фильм[/catlist]
		[catlist=3]сериал[/catlist]
		[catlist=4,8,9]мультфильм[/catlist]
		{title}
		[if1 xfvalue_original] / [xfvalue_original][/if1]
		[if1 xfvalue_year] [xfvalue_year] года[/if1]
		бесплатно, онлайн в хорошем качестве
	[/if]
[/description]
[if !keywords]
	[keywords]смотреть, онлайн, бесплатно, фильм[/keywords]
[/if]

Все двойные пробелы и табы будет заменены на один пробел.
Примечание: В данном примере ключевые слова заполняются только в том случае, если не заполнены ключи в самой новости.

Пример можно посмотреть на демо сайте

В данном примере использован хак Шаблонизатор условий Tpl-If v.2.0. Но можно использовать и xfgiven_ если их функционала будет достаточно.

Установка:


Открыть файл engine/modules/show.full.php
Найти строку:
		$tpl->compile( 'content' );

После нее вставить:
////////////////////////////////////////////////////////////////////////////////////////////////
		$simple_meta = array('title','description','keywords');
		foreach ($simple_meta as $key) {
			if (preg_match("#\[({$key})\](.*?)\[/\\1\]\s*#is", $tpl->result['content'], $meta_found)) {
				if ($key == 'title' && $metatags['header_title']) {
				} else {
					$key = str_replace('title', 'header_title', $key);
					$meta_found[2] = preg_replace("#\s{2,}#s", " ", $meta_found[2]);
					$metatags[$key] = trim(strip_tags($meta_found[2]));
				}
				$tpl->result['content'] = str_replace($meta_found[0], "", $tpl->result['content']);
			}
		}
////////////////////////////////////////////////////////////////////////////////////////////////

На этом все :)

Надеюсь хак окажется полезным и поможет вам в продвижении ваших сайтов.

С уважением,
Олег Александрович a.k.a. Sander
Комментарии: (4)
  1. foto
    Посетитель 10 ноября 2017 16:02 #
    Лучше всё таки хак для engine.php который позволяет полностью разобрать Простые заголовки (метатеги) на составляющие с богатым набором переменных и условий.
    -1
    1. foto
      Администратор 11 ноября 2017 15:39 #
      Чтобы составить простейший шаблон для заголовка в engine.php необходимы как минимум поверхностные знания в PHP.
      Да и то, поверхностные нужны только чтобы человек смог сам внести изменения в написанный код. А вот чтобы самостоятельно составить формулу/условия нужны уже немножко большие знания.

      Данный хак же не требует вообще никаких знаний, кроме знания тегов шаблона DLE, по которым есть наглядный мануал.
      +1
      1. foto
        Посетитель 15 ноября 2017 15:25 #
        Данный хак ограничен, и всё так же требует хоть какого то понимания того что человек делает.

        Я же говорил о разбиение мета тегов на отдельные теги и условия (DLE-ешные шаблонные), и благодаря aviable, можно строить для разных разделов совсем разные заголовки.

        Так понятнее объяснил?

        Целсофт конечно же этого не сделает из коробке, т.к. большинство нубов то с логикой aviable не всегда разобраться могут.
        0
  2. foto
    VIP 22 ноября 2017 20:18 #
    Якщо заголовок з 6 слів - назва сайту в тітл не додається!
    0
Добавить комментарий
  • Логин
  • E-mail
Повторите рисунок:
antibot
© Sander-Development. 2009-2018.
При копировании, ссылка на источник обязательна.