"Розовая полоска" с вопросами на форуме phpBB3

Основной раздел для вебмастеров и оптимизаторов

"Розовая полоска" с вопросами на форуме phpBB3

Сообщение Alexander » 28 авг 2013, 17:36

Подскажите, пожалуйста, как реализована "розовая полоска" с различными вопросами (например, "Какие цветы у Вас самые любимые, Alexander?") на форуме http://farmerforum.ru/?
Диета ангела - меню, результаты, отзывы
Alexander
 
Сообщения: 4
Зарегистрирован: 28 авг 2013, 14:42
Откуда: Россия, Сибирь

Re: "Розовая полоска" с вопросами на форуме phpBB3

Сообщение toxic steel » 28 авг 2013, 21:58

Изменения делались на коленке :) Попробую их систематизировать на этих выходных.
toxic steel
 
Сообщения: 142
Изображения: 116
Зарегистрирован: 12 мар 2011, 00:57
Дневник: Просмотр записи (20)

Re: "Розовая полоска" с вопросами на форуме phpBB3

Сообщение Alexander » 29 авг 2013, 04:24

Насколько я понял в данной доработке применен механизм рандомного вывода различных вопросов. Быть может, в таком случае можно этот механизм "прикрутить" к моду вывода опросов на главную страницу phpBB?
Диета ангела - меню, результаты, отзывы
Alexander
 
Сообщения: 4
Зарегистрирован: 28 авг 2013, 14:42
Откуда: Россия, Сибирь

Re: "Розовая полоска" с вопросами на форуме phpBB3

Сообщение toxic steel » 30 авг 2013, 10:49

Эти вопросы никак не связаны с опросами на форуме, по сути там просто массив, хранящийся в одном из файлов локализации, из которого делается случайная выборка, и в него можно добавлять вообще всё что угодно, в том числе и ссылки на сторонние ресурсы, если необходимо, картинки, промо-бары. HTML внутри совершенно нормально интерпретируется.

Совместить эту фишку проще всего с Advertisement Management, для этого, в общем, даже делать ничего не надо, если этот мод уже стоит на форуме. Но есть один минус, из-за которого пришлось изобретать велосипед: Advertisement Management не позволяет обращаться по нику, т.е. он не интерпретирует phpBB-переменные. Можно обойти это, вставив переменную, хранящую ник, в конце или начале вывода Advertisement Management в шаблон, например так:
Код: Выделить всё
{USERNAME}, {ADS_№}

или так:
Код: Выделить всё
{ADS_№}, {USERNAME}?


Но тогда все вопросы начинались или заканчивались ником, т.е. создать конструкцию, вида
Какой дом Вы бы предпочли построить, %username%, из бруса, или из бревна?
было бы невозможно. По большому счёту, вопросов, с обращением в середине предложения, не так много, ну процентов 5-10, от общего количества. В принципе, можно обыграть эти предложения таким образом, чтобы и в начале-конце обращение к пользователю выглядело бы естественно, "по-русски".
toxic steel
 
Сообщения: 142
Изображения: 116
Зарегистрирован: 12 мар 2011, 00:57
Дневник: Просмотр записи (20)

Re: "Розовая полоска" с вопросами на форуме phpBB3

Сообщение toxic steel » 02 сен 2013, 13:04

Итак, мод PinkLine v.0.1 :)

В файле language/ru/common.php после
Код: Выделить всё
if (empty($lang) || !is_array($lang))
{
   $lang = array();
}


добавляем:
Код: Выделить всё
$x_welcome = array(
   'Здравствуйте, %s!',
   'Мы рады приветствовать Вас на нашем форуме, %s!',
   'Нам важно Ваше мнение, %s!',
);


После
Код: Выделить всё
'WELCOME_SUBJECT'   => 'Добро пожаловать на конференцию «%s»',


Добавляем:
Код: Выделить всё
'WELCOME_USER'                => $x_welcome[array_rand($x_welcome,1)],


В файле includes/functions.php после
Код: Выделить всё
'L_ONLINE_EXPLAIN'   => $l_online_time,


