Forum. MyNuke.ru

Forum. MyNuke.ru (http://forum.mynuke.ru/index.php)
-   Установка Блоков (http://forum.mynuke.ru/forumdisplay.php?f=9)
-   -   заголовки в блоках (http://forum.mynuke.ru/showthread.php?t=2566)

Omek 04.02.2007 14:01

заголовки в блоках
 
Здравствуйте, сейчас сел заменять в блоках английские названия на русские и столкнулся с такой проблемой:
Допустим, при попытке заменить

$content .= ""._YOUHAVE." <a href=\"modules.php?name=Private_Messages\"><b>$numrow</b></a> "._PRIVATEMSG."";

на

$content .= "".У Вас." <a href=\"modules.php?name=Private_Messages\"><b>$numrow</b></a> ".сообщений."";

происходит что-то плохое (как я понимаю - разрыв кода), после чего отрубается половина сайта, ошибка, как я понял находится в том, что "У вас" написано в 2 слова, так как при значении "У_Вас" всё работает нормально.

Вопрос такой - что я делаю не так, или как тогда прописывается пробел (просто по старым школьным знаниям программирования - действие в ковычках всегда считалось единым и не влияло на разрыв кода)

Astrix 04.02.2007 14:19

Попробуй вот так:

$content .= "У Вас <a href=\"modules.php?name=Private_Messages\"><b>$numrow</b></a> сообщений";

Так как ты вставляешь обычный текст, а не переменную или константу, не нужно его присоединять к остальному тексту (символ "."), нужно его просто включить в этот текст.

Omek 04.02.2007 14:53

ок, спасибо, сейчас попробую.

Спасибо, помогло =)
Возник ещё 1 вопрос, возьмём тот же блок количества народа на сайте при таком состоянии, какой он есть первоначально - он смотрится не очень красиво из-за того, что прописывается

На сайте:
"Кол-во гостей" Гостей "Кол-во юзеров"
Юзеров

именно в таком порядке (в 2 строки), я методом жонглирования попытался изменить строку

$who_online = "<div align=\"center\"><span class=\"content\">"._CURRENTLY." $guest_online_num "._GUESTS." $member_online_num "._MEMBERS."<br>";

чтобы получилось

На сайте:
"Кол-во гостей" Гостей
"Кол-во юзеров" Юзеров

Но получается либо высвечивается только 1 строка, либо опять идёт какая-то синтаксическая ошибка. И меня интересует тут именно способ сдвига в блоке на новую строчку части кода, чтобы при этом не перекрывался старый, так как тем способом каким я пробовал - получалось, что считывает только последнюю команду.

Omek 04.02.2007 16:31

Ещё вопрос - при редактировании в админ панели кол-ва юзеров есть ещё какие-то _BTD: 1 - _BYD: 0

которые кодом прописываются, как:

.""._BTD.": <b>$userCount</b> - "._BYD.": <b>$userCount2</b></center>";

собственно - что это такое?

Astrix 04.02.2007 16:59

Думаю, стоит провести небольшой урок программирования. Надеюсь, он тебе поможет. Итак:

Любая строка текста заключается в двойные "" или одинарные кавычки ''.
Чтобы слепить две строки, используется символ "." (точка)
_CURRENTLY - это константа. Она и ей подобные в основном объявляются в файлах lang-язык.php
$xxx - переменная
К примеру, у нас есть несколько кусков текста:
"текст 1 "
"текст 2 "
_CONST1 = "текст 3 "
_CONST2 = "текст 4 "
$perem1 = "текст 5 "
$perem2 = "текст 6 "

Кстати, по поводу кавычек: ЛЮБАЯ переменная, заключенная в двойные кавычки "" интерперетируется не как текст, а как переменная, т. е. если у тебя есть такой кусок кода:
PHP код:
 $perem "123456";
$text "bla bla bla $perem bla bla"

То результатом операции:
PHP код:
 echo $text

Будет "bla bla bla 123456 bla bla" а не "bla bla bla $perem bla bla".
Это тоже надо учитывать!

Чтобы например получить в рзультате такую комбинацию:
"текст 1 текст 4 текст 2 текст 3 текст 6 текст 5"
Нужно в соотв порядке сложить наши строки:
PHP код:
 $text "текст 1 " _CONST1 "текст 2 " _CONST2 $pererm2 $perem1


Другой пример: "текст 1 текст 2"
Чтобы это сделать, не надо соединять два куска текста:
PHP код:
 $text "текст 1 " "текст 2"

Сделав так:
PHP код:
 $text "текст 1 текст 2"
, получишь тот же результат.

Теперь возьмем твой кусок кода:
PHP код:
 $who_online "<div align=\"center\"><span class=\"content\">"._CURRENTLY.$guest_online_num "._GUESTS.$member_online_num "._MEMBERS."<br>"


Если разбить его на части, то у нас получится:

"<div align=\"center\"><span class=\"content\">" - ну, это понятно - блочные теги
_CURRENTLY - это, я так понимаю соответствует фразе "На сайте:"
" $guest_online_num " - это переменная, в ней количество гостей
_GUESTS - тут "Гостей"
" $member_online_num " - здесь количество пользователей
_MEMBERS - "Юзеров"
"<br>" - перенос строки

Нам надо перенести строчку
""Кол-во юзеров" Юзеров"
вниз. Если ты хоть что-нить понимаешь в HTML, то знаешь что для этого нужно после фразы ""Кол-во гостей" Гостей" вставить тег <br>, что я сейчас и сделаю. Вот результат:
PHP код:
 $who_online "<div align=\"center\"><span class=\"content\">"._CURRENTLY.$guest_online_num "._GUESTS."<br> $member_online_num "._MEMBERS."<br>"

Сравни с исходником. Надеюсь, ты что-нить понял из моих изъяснений и сможешь сделать так, как тебе нужно.

Цитата: Сообщение от Omek
Ещё вопрос - при редактировании в админ панели кол-ва юзеров есть ещё какие-то _BTD: 1 - _BYD: 0

которые кодом прописываются, как:

.""._BTD.": <b>$userCount</b> - "._BYD.": <b>$userCount2</b></center>";

собственно - что это такое?


Всю строчку напиши. А так мало что понятно

Omek 04.02.2007 17:11

Спасибо огромное =) *Сидит - вникает*

А строка:

list($userCount) = $db->sql_fetchrow($db->sql_query("SELECT COUNT(user_id) AS userCount from ".$user_prefix."_users WHERE user_regdate LIKE '$curDate2'"));
list($userCount2) = $db->sql_fetchrow($db->sql_query("SELECT COUNT(user_id) AS userCount FROM ".$user_prefix."_users WHERE user_regdate LIKE '$curDateP'"));
echo "<center>$who_online<br>"
.""._BTD.": <b>$userCount</b> - "._BYD.": <b>$userCount2</b></center>";

Astrix 04.02.2007 17:22

Хм... я ниче не понял, что это значит. Одно могу сказать, что тут отображаются количества юзеров, зарегенных на момент $curDate2 и $curDateP
че значат _BTD и _BYD, я не знаю... но щас глянуть попробую...

ВО! Нашел!

PHP код:
 define("_BTD","Сегодня");
define("_BYD","Вчера"); 

Кооче, думаю, ты понял, что к чему...

Omek 04.02.2007 17:28

всё сделал и разобрался, пасиб за урок огромное =)

