Хочу картинку вместо количества сообщений

Автор Maria-Us, 24 марта 2011, 22:06:45

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Maria-Us

Взгляните на скрин ниже. При входе на форум открывается главная страница. Предпоследняя колонка справа показывает количество сообщений и тем каждого раздела. Я задалась целью вместо этих счетчиков сообщений и тем вставить картинки (одну и ту же картинку), как на скрине-2 (только чистую картинку, без текста). На Файербаге четко видно - где это. В исходном коде страницы - тоже. А вот раскрывая файлы через админку, не могу понять - где это? Скорее всего в темплэйтном борде. Но где? Как сделать так, чтобы эта колонка запрашивала картинку, а не счетчики?
Подскажет кто бестолковой?

0daliska

На примере ./Themes/default/BoardIndex.template.php
Вот этот код выводит эту среднюю колонку:
// Show some basic information about the number of posts, etc.
echo '
</td>
<td class="stats windowbg">
<p>', comma_format($board['posts']), ' ', $board['is_redirect'] ? $txt['redirects'] : $txt['posts'], ' <br />
', $board['is_redirect'] ? '' : comma_format($board['topics']) . ' ' . $txt['board_topics'], '
</p>
</td>
<td class="lastpost">';

Если в ней заменить на вот такой вариант:
// Show some basic information about the number of posts, etc.
echo '
</td>
<td class="stats windowbg">
<img src="', $settings['images_url'], '/my_pictures.jpg" alt="" title="" />
</td>
<td class="lastpost">';

а в папку темы оформления темы оформления откуда тема берет картинки (по умолчанию  ./Themes/default/images/) положить файл картинки my_pictures.jpg, то вы получите желаемое..
И подобную процедуру проделаем и в MessageIndex.template.php
также на примере дефолтной темы:
// Show some basic information about the number of posts, etc.
echo '
</td>
<td class="stats windowbg">
<p>', comma_format($board['posts']), ' ', $board['is_redirect'] ? $txt['redirects'] : $txt['posts'], ' <br />
', $board['is_redirect'] ? '' : comma_format($board['topics']) . ' ' . $txt['board_topics'], '
</p>
</td>
<td class="lastpost">';

заменив на:
// Show some basic information about the number of posts, etc.
echo '
</td>
<td class="stats windowbg">
<img src="', $settings['images_url'], '/my_pictures.jpg" alt="" title="" />
</td>
<td class="lastpost">';

Чистим кэш форума, и смотрим результат...
Не забываем перед внесением изменений - сохранять копии файлов для отката в случае ошибок... :)
Код приведен для SMF2.0 RC4
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Maria-Us

Огромное спасибо, Odaliska!
Сегодня же начну эксперименты. О результатах сообщу непременно.

Maria-Us

Замечательно! Все получилось так, как я и хотела. По-доброму завидую Вашим знаниям, Odaliska. Мне до таких еще очень далеко. Еще раз большое спасибо за участие и добрый совет.

0daliska

Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Maria-Us

Уважаемая Odaliska! Хочу еще раз побеспокоить Вас просьбой: на главной странице в правой колонке высвечивается дата и время последнего ответа. Как бы эту дату и время убрать, но только на главной странице?
Буду очень признательна за совет!

0daliska

Цитата: Maria-Us от 27 марта 2011, 00:37:16
Уважаемая Odaliska! Хочу еще раз побеспокоить Вас просьбой: на главной странице в правой колонке высвечивается дата и время последнего ответа. Как бы эту дату и время убрать, но только на главной странице?
Буду очень признательна за совет!
В файле BoardIndex.template.php находите:
/* The board's and children's 'last_post's have:
time, timestamp (a number that represents the time.), id (of the post), topic (topic id.),
link, href, subject, start (where they should go for the first unread post.),
and member. (which has id, name, link, href, username in it.) */
if (!empty($board['last_post']['id']))
echo '
<p><strong>', $txt['last_post'], '</strong>  ', $txt['by'], ' ', $board['last_post']['member']['link'] , '<br />
', $txt['in'], ' ', $board['last_post']['link'], '<br />
', $txt['on'], ' ', $board['last_post']['time'],'
</p>';
echo '
</td>
</tr>';

заменяете на:
/* The board's and children's 'last_post's have:
time, timestamp (a number that represents the time.), id (of the post), topic (topic id.),
link, href, subject, start (where they should go for the first unread post.),
and member. (which has id, name, link, href, username in it.) */
if (!empty($board['last_post']['id']))
echo '
<p><strong>', $txt['last_post'], '</strong>  ', $txt['by'], ' ', $board['last_post']['member']['link'] , '<br />
', $txt['in'], ' ', $board['last_post']['link'], '
</p>';
echo '
</td>
</tr>';

чистите кэш форума и смотрите...
Не забывайте сохранять копию файла, который правите
Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

Maria-Us

Не знаю как и благодарить Вас, Уважаемая Odaliska! Вот именно по таким советам и начинаешь понимать PHP лучше и больше, чем по всяким самоучителям.
Большущее Вам спасибо! Все получилось именно так, как и хотелось бы в идеальном варианте.
СПАСИБО!

Inter

ЦитироватьВот именно по таким советам и начинаешь понимать PHP лучше и больше, чем по всяким самоучителям.

и не говорите, как я вас понимаю  :)
I'm the law and you can't beat the law

|censored| 'em and their law

Crack down at sundown