Допиливаем xfsearch в DLE

Допиливаем xfsearch в DLEСегодня, впервые, в моем блоге пойдет речь о системе управления сайтом DataLife Engine (DLE). Точнее не о самом DLE а конкретно о выводе дополнительных полей и различных способа изменения xfsearch в URL на что то более подходящее. Для тех, кто не знаком с этим движком, написанное ниже будет совершенно непонятным, но для тех, кто в теме, данный пост, думаю, будет даже очень полезен. Хотя, возможно, и тот, кто привык работать с WordPress найдет для себя что ни будь интересное.

Давно я не писал таких объемных статей, в принципе, я вообще давно не писал, а тут ТАКОЕ. Последний раз что-то подобное было это пост о восстановлении Хрома а до этого советы по восстановлению данных после переустановки Винды. Надеюсь мой мануальчик вам пригодится.

Что такое дополнительное поле в DataLife Engine

И так, для начала давайте разберемся, что собой представляют дополнительные поля в DLE. Дополнительными полями можно назвать расширение для более удобного добавления материалов на сайт. Если заглянуть на страничку добавления новости, мы обнаружим, что там уже существует несколько полей. Это заголовок, дата, категория, краткая новость, полная новость и т. д.

Возможности данного движка предусматривают добавление собственных полей. Возьмём, к примеру, какой ни будь киносайт (DLE больше всего подходит для создания киносайтов сайтов). Как я уже говорил, у нас уже есть краткое описание (выводится в ленте новостей) и полное описание на полной странице материала. Но кроме описания мы хотим указать режиссера фильма, актёрский состав, год выпуска и сделать это так чтобы эти строки визуально отличались от всего описания. Для этого и существуют дополнительные поля. Мы создаем дополнительное поле, вставляем его в шаблон, форматируем нужным нам образом (применяем стили) а в админке только подставляем свои значения для каждого материала. Таким образом, мы избавляем себя от ввода и форматирования однотипной информации.

Перекрёстные ссылки в доп. полях

Перекрёстные ссылки в доп полях это почти то же самое что, всем известные, теги, только генерируется полуавтоматически. Как это работает? Если в настройках поля указать "Использовать значения полей как перекрестные гиперссылки" то значения доп. полей будут выводится в виде ссылок на показ других публикаций, которые имеют такие же значения. Например, если в поле режиссер (берём к примеру всё тот же кино-сайт) вы укажите Леонид Гайдай, то на сайте эта информация отобразится в виде ссылки на ленту новостей которые имеют такое же значение, то есть на фильмы где вы в поле "режиссер" указали слово "Гайдай".

Меняем xfsearch в URL страниц перекрёстных ссылок в доп. полях на название доп поля. + страницы пагинации

Голову сломал пока определился как правильно сформулировать заголовок :). Но все не так пугающе, как можно подумать прочитав подзаголовок. Суть в следующем: Например, на нашем киносайте есть доп поле "год выхода" или "режиссер фильма" (или оба этих поля одновременно) и вы для него используете перекрёстные ссылки, то URL страницы на которой выводятся записи по доп. полю имеют следующий вид:

www. site. ru /xfsearch/ 2015 или www. site. ru /xfsearch/ Леонид+Гайдай

Вот это самое xfsearch портит внешний вид URL, к тому же и для года выхода и режиссера фильма будет один путь в URL. Получается как какая-то непонятная категория — xfsearch. Согласитесь это не совсем правильно.

Выход — заменить xfsearch на название доп поля. Например, если для вывода года выпуска фильма доп поле у вас имеет название year а для режиссера снявшего этот фильм rejiser. то заменив xfsearch на названия этих полей вид URL будет следующий:

www. site. ru /year/ 2015 и www. site. ru /rejiser/ Леонид+Гайдай

Как это реализовать? Если погуглить (странное слово, я например гуглю в Яндексе :)) найдется масса сайтов (практически все из ТОП 10 выдачи), которые, ссылаясь друг на друга, описывают один и тот же хак. Хак рабочий, но есть одно НО. Если у вас, поэтому доп. полю есть много статей (например, фильмов 2015 года) то, скорее всего у вас появятся страницы пагинации. И на страницах пагинации название доп поля в URL сменится на стандартное xfsearch.

www. site. ru /xfsearch/ 2014/page/2/