Страница 1 из 11
Модератор форума: Yuri_G 
Сообщество uCoz » Мастерская uCoz » Дизайн: управление шаблонами » Условные операторы для вывода мета-тегов на страницах
Условные операторы для вывода мета-тегов на страницах
vanovoevoda
Сообщений: 147
Репутация: 6

Сообщение # 1 | 17:39:35
Мне необходимо для каждой отдельной страницы сайта в шаблоне "Страницы сайта" (тот что синим выделен) прописать свои meta и title для каждой нужной страницы.

если делать вот так для каждой страницы

<?if($URI_ID$='page44')?>
<title>тут текст.тут текст.тут текст.тут текст.тут текст.</title>
<meta name="description" content="тут текст.тут текст.тут текст.тут текст.тут текст."/>
<meta name="keywords" content="тут текст.тут текст.тут текст.тут текст.тут текст.тут текст. "/>
<?else?>
<title>тут текст.тут текст.тут текст.тут текст.тут текст.тут текст.</title>
<meta name="description" content="тут текст.тут текст.тут текст.тут текст.тут текст.тут текст.."/>
<meta name="keywords" content="тут текст.тут текст.тут текст.тут текст.тут текст. "/>
<?endif?>

то meta title повторяются в коде. Можно просто для каждой нужной страницы использовать Персональный шаблон и туда уже писать теги, но а если страниц очень много, то как быть? Возможно ли вывести через условные операторы? Страниц около 15. Спасибо.
Сообщение отредактировал webanet - Понедельник, 21 Мар 2016, 20:08:20
Виталий98
Сообщений: 133
Репутация: 10

Сообщение # 2 | 17:55:17
<?if($URI_ID$='page44')?>
<?else?>
<?if($URI_ID$='page45')?>
<?else?>
<?if($URI_ID$='page46')?>
<?endif?>
<?endif?>
<?endif?>

Это основна кода. Title и прочее прописать сможешь.
Сообщение отредактировал Виталий98 - Понедельник, 21 Мар 2016, 17:55:56
webanet
Личный менеджер
Сообщений: 23015
Репутация: 4865

Сообщение # 3 | 18:03:50
vanovoevoda, зачем вы в условие ставите титл, если титл можно без условий для каждой страницы сделать уникальным. делается это так
в шаблоне страницы сайта должен стоять такой код
<title>$MODULE_NAME$ - $SITE_NAME$</title>
где выделенное красным и есть уникальное название страницы. далее на редактирование каждую страницу и в поле название страницы пишите то, что желаете увидеть в теге TITLE для этой страницы

ТУТ можно оставить своё мнение по любому вопросу
https://webanetlabs.net/
vanovoevoda
Сообщений: 147
Репутация: 6

Сообщение # 4 | 19:07:08
Виталий98, да да , это то что нужно. но есть ещё вопросик.
вот например я хочу прописать уникальные meta только для этих трёх страниц - 44 45 46, а для прочих - такие как главная, контакты, о сайте и тд, оставить стандартные. это как-то можно дореализовать через эти вот операторы?

<?if($URI_ID$='page44')?>
<?else?>
<?if($URI_ID$='page45')?>
<?else?>
<?if($URI_ID$='page46')?>
<?endif?>
<?endif?>
<?endif?>

+ оператор с meta для всех прочих страницы

как-то так

Добавлено (21 Мар 2016, 19:07:08)
---------------------------------------------
webanet, точно) что-то я не приметил так сразу) спасибо что уточнили.

Виталий98
Сообщений: 133
Репутация: 10

Сообщение # 5 | 19:52:47
webanet, я так понимаю, этот оператор будет выводить так же названия отдельных страниц, прописанные в редакторе страниц?

vanovoevoda, у каждой страницы есть свой номер. Допустим, 5 уникальных страниц под номерами от 1 до 5. Остальным - общий код.

<?if($URI_ID$='page1')?>
<?else?>
<?if($URI_ID$='page2')?>
<?else?>
<?if($URI_ID$='page3')?>
<?else?>
<?if($URI_ID$='page4')?>
<?else?>
<?if($URI_ID$='page5')?>
<?else?>
<?endif?>
<?endif?>
<?endif?>
<?endif?>
<?endif?>

