Как видно из сообщений форума для многих интересена возможность изменения внешнего вида новостей и некоторых других разделов портала, как то - перенос или просто удаление некоторой информации в этих разделах. В этой статье мы с этим и попробуем разобраться. Для наиболее полного понимания всего описанного необходимо иметь достаточное знание html - построение таблиц и размещение контента, ну и минимальное знание php - только для того чтобы не путать php c html :)
Файл с которым мы будем работать.
В основном для изменения внешнего вида и редактирования расположения основных пунктов нам придется редактировать файл theme.php, он находится в themes/директория темы которую использует ваш портал/. Например если вы используете скин EXRU то файл theme.php можно найти по такому пути: themes/EXRU/theme.php
Также дополнительно возможно использовать директорию themes/директория темы которую использует ваш портал/images/ например для EXRU путь themes/EXRU/images/ Эта директория используется для хранения изображений которые используются в вашем скине.
Возникает вопрос как в тему вставлять изображения, допустим у нас есть желание вставить перед заголовком новости стрелку, смешную рожицу и так далее на любителя. Для этого помещаем наш файл в директорию images, а затем подключаем его в скине через php таким кодом:
Есть и альтернативные варианты подключения картинок как например указание прямого пути на картинку или использование прямой ссылки на XOOPS_URL но это скорее для так называемых hardcore_coders :) , а нам бы чего попроще. Вобщем при помощи способа описаного выше можно легко добавлять свою картинку в скин и затем не получать проблем при переносе хостинга, смены адреса и тому подобного.
Итак что необходимо сделать перед тем как начать потрошить этот файлик? Правильно! Создать резервную копию файла theme.php скина вашего портала для того чтобы избежать потерь после неправильного редактирования. :)
Редактирование формы новостей.
Для начала определимся с том что содержится в нашей форме:
В самом верху соответственно наш заголовок, далее имя отправителя новости, дата когда новость опубликованна, колличество человек прочитавших данную новость. Еще ниже располагается само модержание новости, картинка темы новости и наконец в самом низу опции администратора а за ними опции при помощи которых пользователь может прочитать статью дальше, если такая возможность присутствет и комментарии.
Все это можно отредактировать по своему жеанию, изменить местоположение данных пунктов, поставить заголовок снизу, комментарии сверху :) Или ввести свой дизайн для отображения новости - это уже если знаний в html хваит.
Наши действия: открыть файл theme.php скина который используется на сайте (если вы не знали - их бывает несколько, поэто тут важно не перепутать ) и найти строку Function themenews(). Затем опускаемся чуть-чуть ниже и видим <!-- HTML CODE --> С данной строки и начинается форма которую нам необходимо отредактировать. Форма представляет из себя простую таблицу в html формате в которую вставленны куски php кода которые отвечают за отображение информации. Что за что овечает каждый попорядку:
<?php echo $title;?> - Заголовок новости или статьи.
<?php echo _TH_POSTEDBY;?> - Вывод "Отправил:"
<?php echo $poster;?> - Вывод имени отправителя данной статьи.
<?php echo _TH_ON;?> - Вывод "Дата публикации:"
<?php echo $time;?> - Вывод времени отправления статьи.
<?php echo $morelink;?> - Вывод ссылки "Далее" для комментариев и чтения статьи целиком.
Данные куски кода можно переносить и удалять для смены положения необходимой информации. Основное - нельзя их менять, иначе пойдут ошибки.
Принцип действий простой - выделил необходимый кусок кода в рамках <?php код ;?> перенес (или удалил) куда тебе надо, там и оставил, во всем же остальном чистый html и css - который может ипользоваться.
На ум приходит сравнение - просто представте что эти куски php кода в рамках <?php код ;?> как изображения, вот и раставляйте их как вам необходимо :)
Редактирование комментариев и сообщений форума.
А вот такой может быть внешний вид комментариев/сообщений форума. Что там у нас есть?
Для начала - имя пользователя, картинка ранга, сам ранг, аватар пользователя, дата регистрации, колличество сообщений, информация откуда пользователь, индикатор на сайте ли пользователь, дата отправления сообщения.
Второй столбец таблицы: Название сообщения, кнопки отображения ip адреса, удаленя, редактирования и ответ на сообщение. Текс сообщения пользователя, ну и в самом низу информация по контактным данным пользователя, ссылка на профайл, приватные сообщения и так далее.
Для редактирования в файле theme.php найти строку содержащую theme_post() спуститься ниже до <!-- HTML CODE --> или начала таблиц html.
Способ редактирования данной формы точно такой же как и в случае с формой новостей. Тоесть изменяем как хотим таблицу, меняем расположение кусков php кода, сам же код php оставляем нетронутым. Далее описание за что отвечает каждый код php в этой форме:
<?php echo $bg2;?> и <?php echo $bg1;?> - Так задается цвет заднего фона в наших сообщениях на портале. Он меняется автоматически по ходу добавления новостей поэтому лучше всего использовать его чтобы сообщения не были одинаковыми.
<?php echo $username;?> - Вывод имени пользователя на портале.
<?php echo $subject_image;?> - Вывод иконки сообщения, которую может выбирать пользователь.
<?php echo $subject;?> - Вывод темы сообщения пользователя.
<?php echo $rank_image;?> - Вывод изображения ранга пользователя.
<?php echo $rank_title;?> - Вывод названия ранга пользователя(в виде текста).
<?php echo $user_from;?> - Вывод откуда пользователь.
<?php echo $online_image;?> - Вывод индикатора на сайте ли пользователь.
<?php echo $ip_image;?> <?php echo $delete_image;?> <?php echo $edit_image;?> <?php echo $reply_image;?> - Кнопки "ip", "удалить", "редактировать", "ответить". Порядок кнопок и их расположение можно менять, главное не менять что что в скобках <?php тут не менять! ;?> - свел вместе для уменьшения размера статьи :)
<?php echo $profile_image;?> <?php echo $pm_image;?> <?php echo $email_image;?> <?php echo $www_image;?> <?php echo $icq_image;?> <?php echo $aim_image;?> <?php echo $yim_image;?> <?php echo $msnm_image;?> - Вывод информации по профайлу, личным сообщениям, домашней страницы пользователя и так далее. Порядок кнопок и их расположение можно менять, главное не менять что что в скобках <?php тут не менять! ;?> - свел вместе для уменьшения размера статьи :)
Заключительная.
Так как я человек немного ленивый то мне возится с обдумыванием html кода и перетаскиванием всего туда-сюда ручками в блокноте :) неохота, то я использую просто редактор html, любой, и просто вырезаем код из theme.php в рамках <!-- HTML CODE --> вставлем эти таблицы в редактор, к коду php, как я уже говорил, можно отноститься как аля простые картинки. Ну и редактируем там себе... Все... Как вставлять картинки в формы для создания своих неповторимых темплейтов описанно выше.
Тут множество возможностей для эксперементирования. Удачи.
PS: В статье в качестве примера использовался скин EXRU, в других скинах пояснения в теме аля <!-- HTML CODE --> могут отсутствовать, но общие принципы и названия основных используемых php переменных будут всегда одни те же поэтому разобраться будет не сложно.
Re: Внешний вид новостей, комментариев, и сообщений форума.
да уж помнится мне я тоже решил от этого избавиться.. поудалял куски кода (правда не помню в каком файле) а он мне стал ошибки писать... вот так вот... спасибо за статейку - познавательная!!!
» 4.4.04 01:01
Гость
Re: Внешний вид новостей, комментариев, и сообщений форума.
Редактирование комментариев и сообщений форума. Написано
"Для редактирования в файле theme.php найти строку содержащую theme_post() спуститься ниже до или начала таблиц html."
но проблема в том, что theme_post() в theme.php просто нет! Как же тогда редактировать?