Добавляем:

Код: Выделить всё
'L_WELCOME_USER'    => ($user->data['is_registered']) ? sprintf($user->lang['WELCOME_USER'], $user->data['username']) : sprintf($user->lang['WELCOME_USER'], 'Гость'),


Ну а дальше в шаблоне стиля находим подходящее место, куда вставить непосредственно вывод, на farmerforum.ru это файл styles/prosilver/template/overall_header.html, в котором изменения сделаны после
Код: Выделить всё
<!-- IF not S_IS_BOT --><!--noindex-->
   <a name="start_here"></a>
<!--/noindex--><!-- ENDIF -->


Вставлен стандартный блок, который обычно используется для вывода сверху информации о правилах форума, отсюда и розовый цвет полоски :) Соответственно, оформление можно поменять на свой вкус.

Код: Выделить всё
   <div class="rules">
       <div class="inner" style="text-align: center; font-size: 110%;">
       <span class="corners-top"><span></span></span>
      
        {L_WELCOME_USER}
         
       <span class="corners-bottom"><span></span></span>
       </div>

   </div>


Вроде ничего не упустил, но на всякий случай, всё-таки сделайте бэкапы изменяемых файликов :) Ну и, естественно, файлы необходимо сохранять в кодировке UTF-8 (без BOM), а после всех правок не лишним будет почистить кэш :)

Соответственно, изменения коснуться только русскоязычных пользователей, чтобы англоязычным пользователям показывалось всё то же самое, необходимо внести изменения и в файл language/en/common.php

Буду признателен за фидбек (всё ли работает как надо и т.п.) и за идеи по улучшайзингу :)
toxic steel
 
Сообщения: 142
Изображения: 116
Зарегистрирован: 12 мар 2011, 00:57
Дневник: Просмотр записи (20)

Re: "Розовая полоска" с вопросами на форуме phpBB3

Сообщение Alexander » 03 сен 2013, 20:20

toxic steel писал(а):добавляем:
Код: Выделить всё
 $x_welcome = array(
       'Здравствуйте, %s!',
       'Мы рады приветствовать Вас на нашем форуме, %s!',
       'Нам важно Ваше мнение, %s!',
    );


А ссылки на темы как оформляются? И вообще здесь же - в language/ru/common.php? Т.е. при необходимости расширить количество ссылок нужно вносить изменения в этот файл?

toxic steel писал(а):на farmerforum.ru это файл styles/prosilver/template/overall_header.html

Для гостей на farmerforum.ru кажется вставлено во viewtopic_body.html.
Диета ангела - меню, результаты, отзывы
Alexander
 
Сообщения: 4
Зарегистрирован: 28 авг 2013, 14:42
Откуда: Россия, Сибирь

Re: "Розовая полоска" с вопросами на форуме phpBB3

Сообщение toxic steel » 04 сен 2013, 08:48

А ссылки на темы как оформляются?

Обычный HTML, т.е. прямо вот так:

$x_welcome = array(
'<a href="ссылка №1">Посмотрите вот эту тему</a>, %s!',
'<a href="ссылка №2">А вот эту тему Вы видели</a>, %s?',
'Нам важно Ваше мнение, %s!',
);

И вообще здесь же - в language/ru/common.php? Т.е. при необходимости расширить количество ссылок нужно вносить изменения в этот файл?

Да, чтобы изменить набор вопросов, нужно руками сделать это прямо в файле.

Для гостей на farmerforum.ru кажется вставлено во viewtopic_body.html.

Да, для гостей сделан вывод сразу под тему, я просто не стал усложнять описание лишними условными конструкциями, ограничившись фразой "в шаблоне стиля находим подходящее место" :)

Как разделить вывод на гостей, ботов и зарегистрированных пользователей кратко описано здесь.
toxic steel
 
Сообщения: 142
Изображения: 116
Зарегистрирован: 12 мар 2011, 00:57
Дневник: Просмотр записи (20)



Вернуться в Общий форум

Кто сейчас на конференции

Зарегистрированные пользователи: Google [Bot]

cron