Страница 33 из 34

Добавлено: 13.05.2008 16:29
Front
Ребят, подскажите..
У меня тоже проблема с выводом windows-1251 на страницу с utf-8.
Это сообщение видел
http://www.phpbb-guru.net/community/vie ... 5720#65720
но у меня нет строки
'USERNAME' => $row['username'],

Методом аналогии и тыка пробовал менять строку
$topic_title = $row['topic_title'];
на
$topic_title = iconv("Windows-1251", "UTF-8", $row['topic_title']);

Получается такой глюк:
"Знаки внимания" на до�…
Ботик Петра по дороге в Пер�…
т.е. если последнее слово обрезается - лезет кракозябыр.

Другие варианты из этой темы, в т.ч. редактирование .htaccess дает то что вобще ничего не выводится, т.е. пустота.

Как сделать правильно?

Добавлено спустя 2 часа 46 секунд:

Решил временно проблему кракозябра в конце установкой 100 знаков в строке:
$cfg_max_topic_length = 100;
Выглядит вроде все правильно.
И всеже меня беспокоит, почему у всех есть строка
'USERNAME' => $row['username'],
а у меня нет. Где я ступил? :?

Добавлено спустя 8 минут 4 секунды:


Теперь в Опере страница глючит! А было все наоборот, в Опере нормально, а в IE квардратики.

Теперь в Опере (если стоит автоопределение кодировки) выглядит так:
Последнее с форума
Давайте поиграем! Ассоциации.
Отказники
Машина «бьется» током
Если принудительно поставить в UTF-8, то нормально.
Куда копать?

В хидере стоит
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Добавлено спустя 1 час 16 минут 42 секунды:

Решил проблему, всем ответившим спасибо :D
Все вышенаписанное, плюс в .htaccess добавил
<files recent.php>
AddDefaultCharset utf-8
</files>
Все, файл recent.php выдается в браузер в UTF-8

Добавлено: 15.05.2008 17:15
inplan
А можно сделать так, что бы темы выводились не списком, а в бегущей строке? Придает некоторую динамику сайтам

Добавлено: 15.05.2008 17:20
Поручик
Можно. Пример работы и кода взять с ezportal или банальный html.

Добавлено: 15.05.2008 17:26
inplan
Поручик писал(а):Можно. Пример работы и кода взять с ezportal или банальный html.
- благодарю, подумывал над этим - показалось не целесообразным превращать форум в портал только ради бегущей строки

Кроме того, в моде Recent Topics можно было бы реализовать выбор вывода - список или бегущая строка - некоторым моим сайтам-партнерам удобен список, другим - бегущая строка. Но это уже закидоны - буду признателен за подсказку хотя бы в отношении бегущей строки

Re: Recent Topics

Добавлено: 19.05.2008 12:33
VVVas
Уберите из шаблона переносы строки и оберните в тег бегущей строки.

Re:

Добавлено: 21.05.2008 11:13
nordfox
inplan писал(а):А можно сделать так, что бы темы выводились не списком, а в бегущей строке? Придает некоторую динамику сайтам
Посмотри как на моем форуме. адрес в профиле. там все просто, как в танке.

Re: Recent Topics

Добавлено: 21.05.2008 13:55
inplan
Действительно просто ... хорошо, а еще вопрос:

в списке затронутых тем, выдаваемым recent topics, отсутствуют темы, созданные в разделе, доступ к которому имеет не все пользователи, а только пользователи определенной группы. Понятно излогаю? То есть, я создаю раздел и устанавливаю права просмотра на него только для определенной группы пользователей - вот темы этого раздела и не отображаются в списке recent topics - а надо что бы отображались. Подскажите плиз

Re: Recent Topics

Добавлено: 21.05.2008 16:48
nordfox
inplan писал(а):Действительно просто ... хорошо, а еще вопрос:

в списке затронутых тем, выдаваемым recent topics, отсутствуют темы, созданные в разделе, доступ к которому имеет не все пользователи, а только пользователи определенной группы. Понятно излогаю? То есть, я создаю раздел и устанавливаю права просмотра на него только для определенной группы пользователей - вот темы этого раздела и не отображаются в списке recent topics - а надо что бы отображались. Подскажите плиз
Тема уже поднималась на форуме. Я решал заменой AUTH_ALL <=> AUTH_REG в тексте запроса к базе. Да и вообще, если запрос покрутить, то можно что угодно вывести. Только с умом надо крутить.

Re: Recent Topics

Добавлено: 21.05.2008 18:49
inplan
Тема уже поднималась на форуме. Я решал заменой AUTH_ALL <=> AUTH_REG в тексте запроса к базе. Да и вообще, если запрос покрутить, то можно что угодно вывести. Только с умом надо крутить.
- не врубился - заменить

AND f.auth_read = " . AUTH_ALL . "

на

AND f.auth_read = " . AUTH_REG . "

Извини - с php не в ладах

Re: Recent Topics

Добавлено: 22.05.2008 14:09
nordfox
да

Re: Recent Topics

Добавлено: 24.05.2008 18:25
inplan
Это не помогло - помогло простое удаление строки AND f.auth_read = " . AUTH_ALL . "

