Избавиться от дублей в фотогалерее

InstantCMS 1.X
#1 4 января 2017 в 09:20
Приветствую. В альбомах на первой ветке при пагинации, урл принимает вид /photos/1034-1 и тд, причем описание альбома присутствует на всех подстраницах. Нужно либо убрать описание, а также кейворды и дескрипшн на подстраницах (на всех кроме главной альбома), либо закрыть эти подстраницы от индексации. Кто как решал такую проблему? Спасибо.
#2 4 января 2017 в 12:25
"Дублируется" только описание. Поэтому откройте файл components/photos/frontend.php и в секции if ($do=='view'){... найдите условие
  1. if($album['id'] != $root_album_id){
за ним начинается
  1. if($album['meta_desc']){
. Так вот перед ним напишите условие
  1. if ($page == 1){
и после строки
  1. $inPage->setDescription($meta_desc);
закройте скобку
  1. }
Это уберёт из метатега description описание вашего альбома и оставит просто "Фото". Что бы убрать описание альбома со страницы вам нужно передать переменую $page в шаблон. После
  1. cmsPage::initTemplate('components', 'com_photos_view')->
добавьте
  1. assign('page', $page)->
и затем в файле шаблона com_photos_view.tpl измените это
  1. {if $album.description}
на это
  1. {if $album.description && $page==1}
#3 4 января 2017 в 15:43
Lora, спасибо, я дошел до чего-то подобного, но...

В таком случае, на странице /photos/1035-2 и /photos/1035-3, и дальше — действительно, работает.
А вот /photos/1035 и /photos/1035-1 получаются идентичными. Из-за того, что переменная $page для обеих этих страниц равна 1.

Вот я и ломаю голову.
#4 5 января 2017 в 13:12
Используйте строковые ф-ции php или регулярное выражение.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.