Page 1 of 3

tag and content not found

Posted: Fri Dec 07, 2018 5:22 pm
by ulan
Добрый вечер, подскажите структуру
Если зайти на заведомо не существующий тег то выводится стандартная страница тегов без тумб
можно ли сделать если теги не найдены чтобы выводился шаблон content_not_found

Re: tag and content not found

Posted: Fri Dec 07, 2018 6:12 pm
by admin
Приветствую!

таги выводятся так же как и поиск - если поиск ничего не нашел то гугле же непишет 404, а пишет найдено 0

в чем смысл с таками делать иначе?

Re: tag and content not found

Posted: Fri Dec 07, 2018 6:18 pm
by ulan
Серч я могу заблокировать от индексации и не парится
а с тегами проблемней, к примеру я разворачивал сегодня старые домены где когда то были страницы с тегами
но на новом сайте этих тегов не существует а пустые не информативные страницы лезут в индекс без контента и без тумб

Re: tag and content not found

Posted: Fri Dec 07, 2018 6:31 pm
by admin
те вы думаете лучше показывать 404 чем страницу где будет писать что "нет контента, но вы можете посмотерть его тут" ?

дело личное

в темпелйте можно проверять на total_items == 0 и выдавать

header("HTTP/1.1 404 Not Found");

Re: tag and content not found

Posted: Fri Dec 07, 2018 6:50 pm
by ulan
Я может не сильно понял
в темпелйте можно проверять на total_items == 0 и выдавать

header("HTTP/1.1 404 Not Found");

но это не изменит не тайтл ничего а просто пошлет в хидерах 404 пошлет

а я все же хочу выводить страницу контентнотфаунд
как это по умному сделать?
total_items == 0 также будет влиять и на серчи? раз шаблон общий

Re: tag and content not found

Posted: Fri Dec 07, 2018 8:04 pm
by admin
на серчи -да, но вы можете в реврайтахъ добавить &force_template для реврайта тага

if (total_items == 0) {

header("HTTP/1.1 404 Not Found");
инклуд темплейта not found

} else {

обычный вывод тагов

}

Re: tag and content not found

Posted: Sat Dec 08, 2018 4:25 am
by ulan
да у меня так и есть
RewriteRule ^search/([^/]+)/$ /scj/cgi/index.php?search=$1&%{QUERY_STRING} [L]
RewriteRule ^tag/([^/]+)/$ /scj/cgi/index.php?tag=$1&%{QUERY_STRING} [L]

теперь вопрос как правильно закодить чтобы было
если страница тег и 0 резалтов то инклудим темплейт нот фаунд
иначе выход из условия

А может быть разбить серчи и таги на разные темплейты?

Re: tag and content not found

Posted: Sat Dec 08, 2018 4:34 am
by ulan
а еще если не трудно подскажите почему не работает
<? if ('<!--FORCE_TEMPLATE-->' == 'index') { ?> Код для индекса <? } else { ?> Код для всех остальных страниц <? } ?>
выводит на индексе код для всех страниц
в то время как
<? if ($_SERVER['REQUEST_URI']=='/') { ?>Код для индекса<? } else { ?>Код для всех остальных страниц<? } ?>
такой код работает

Re: tag and content not found

Posted: Sat Dec 08, 2018 5:58 am
by admin
ulan wrote: Sat Dec 08, 2018 4:25 am да у меня так и есть
RewriteRule ^search/([^/]+)/$ /scj/cgi/index.php?search=$1&%{QUERY_STRING} [L]
RewriteRule ^tag/([^/]+)/$ /scj/cgi/index.php?tag=$1&%{QUERY_STRING} [L]

теперь вопрос как правильно закодить чтобы было
если страница тег и 0 резалтов то инклудим темплейт нот фаунд
иначе выход из условия

А может быть разбить серчи и таги на разные темплейты?

а где тут в реврайтах force_template ?

на одно сообщение выше пример как инклудить темпелйт. Видимо я что-то не понимаю...

Re: tag and content not found

Posted: Sat Dec 08, 2018 5:59 am
by admin
ulan wrote: Sat Dec 08, 2018 4:34 am а еще если не трудно подскажите почему не работает
<? if ('<!--FORCE_TEMPLATE-->' == 'index') { ?> Код для индекса <? } else { ?> Код для всех остальных страниц <? } ?>
выводит на индексе код для всех страниц
в то время как
<? if ($_SERVER['REQUEST_URI']=='/') { ?>Код для индекса<? } else { ?>Код для всех остальных страниц<? } ?>
такой код работает

потому что $_SERVER - это переменная пхп , она существует, а <!--FORCE_TEMPLATE--> это по виду таг, но такого тага нет, где вы его взяли ? проверил http://smartcj.com/wiki/doku.php?id=ru: ... _templates - нету
есть <!--TEMPLATE_NAME--> - имя текущего темплейта ..