Как изменить страницы ошибок 404 и других

В большинстве тем дизайна за отображение страниц ошибок отвечает шаблон error.html который может быть отредактирован в разделах Сайт - Дизайн, Магазин - Витрина - Шаблоны и в соответствующих разделах других приложений, вид страниц которых вам требуется изменить.

Это требует базовых знаний языка разметки HTML. Инструкция по использованию редактора:
https://www.shop-script.ru/help/9241/video-design-editor/

В теме Default 2.0 изначально данный шаблоны выглядит следующим образом:

<h1>
{if $error_code}{$error_code}. {/if}
{if $error_message}{$error_message}{else}[s`Error`]{/if}
</h1>
[s`The requested resource is not available.`]

Чтобы добавить собственный обработчик какой-нибудь ошибки, например, 404 его следует привести к виду подобному следующему:

{if $error_code == 404}<h1>{$error_code}.</h1>
Упс! Ничего не найдено. Если вы видите эту ошибку — сообщите нам, пожалуйста, на адрес <a href="mailto:support@yoursite.ru?subject={$error_code}">support@yoursite.ru</a> указав адрес этой страницы.
{elseif $error_code}<h1>{$error_code}.
{if $error_message}{$error_message}{else}[s`Error`]{/if}
</h1>
[s`The requested resource is not available.`]
{/if}

Добавить ещё один обработчик можно следующим образом:

{if $error_code == 404}<h1>{$error_code}.</h1>
Упс! Ничего не найдено. Если вы видите эту ошибку — сообщите нам, пожалуйста, на адрес <a href="mailto:support@yoursite.ru?subject={$error_code}">support@yoursite.ru</a> указав адрес этой страницы.

{elseif $error_code == 500}<h1>{$error_code}.</h1>
На сервере что-то сломалось! Если вы видите эту ошибку — сообщите нам, пожалуйста, на адрес <a href="mailto:support@yoursite.ru?subject={$error_code}">support@yoursite.ru</a> указав адрес этой страницы, а также описав ваши действия, которые предшествовали возникновению ошибки.

{elseif $error_code}<h1>{$error_code}.
{if $error_message}{$error_message}{else}[s`Error`]{/if}
</h1>
[s`The requested resource is not available.`]
{/if}



2 комментария

  • +1
    s.khil s.khil 22 июля 2016 20:04 #

    А что делать, если я, например, хочу, чтобы ошибка 404 выводилась не через errors.html, а через отдельный файл 404.html в корне сайта?

    • +1
      Николай Николай Webasyst 28 июля 2016 12:34 #

      Это не совсем логично, учитывая что страницы сообщения об ошибок является частью конкретной темы дизайна, а не всего сайта в целом. Если хотите чтобы код размещался именно в отдельном файле вы можете создать шаблон 404.html именно в конкретной теме (это можно сделать при помощи встроенного редактора шаблонов). После этого вы сможете подключить этот файл в нужном месте файла error.html

      Пример включения кода одного шаблона в другой:
      {include file="`$wa_active_theme_path`/404.html" inline}

      Добавить комментарий

      Чтобы добавить комментарий, зарегистрируйтесь или войдите