угу, теперь понял, пасиба =)

Omek 05.02.2007 01:06

Ещё возникла пара вопросов.

1) в блоке Survey (опросы) в комментариях вылезает немного код (т.е. не мешало бы перевести), так вот - комментарии идут отдельным блоком, или же к ним надо как-то подлезать из самого опроса, просто сколько не копался - не нашёл.

2) при открытии Journal и Private Messages все русские буквы на сайте резко заменяются на код йц&#1091... и на Êîììåíòàðèè... какая тут может быть причина?

Astrix 05.02.2007 01:21

Цитата: Сообщение от Omek
Ещё возникла пара вопросов.

1) в блоке Survey (опросы) в комментариях вылезает немного код (т.е. не мешало бы перевести), так вот - комментарии идут отдельным блоком, или же к ним надо как-то подлезать из самого опроса, просто сколько не копался - не нашёл.

2) при открытии Journal и Private Messages все русские буквы на сайте резко заменяются на код йц&#1091... и на Êîììåíòàðèè... какая тут может быть причина?


По поводу первого пункта советую поставить для начала модуль Voting - он менее требователен к ресурсам, нежели чем стандартный. Его можно на rus-phpnuke.com скачать.

А по поводу второго - даже и не знаю. Что-то с кодировками. Попробуй куки почистить. Честно говоря, на моем веку такого не было. Либо сайт глючил весь, либо все нормально работало. А по отдельности - не сталкивался....


Часовой пояс GMT +4, время: 03:14.

Copyright © 2005 by Soniks