• Автор:

    Flesha
  • Добавлено:

    июн 18, 2011
  • Комментариев:

    0
  • Просмотров:

    3431

Оптимизируем вывод контента на страницах DLE 9.3

Оптимизируем вывод контента на страницах DLE 9.3

Начнём с дублирования контента на страницах тегов и архивов и сразу напомню, что мы создаём СДЛ(сайт для людей).
По нашему мнению данные страницы очень важны и удобны пользователю для сортировки и поиска публикаций по их тегам или дате опубликования, но в тоже время понятно, что контент на них дублирует контент главных страниц(пагинации) сайта, категорий и др.
А происходит это потому, что функционально для вывода всех перечисленных страниц используются одни и те же модуль(show.short.php) и шаблон(shortstory.tpl). Мы предлагаем изменить это и сделать на страницах архива и тегов вывод похожий на вывод реализуемый в картах сайтов, т.е. мы выведем только заголовки публикаций.

Для этого нам нужно создать файл шаблона и отредактировать несколько файлов:

1. Создаём файл шаблона tags.tpl с именем tags в Панели управления, используя стандартный редактор шаблонов, а за основу берём файл вашего шаблона shortstory.tpl только удаляем из него лишнее оставив заголовок с ссылкой на полную новость, например так:
<div class="short">[full-link]{title}[/full-link]</div>


2. В engine/data/config.php (для настроек количества выводимых заголовков новостей на страницу)
ищем(у вас вместо значения 10 может быть другое число):
'news_number' => "10",


и ниже добавляем(20 - это будет число выводимых на страницах тегов и архива заголовков новостей)
'news_number_short' => "20",


3. engine/engine.php в четырёх местах меняем:
$config['news_number'];


на:
$config['news_number_short'];


во всех четырёх местах данная переменная в конце строки, а строки расположены:

- первое редактируемое место:
ищем комментарий кода:
// ################ Вывод профиля пользователя #################


и ВЫШЕ примерно на 4-ре строки есть строка начинающаяся с:
$sql_select = "SELECT id.....


в конце этой строки и есть необходимая нам переменная которую мы заменяем.

- второе редактируемое место:

ищем комментарий кода:
// ################ Новости за месяц #################



и ВЫШЕ примерно на 3-е строки есть такая же как и раньше строка начинающаяся с:
$sql_select = "SELECT id.....


в конце этой строки необходимая нам переменная которую мы заменяем.

- третье редактируемое место:

ищем комментарий кода:
// ################ Новости за день #################


и ВЫШЕ примерно на 3-е строки есть такая же как и раньше строка начинающаяся с:
$sql_select = "SELECT id.....


в конце этой строки необходимая нам переменная которую мы заменяем.

- четвёртое редактируемое место:
ищем комментарий кода:
// ################ Новость целиком #################


и ВЫШЕ примерно на 3-е строки есть такая же как и раньше строка начинающаяся с:
$sql_select = "SELECT id.....


в конце этой строки необходимая нам переменная которую мы заменяем.

4. В engine/modules/show.short.php ищем:
if( isset( $view_template ) and $view_template == "rss" ) {    } elseif( $category_id and $cat_info[$category_id]['short_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['short_tpl'] . '.tpl' );    else $tpl->load_template( 'shortstory.tpl' );


и заменяем на:
if ($do == "tags" or $year != '' or $month != '' or $day != '') {    $tpl->load_template( 'tags.tpl' );    }    elseif( isset( $view_template ) and $view_template == "rss" ) {    } elseif( $category_id and $cat_info[$category_id]['short_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['short_tpl'] . '.tpl' );    else $tpl->load_template( 'shortstory.tpl' );


5. В engine/inc/options.php (для управления настройками количества выводимых заголовков новостей на страницу)

найти:
showRow( $lang['opt_sys_newc'], $lang['opt_sys_newd'], "<input class=\"edit bk\" type=text style=\"text-align: center;\"  name=\"save_con[news_number]\" value=\"{$config['news_number']}\" size=10>" );


и ниже добавить:
showRow( "Количество заголовков новостей на дублирующих страницах", "Количество выводимых заголовков новостей на страницах архива, тегов и др.", "<input class=\"edit bk\" type=text style=\"text-align: center;\"  name=\"save_con[news_number_short]\" value=\"{$config['news_number_short']}\" size=10>" );


Оптимизируем вывод контента на страницах DLE 9.3


С этими страницами мы разобрались. Таким же способом можно реализовать и вывод других страниц, например, новостей пользователя, но они у нас в DLE теперь закрыты в robots.txt. Здесь описана наиболее простая реализация именно вывода, а расширенная реализация уберёт неиспользуемые поля в запросах после данной оптимизации и настройки можно расширить выбором шаблона как это реализовано в категориях.

Автор: Yeti
Вернуться
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.