UMIhelp

Разработка сайта на UMI.CMS => Настройка системы и модулей => Тема начата: antlio909 от 07 Апреля 2016, 15:41:32

Название: Своя страница 404
Отправлено: antlio909 от 07 Апреля 2016, 15:41:32
Здравствуйте!

Интересует вопрос, как можно создать свою страницу 404 на UMI? Сейчас при 404 выдает стандартную страницу по default.xls

Опыта в UMI относительно мало.

Спасибо!
Название: Re: Своя страница 404
Отправлено: aghigay от 07 Апреля 2016, 16:07:01
А какую конкретно цель вы преследуете, создавая собственную страницу? Прописать туда какой-то текст?
Название: Re: Своя страница 404
Отправлено: antlio909 от 07 Апреля 2016, 16:25:46
"А какую конкретно цель вы преследуете, создавая собственную страницу? Прописать туда какой-то текст?"

Прописать текст + добавить 2 ссылки ( в контакты и на главную )
Название: Re: Своя страница 404
Отправлено: aghigay от 07 Апреля 2016, 16:45:16
Для таких целей я обычно пользуюсь подходом от demodizzy: там есть специальный шаблон, который отвечает за вывод при 404 ошибке. Он лежит в /templates/demodizzy/xslt/modules/content/404.xsl и выглядит так:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet SYSTEM "ulang://i18n/constants.dtd:file">

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:umi="http://www.umi-cms.ru/TR/umi">


<xsl:template match="/result[@method = 'notfound']" priority="1">
<xsl:variable name="error-page" select="document(concat('uhttp://', @domain, @pre-lang, '/notfound/.xml'))/result/page" />

<div class="notfound" umi:element-id="{$error-page/@id}" umi:field-name="content">
<xsl:value-of select="$error-page//property[@name = 'content']/value" disable-output-escaping="yes" />
</div>
</xsl:template>
</xsl:stylesheet>

В нем указывается либо как тут - взять информацию с конкретной страницы
<xsl:variable name="error-page" select="document(concat('uhttp://', @domain, @pre-lang, '/notfound/.xml'))/result/page" />

Либо просто туда пишется нужный текст. Зависит от потребностей и пожеланий клиента
Название: Re: Своя страница 404
Отправлено: antlio909 от 07 Апреля 2016, 18:31:12
У меня там сейчас отсутствует подобный файл. В таком случае его следует добавить, верно? Т.е. как обычное добавление 404.html для "чистого" сайта?

И.. насколько я понимаю, обязательно в xslt, если у меня именно этот шаблонизатор, верно?
Название: Re: Своя страница 404
Отправлено: aghigay от 07 Апреля 2016, 23:25:01
xslt обязательно, добавления файла будет недостаточно - нужно его еще и подключить.
Название: Re: Своя страница 404
Отправлено: antlio909 от 08 Апреля 2016, 18:00:10
"нужно его еще и подключить."
А как это сделать?
Название: Re: Своя страница 404
Отправлено: aghigay от 08 Апреля 2016, 18:09:22
В demodizzy это делается так: в файле /templates/demodizzy/xslt/modules/content/common.xsl дописывается строка
<xsl:include href="404.xsl" />