Re: Recent Topics

Добавлено: 26.05.2008 10:18
nordfox
inplan
с точки зрения MySQL - правильно, с точки зрения форума - не совсем корректно.

Re: Recent Topics

Добавлено: 09.10.2008 11:46
Сильва Гауэн
Читала тему весь день.

Как сделать, чтобы на странице помимо названий-ссылок на темы-объявления отображалось еще и время создания тем - догадалась.

А вот как заставить выводить под названиями тем первые N символов сообщения - не могу сделать.

Конкретно - не могу правильно сформулировать sql-запрос...

Может кто-нибудь дословно привести необходимые изменения, которые надо произвести?

Re: Recent Topics

Добавлено: 11.10.2008 17:21
Сильва Гауэн
Так... проблему решила самостоятельно. Описываю, как я это проделала.

Для вставки даты и времени создания темы:

Код: Выделить всё

# 
#-----[ OPEN ]------------------------------------------------ 
# 
recent.php

# 
#-----[ FIND ]------------------------------------------------ 
#

$sql = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id

# 
#-----[IN-LINE, AFTER, ADD ]------------------------------------------ 
#
, t.topic_time

# 
#-----[ FIND ]------------------------------------------------ 
#
$topic_title = ( strlen($topic_title) > $cfg_max_topic_length ) ? substr($topic_title, 0, $cfg_max_topic_length) . '&hellip;' : $topic_title;

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
 $post_date = create_date('d F Y, l, H:i', $row['topic_time'], $board_config['board_timezone']);

# 
#-----[ FIND ]------------------------------------------------ 
#
'U_TOPIC' => $viewtopic_url . '?' . POST_TOPIC_URL . '=' . $row['topic_id'],

# 
#-----[ BEFORE, ADD ]----------------------------------------- 
#
 'POST_DATE' => $post_date,

# 
#-----[ OPEN ]------------------------------------------------ 
# 
recent_body.tpl

# 
#-----[ FIND ]------------------------------------------------ 
#
document.writeln('

# 
#-----[IN-LINE, AFTER, ADD ]------------------------------------------ 
#
{topicrow.POST_DATE}<br>

# 
#-----[ SAVE/CLOSE ALL FILES ]-------------------------------- 
# 
Для вставки вывода первого сообщения темы:
(вывод сообщения настраивался после настройки вывода даты\времени, поэтому пишу проделанные изменения с учетом этого факта)

Код: Выделить всё

# 
#-----[ OPEN ]------------------------------------------------ 
# 
recent.php

# 
#-----[ FIND ]------------------------------------------------ 
#

$sql = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.topic_time

# 
#-----[IN-LINE, AFTER, ADD ]------------------------------------------ 
#
, q.post_text

# 
#-----[ FIND ]------------------------------------------------ 
#
AND p.post_id = t.topic_last_post_id


# 
#-----[AFTER, ADD ]------------------------------------------ 
#
AND q.post_id = p.post_id

# 
#-----[ FIND ]------------------------------------------------ 
#
$template->assign_block_vars('topicrow', array(

# 
#-----[ BEFORE, ADD ]------------------------------------------ 
#
 $message = $row['post_text'];

# 
#-----[ FIND ]------------------------------------------------ 
#
'U_TOPIC' => $viewtopic_url . '?' . POST_TOPIC_URL . '=' . $row['topic_id'],

# 
#-----[ AFTER, ADD ]----------------------------------------- 
#
 'POST_TEXT' => str_replace("'", "\'", $message),

# 
#-----[ OPEN ]------------------------------------------------ 
# 
recent_body.tpl

# 
#-----[ FIND ]------------------------------------------------ 
#
{topicrow.TOPIC_TITLE}</a><br />

# 
#-----[IN-LINE, AFTER, ADD ]------------------------------------------ 
#
{topicrow.POST_TEXT}<br />

# 
#-----[ SAVE/CLOSE ALL FILES ]-------------------------------- 
# 
В общем, это мои потуги действовать в той сфере, в которой ничего не знаю - РНР я не владею совершенно... Было бы интересно услышать комментарии профессионалов. Постаралась оформить пост красиво, если что-то не так, прошу сильно не бить - исправлю...

Добавлено спустя 24 минуты 58 секунд:
Так... выяснилось после добавления еще одного сообщения в тему с объявлением, что показывает не ПЕРВОЕ, а ПОСЛЕДНЕЕ сообщение в теме...

Буду думать.

Re: Recent Topics

Добавлено: 11.10.2008 18:47
Сильва Гауэн
Нашла.

Нужно в строчке

Код: Выделить всё

$sql = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.topic_time
дописать

Код: Выделить всё

$sql = "SELECT t.topic_id, t.topic_title, t.topic_last_post_id, t.topic_first_post_id, t.topic_time
а строчку

Код: Выделить всё

AND p.post_id = t.topic_last_post_id
заменить на

Код: Выделить всё

AND p.post_id = t.topic_first_post_id
Тогда будет выводить ПЕРВОЕ сообщение, а не ПОСЛЕДНЕЕ...