То есть после данных для пятой страницы ставим код "Если", и после него проставляем общие для всех остальных страниц данные. С учётом того, что без нужных операторов они будут абсолютно одинаковыми.
vanovoevoda
Сообщений: 147
Репутация: 6

Сообщение # 6 | 01:51:21
Виталий98, разобрался. работает. но есть проблема - такой способ действителен только для ограниченного количества метатегов. около 10. Когда лимит превышен, то на тех страницах, на которых лимита не хватило метатеги вообще отсутствуют.
Как вариант можно сделать так:
вместо писанины для каждой страницы в Description можно прописать $MODULE_NAME$, и при этом в название каждой страницы прописать всё необходимое.
К сожалению, с ключевыми словами так уже не сделаешь. Придётся либо писать общие, либо создавать персональные шаблоны и там писать, либо через условные операторы как выше, но для небольшого количества категорий.
_CrySiS_
Сообщений: 464
Репутация: 38

Сообщение # 7 | 03:43:30
vanovoevoda, а что мешает сделать для всех страниц? Если их очень много - то придется сделать, так как по другому ни как.

Цитата Виталий98 ()
<?if($URI_ID$='page1')?>
<?else?>
<?if($URI_ID$='page2')?>
<?else?>
<?if($URI_ID$='page3')?>
<?else?>
<?if($URI_ID$='page4')?>
<?else?>
<?if($URI_ID$='page5')?>
<?else?>
<?endif?>
<?endif?>
<?endif?>
<?endif?>
<?endif?>


Для своего прошлого сайта, я такие коды делал по другому (Каталог файлов, категорий больше 30). Сделал вот так (это как пример):

Цитата Виталий98 ()
<?if($URI_ID$='page1')?><title>тут текст.тут текст.тут текст.тут текст.тут текст.</title>
<meta name="description" content="тут текст.тут текст.тут текст.тут текст.тут текст."/>
<meta name="keywords" content="тут текст.тут текст.тут текст.тут текст.тут текст.тут текст. "/>
<?else?><?if($URI_ID$='page2')?><title>тут текст.тут текст.тут текст.тут текст.тут текст.</title>
<meta name="description" content="тут текст.тут текст.тут текст.тут текст.тут текст."/>
<meta name="keywords" content="тут текст.тут текст.тут текст.тут текст.тут текст.тут текст. "/>
<?endif?><?if($URI_ID$='page3')?><title>тут текст.тут текст.тут текст.тут текст.тут текст.</title>
<meta name="description" content="тут текст.тут текст.тут текст.тут текст.тут текст."/>
<meta name="keywords" content="тут текст.тут текст.тут текст.тут текст.тут текст.тут текст. "/>
<?endif?><?if($URI_ID$='page4')?><title>тут текст.тут текст.тут текст.тут текст.тут текст.</title>
<meta name="description" content="тут текст.тут текст.тут текст.тут текст.тут текст."/>
<meta name="keywords" content="тут текст.тут текст.тут текст.тут текст.тут текст.тут текст. "/>
<?endif?><?if($URI_ID$='page5')?><title>тут текст.тут текст.тут текст.тут текст.тут текст.</title>
<meta name="description" content="тут текст.тут текст.тут текст.тут текст.тут текст."/>
<meta name="keywords" content="тут текст.тут текст.тут текст.тут текст.тут текст.тут текст. "/>
<?endif?>

И на каждой странице все нормально было.
Виталий98
Сообщений: 133
Репутация: 10

Сообщение # 8 | 06:28:46
vanovoevoda, про ограничение не в курсе. У меня сайт до такого количества страниц ещё не доходил.
vanovoevoda
Сообщений: 147
Репутация: 6

Сообщение # 9 | 16:18:33
_CrySiS_, на все страницы код не принимает большого количества метатегов.
Сообщество uCoz » Мастерская uCoz » Дизайн: управление шаблонами » Условные операторы для вывода мета-тегов на страницах
Страница 1 из 11
Поиск: