мод реализует возможность задания описания и ключевых слов для темы при её создании, что облегчает её индексацию поисковиками и наводит "красивость".
Установка:
Скачать из файлового архива форума сам мод
Скачать из файлового архива сайта
после чего распаковать и загрузить содержимое папки root в корень сайта (где файл config.php). если у вас уже установлена папка umil, то удалите соответствующую папку из папки root перед копированием файлов.
Редактирование файлов (общие для всех стилей):
Код: Выделить всё
// Set some default variables
$uninit = array('post_attachment' => 0, 'poster_id' => $user->data['user_id'], 'enable_magic_url' => 0, 'topic_status' => 0, 'topic_type' => POST_NORMAL, 'post_subject' => '', 'topic_title' => '', 'post_time' => 0, 'post_edit_reason' => '', 'notify_set' => 0);
Перед частью строки
Код: Выделить всё
'topic_title' => '',
Вставить следующий код
Код: Выделить всё
'seo_desc' => '','seo_key' => '', 'seo_post_key' =>'', 'topic_seo_title' =>'',
Код: Выделить всё
$post_data['orig_topic_type'] = $post_data['topic_type'];
Вставить после
Код: Выделить всё
$post_data['seo_desc'] = utf8_normalize_nfc(request_var('seo_desc', '', true));
$post_data['seo_key'] = utf8_normalize_nfc(request_var('seo_key', '', true));
$post_data['seo_post_key'] = utf8_normalize_nfc(request_var('seo_post_key', '', true));
$post_data['topic_seo_title'] = utf8_normalize_nfc(request_var('topic_seo_title', '', true));
Код: Выделить всё
'message_md5' => (string) $message_md5,
Вставить после найденного
Код: Выделить всё
'seo_desc' => $post_data['seo_desc'],
'seo_key' => $post_data['seo_key'],
'seo_post_key' => $post_data['seo_post_key'],
'topic_seo_title' => $post_data['topic_seo_title'],
Код: Выделить всё
'TOPIC_TITLE' => censor_text($post_data['topic_title']),
Вставить перед найденным
Код: Выделить всё
'SEO_DESC' => $post_data['seo_desc'],
'SEO_KEY' => $post_data['seo_key'],
'SEO_POST_KEY' => $post_data['seo_post_key'],
'S_TOPIC_SEO' => (!empty($post_data['enable_topic_seo'])) ? true : false,
'TOPIC_SEO_TITLE' => $post_data['topic_seo_title'],
Код: Выделить всё
'EDIT_REASON' => $post_data['post_edit_reason'],
Вставить после найденного
Код: Выделить всё
'U_TOPIC_SEO_DESC' => ($auth->acl_get('u_topic_seo_desc')),
'U_TOPIC_SEO_KEY' => ($auth->acl_get('u_topic_seo_key')),
'U_SEO_POST_KEY' => ($auth->acl_get('u_seo_post_key')),
Код: Выделить всё
'TOPIC_TITLE' => $topic_data['topic_title'],
Вставить после найденного
Код: Выделить всё
'SEO_DESC' => (isset($topic_data['seo_desc'])) ? $topic_data['seo_desc'] : '',
'SEO_KEY' => (isset($topic_data['seo_key'])) ? $topic_data['seo_key'] : '',
'TOPIC_SEO_TITLE' => (isset($topic_data['topic_seo_title'])) ? $topic_data['topic_seo_title'] : '',
Код: Выделить всё
'S_TOPIC_MOD' => ($topic_mod != '') ? '<select name="action" id="quick-mod-select">' . $topic_mod . '</select>' : '',
Вставить после найденного
Код: Выделить всё
'S_TOPIC_SEO' => (!empty($topic_data['enable_topic_seo'])) ? true : false,
Код: Выделить всё
'post_subject' => $row['post_subject'],
Вставить после найденного
Код: Выделить всё
'seo_post_key' => (isset($row['seo_post_key'])) ? $row['seo_post_key'] : '',
Код: Выделить всё
'POST_SUBJECT' => $row['post_subject'],
Вставить после найденного
Код: Выделить всё
'SEO_POST_KEY' => $row['seo_post_key'],
Код: Выделить всё
<dl>
<dt><label for="enable_icons">{L_ENABLE_TOPIC_ICONS}:</label></dt>
<dd><label><input type="radio" class="radio" name="enable_icons" value="1"<!-- IF S_TOPIC_ICONS --> id="enable_icons" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" class="radio" name="enable_icons" value="0"<!-- IF not S_TOPIC_ICONS --> id="enable_icons" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
</dl>
Вставить после найденного
Код: Выделить всё
<dl>
<dt><label for="enable_topic_seo">{L_ENABLE_TOPIC_SEO}:</label></dt>
<dd><label><input type="radio" class="radio" name="enable_topic_seo" value="1"<!-- IF S_TOPIC_SEO --> id="enable_topic_seo" checked="checked"<!-- ENDIF --> /> {L_YES}</label>
<label><input type="radio" class="radio" name="enable_topic_seo" value="0"<!-- IF not S_TOPIC_SEO --> id="enable_topic_seo" checked="checked"<!-- ENDIF --> /> {L_NO}</label></dd>
</dl>
Код: Выделить всё
$data['topic_title'] = truncate_string($data['topic_title']);
Вставить после найденного
Код: Выделить всё
$data['seo_desc'] = truncate_string($data['seo_desc'],255,255, false);
$data['seo_key'] = truncate_string($data['seo_key'],255,255, false);
$data['seo_post_key'] = truncate_string($data['seo_post_key'],255,255, false);
$data['topic_seo_title'] = truncate_string($data['topic_seo_title'],255,255, false);
Код: Выделить всё
'post_username' => (!$user->data['is_registered']) ? $username : '',
'post_subject' => $subject,
Вставить после найденного
Код: Выделить всё
'seo_post_key' => $data['seo_post_key'],
Код: Выделить всё
'post_username' => ($username && $data['poster_id'] == ANONYMOUS) ? $username : '',
'post_subject' => $subject,
Вставить после найденного
Код: Выделить всё
'seo_post_key' => $data['seo_post_key'],
Код: Выделить всё
'topic_approved' => $post_approval,
'topic_title' => $subject,
Вставить после найденного
Код: Выделить всё
'seo_desc' => $data['seo_desc'],
'seo_key' => $data['seo_key'],
'topic_seo_title' => $data['topic_seo_title'],
Код: Выделить всё
'topic_approved' => (!$post_approval) ? 0 : $data['topic_approved'],
Вставить после найденного
Код: Выделить всё
'seo_desc' => $data['seo_desc'],
'seo_key' => $data['seo_key'],
'topic_seo_title' => $data['topic_seo_title'],
Код: Выделить всё
'enable_prune' => request_var('enable_prune', false),
Вставить после найденного
Код: Выделить всё
'enable_topic_seo' => request_var('enable_topic_seo', false),
Код: Выделить всё
'enable_prune' => false,
Вставить после найденного
Код: Выделить всё
'enable_topic_seo' => false,
Код: Выделить всё
'S_TOPIC_ICONS' => ($forum_data['enable_icons']) ? true : false,
Вставить после найденного
Код: Выделить всё
'S_TOPIC_SEO' => ($forum_data['enable_topic_seo']) ? true : false,
Код: Выделить всё
'topic_title' => (string) $row['topic_title'],
Вставить после найденного
Код: Выделить всё
'seo_desc' => (string) $row['seo_desc'],
'seo_key' => (string) $row['seo_key'],
'topic_seo_title' => (string) $row['topic_seo_title'],
Код: Выделить всё
'topic_title' => (string) $topic_row['topic_title'],
Вставить после найденного
Код: Выделить всё
'seo_desc' => (string) $row['seo_desc'],
'seo_key' => (string) $row['seo_key'],
'topic_seo_title' => (string) $row['topic_seo_title'],
Код: Выделить всё
'post_subject' => (string) $row['post_subject'],
Вставить после найденного
Код: Выделить всё
'seo_post_key' => (string) $row['seo_post_key'],
Код: Выделить всё
$subject = utf8_normalize_nfc(request_var('subject', '', true));
Вставить после найденного
Код: Выделить всё
$seo_desc = utf8_normalize_nfc(request_var('seo_desc', '', true));
$seo_key = utf8_normalize_nfc(request_var('seo_key', '', true));
$seo_post_key = utf8_normalize_nfc(request_var('seo_post_key', '', true));
$topic_seo_title = utf8_normalize_nfc(request_var('topic_seo_title', '', true));
Код: Выделить всё
split_topic($action, $topic_id, $to_forum_id, $subject);
После части строки
Код: Выделить всё
$subject
Вставить
Код: Выделить всё
, $seo_desc, $seo_key, $seo_post_key, $topic_seo_title
После завершения всех правок запускаем скрипт-инсталлятор по адресу
Код: Выделить всё
http://ваш сайт/install_topic_seo.php
Соглашаемся с установкой и нажимаем отправить. (ничего в настройках менять не надо).
После завершения инсталляции удаляем скрипт с сервера.
Чистим кэши и смотрим, что получилось.
После установки настройки задания самих ключевых слов и описания будет выводиться при создании темы, а разрешение на вывод этих полей находятся в настройках форума в админке.
Также имеются возможности управления этими полями в правах доступа.
Успехов.