+0.22
Рейтинг
0.67
Сила

Павел

MySearch - добавим капельку релевантности

В версии 1.1.29 добавлен некий элемент релевантности. Например, есть такие топики (перечислены в порядке их создания):

1. В тексте встречается слово «мама».
2. В тексте встречается фраза «мама мыла раму».
3. В тексте есть слова «мама», «рама».
4. И в тексте, и в заголовке встречается фраза «мама мыла раму».
5. В тексте встречается слово «рама».


Задаем поиск «мама мыла рам*».
В результатах топики будут выданы в таком порядке: 4, 2, 1, 3, 5

Т.е. максимальный вес имеют топики, в которых искомая фраза целиком встречается и в заголовке, и в тексте (если это поиск в топиках), потом те, где фраза целиком встречается в тексте, потом те, где встречается хотя бы одно из слов искомой фразы.

Модуль скачивать здесь: livestreet.ru/addons/74/

UPD По заявкам пользователей в версии 1.1.31 добавлен поиск по блогам — в названиях и описаниях блогов

Многоязычный сайт на базе ЛС - продолжение

Как и прежде, модуль многоязычной поддержки входит в пакет модуля Админпанель. Но в версии 1.2.98 была сделана одна небольшая доработка, немного облегчающая жизнь тем, кого эта тема (многоязычные сайты на базе ЛС) интересует.

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

Как это сделать? Открываем файл /config/modules/language/config.php и задаем параметр:
define('LANG_SAVE_DAYS', 365);
Число указывает, сколько дней будет храниться выбранный язык.

И еще один вопрос часто задают: а как сделать выбор языка? Мне казалось, что я достаточно подробно об этом писал здесь: livestreet.ru/blog/2109.html. Но, видимо, нужен конкретный пример, как организовать «мультиязычность». Поэтому вот вам пример на базе скина new.
1. Открываем шаблон header_nav.tpl
2. Находим форму поиска
<div class="search">
  <form action="{$DIR_WEB_ROOT}/{$ROUTE_PAGE_SEARCH}/topics/" method="GET">
    <input class="text" type="text" onblur="if (!value) value=defaultValue" onclick="if (value==defaultValue) value=''" value="{$aLang.search}" name="q" />
    <input class="button" type="submit" value="" />
  </form>
</div>

3. После закрывающего тега </form> вставляем такой код:
<!-- +++ Language settings +++ -->
<div class="language" style="position: relative; top: -30px; ">
  <a href="{$DIR_WEB_ROOT}/language/russian"><img src="{$DIR_STATIC_ROOT}/templates/language/flags/ru.png" alt="Russian" title="Russian" /></a>
  <a href="{$DIR_WEB_ROOT}/language/english"><img src="{$DIR_STATIC_ROOT}/templates/language/flags/gb.png" alt="English" title="English" /></a>
</div>
<!-- --- Language settings --- -->

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

ЗЫ Прошу гуру за говнокод не пинать, т.к. это всего лишь пример. Хотя и вполне рабочий. :)

ЗЗЫ А кртинки с флажочками, нужными для работы примера реально лежат в папке /templates/language/flags/

Хак, скрытые комментарии, [инструкция]

Для примера будем добавлять возможность скрывать в комментарии в Топики:

Первое (БД):
В таблицу {prefix}_topic вставляем строку с параметрами —
`topic_publish_comments` tinyint(1) NOT NULL DEFAULT '0',
для ленивых
ALTER TABLE `prefix_topic` ADD `topic_publish_comments2` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `topic_publish_index`
.

Второе(Скрипты):

Читать дальше →

Автосохранение черновика при создании записи

Уверен, из названия топика ясно чем мы будем заниматься. Для того, чтобы цель выглядела «материальнее»:

Скриншоты:
Автосохранение запрещено

Автосохранение разрешено

Сообщение об успешности или ошибке — стандартный Notice в правом верхнем углу.
Реализация.


Читать дальше →

Модернизация профиля. Часть 2. Облако интересов

Буквально на прошлой неделе доделал облако интересов.
Суть облака интересов, показывать теги, в которых пользователь заинтересован. То есть, либо теги, которыми он маркирует свои посты (ну а кто из вас пишет о неинтересном? :)), либо теги постов, который пользователь добавляет в «избранное».

Читать дальше →

Люди — Отделение пользователей от администраторов (модификация)

Иногда бывает очень полезным отделить мух от котлет, то есть пользователей от администраторов. Поскольку Livestreet выделяет зарегистрированных участников с положительной и отрицательной «кармой», то я решил взяться за написание небольшой модификации (здесь не нашёл). Делюсь со всеми. Вдруг кому пригодится?
Читать дальше →

Модернизация профиля: Часть 1. Скрываем профиль от посторонних

в процессе модернизации своего профиля реализовал несколько фишечек.
По заявка фишка номер раз: Скрываем профиль от посторонних глаз.

Читать дальше →